GNU Shepherd 0.7 ์ดˆ๊ธฐํ™” ์‹œ์Šคํ…œ ์ถœ์‹œ

์‚ฌ์šฉ ๊ฐ€๋Šฅ ์„œ๋น„์Šค ๋งค๋‹ˆ์ € GNU ์…ฐํผ๋“œ 0.7 (์ „ DMD)๋Š” SysV-init ์ดˆ๊ธฐํ™” ์‹œ์Šคํ…œ์— ๋Œ€ํ•œ ์ข…์†์„ฑ ์ธ์‹ ๋Œ€์•ˆ์œผ๋กœ GNU Guix ์‹œ์Šคํ…œ ๋ฐฐํฌํŒ ๊ฐœ๋ฐœ์ž๊ฐ€ ๊ฐœ๋ฐœํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. Shepherd ์ œ์–ด ๋ฐ๋ชฌ๊ณผ ์œ ํ‹ธ๋ฆฌํ‹ฐ๋Š” Guile ์–ธ์–ด(Scheme ์–ธ์–ด ๊ตฌํ˜„ ์ค‘ ํ•˜๋‚˜)๋กœ ์ž‘์„ฑ๋˜์—ˆ์œผ๋ฉฐ ์„œ๋น„์Šค ์‹œ์ž‘์„ ์œ„ํ•œ ์„ค์ • ๋ฐ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์ •์˜ํ•˜๋Š” ๋ฐ์—๋„ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. Shepherd๋Š” ์ด๋ฏธ GuixSD GNU/Linux ๋ฐฐํฌํŒ์—์„œ ์‚ฌ์šฉ๋˜๊ณ  ์žˆ์œผ๋ฉฐ GNU/Hurd์—์„œ๋„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•œ ๊ฒƒ์ด์ง€๋งŒ Guile ์–ธ์–ด๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  POSIX ํ˜ธํ™˜ OS์—์„œ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Shepherd๋Š” ๊ธฐ๋ณธ ์ดˆ๊ธฐํ™” ์‹œ์Šคํ…œ(PID 1๋กœ ์ดˆ๊ธฐํ™”)๊ณผ ๋ณ„๋„์˜ ํ˜•์‹์œผ๋กœ ์‚ฌ์šฉ๋˜์–ด ๊ฐœ๋ณ„ ์‚ฌ์šฉ์ž์˜ ๋ฐฑ๊ทธ๋ผ์šด๋“œ ํ”„๋กœ์„ธ์Šค(์˜ˆ: tor, privoxy, mcron ๋“ฑ ์‹คํ–‰)๋ฅผ ๊ด€๋ฆฌํ•˜๊ณ  ๋‹ค์Œ ๊ถŒํ•œ์œผ๋กœ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์‚ฌ์šฉ์ž๋“ค. Shepherd๋Š” ์„œ๋น„์Šค ๊ฐ„์˜ ๊ด€๊ณ„๋ฅผ ๊ณ ๋ คํ•˜์—ฌ ์„œ๋น„์Šค๋ฅผ ์‹œ์ž‘ํ•˜๊ณ  ์ค‘์ง€ํ•˜๋Š” ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋ฉฐ, ์„ ํƒํ•œ ์„œ๋น„์Šค๊ฐ€ ์˜์กดํ•˜๋Š” ์„œ๋น„์Šค๋ฅผ ๋™์ ์œผ๋กœ ์‹๋ณ„ํ•˜๊ณ  ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. Shepherd๋Š” ๋˜ํ•œ ์„œ๋น„์Šค ๊ฐ„์˜ ์ถฉ๋Œ์„ ๊ฐ์ง€ํ•˜๊ณ  ๋™์‹œ์— ์‹คํ–‰๋˜๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•˜๋Š” ๊ธฐ๋Šฅ๋„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

์ฃผ์š” ํ˜์‹ :

  • ์ƒˆ๋กœ์šด ํ”„๋กœ์„ธ์Šค ์‹คํŒจ ์ฒ˜๋ฆฌ๊ธฐ๊ฐ€ ๊ตฌํ˜„๋˜์–ด PID 1์—์„œ ์ž‘์—…ํ•  ๋•Œ GNU/Linux์—์„œ ์ฝ”์–ด ๋คํ”„๊ฐ€ ์ƒ์„ฑ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ด์ œ ์„œ๋น„์Šค ๊ด€๋ฆฌ์ž๋Š” "default-environment-variables" ์„ค์ •์— ์ •์˜๋œ ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ๋‚ด๋ณด๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • "make-forkexec-constructor"๊ฐ€ ๋กœ๊ทธ ํŒŒ์ผ ์‚ญ์ œ๋ฅผ ์ค‘์ง€ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ์ด์ œ ๊ตฌ์„ฑ ํŒŒ์ผ์„ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์ „ ๋‹จ๊ณ„์—์„œ ctrl-alt-del์„ ๋ˆŒ๋Ÿฌ ์žฌ๋ถ€ํŒ…ํ•˜๋Š” ๊ฒƒ์ด ๊ธˆ์ง€๋ฉ๋‹ˆ๋‹ค.
  • ๋‹ค์Œ์— ๋งž๊ฒŒ ์กฐ์ •๋œ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์ฝ”๋“œ ๊ฐ€์ผ 3.0.0.

์ถœ์ฒ˜ : opennet.ru

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