๋ณธ๋ฌธ์œผ๋กœ ์ด๋™

runit

์œ„ํ‚ค๋ฐฑ๊ณผ, ์šฐ๋ฆฌ ๋ชจ๋‘์˜ ๋ฐฑ๊ณผ์‚ฌ์ „.

runit
์›์ €์ž๊ฒŒ๋ฆฟ ํŒŒํŽ˜
๋ฐœํ‘œ์ผ2004๋…„ 2์›” 10์ผ(22๋…„ ์ „)(2004-02-10)[1]
์•ˆ์ •ํ™” ๋ฒ„์ „
2.2.0 / 2024๋…„ 9์›” 29์ผ(22๊ฐœ์›” ์ „)(2024-09-29)[2]
ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ดC, Shell
์šด์˜ ์ฒด์ œ๋ฆฌ๋ˆ…์Šค, FreeBSD, OpenBSD, NetBSD, macOS, ์†”๋ผ๋ฆฌ์Šค
์ข…๋ฅ˜Init ๋ฐ๋ชฌ
๋ผ์ด์„ ์ŠคNew BSD License
์›น์‚ฌ์ดํŠธsmarden.org/runit/ย ์œ„ํ‚ค๋ฐ์ดํ„ฐ์—์„œ ํŽธ์ง‘ํ•˜๊ธฐ

runit์€ ์œ ๋‹‰์Šค ๊ณ„์—ด ์šด์˜์ฒด์ œ๋ฅผ ์œ„ํ•œ init ๋ฐ ์„œ๋น„์Šค ๊ด€๋ฆฌ ์ฒด๊ณ„๋กœ, ์šด์˜์ฒด์ œ ์ „๋ฐ˜์— ๊ฑธ์ณ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ดˆ๊ธฐํ™”ํ•˜๊ณ , ๊ด€๋ฆฌํ•˜๊ณ , ์ข…๋ฃŒํ•œ๋‹ค. Runit์€ ๋งŽ์€ ๋ฆฌ๋ˆ…์Šค ๊ธฐ๋ฐ˜ ์šด์˜์ฒด์ œ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ BSD, ์†”๋ผ๋ฆฌ์Šค ์šด์˜์ฒด์ œ์—์„œ๋„ ์‹คํ–‰๋˜๋Š” daemontools[3] ํ”„๋กœ์„ธ์Šค ๊ด€๋ฆฌ ๋„๊ตฌ์˜ ์žฌ๊ตฌํ˜„์ด๋‹ค. Runit์€ ์‹œ์Šคํ…œ ์„œ๋น„์Šค ์‹œ์ž‘์„ ๋ณ‘๋ ฌํ™”ํ•˜์—ฌ ์šด์˜์ฒด์ œ์˜ ๋ถ€ํŒ… ์‹œ๊ฐ„์„ ๋‹จ์ถ•ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•œ๋‹ค.[4]

init ๋ฐ๋ชฌ์œผ๋กœ ์‹คํ–‰๋  ๋•Œ, Runit์€ ๋‹ค๋ฅธ ๋ชจ๋“  ํ”„๋กœ์„ธ์Šค์˜ ์ง์ ‘ ๋˜๋Š” ๊ฐ„์ ‘์ ์ธ ์กฐ์ƒ์ด๋‹ค. ๋ถ€ํŒ… ์ค‘์— ์‹œ์ž‘๋˜๋Š” ์ฒซ ๋ฒˆ์งธ ํ”„๋กœ์„ธ์Šค์ด๋ฉฐ, ์‹œ์Šคํ…œ์ด ์ข…๋ฃŒ๋  ๋•Œ๊นŒ์ง€ ๊ณ„์† ์‹คํ–‰๋œ๋‹ค. ์ข…์ข… ๋‹ค๋ฅธ init ์‹œ์Šคํ…œ๊ณผ ํ•จ๊ป˜ ๋ณ„๋„์˜ ์„œ๋น„์Šค ๊ด€๋ฆฌ์ž๋กœ ์‚ฌ์šฉ๋œ๋‹ค. ์„œ๋น„์Šค ๊ด€๋ฆฌ์ž ์—ญํ• ์—์„œ๋Š” ๋น„ํŠน๊ถŒ ์‚ฌ์šฉ์ž๊ฐ€ ๊ฐœ์ธ ์„œ๋น„์Šค๋ฅผ ์กฐ์งํ•˜๊ฑฐ๋‚˜, ์Šˆํผ์œ ์ €๊ฐ€ ํ˜„์žฌ ์‚ฌ์šฉ ์ค‘์ธ init ์‹œ์Šคํ…œ์ด ๊ด€๋ฆฌํ•˜์ง€ ์•Š๋Š” ์„œ๋น„์Šค๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

Runit ๋ถ€ํŒ… ๋ณด์ด๋“œ ๋ฆฌ๋ˆ…์Šค

์„ค๊ณ„

[ํŽธ์ง‘]

Runit์€ ์ž‘๊ณ , ๋ชจ๋“ˆํ™”๋˜์–ด ์žˆ์œผ๋ฉฐ, ์ด์‹์„ฑ ์žˆ๋Š” ์ฝ”๋“œ๋ฒ ์ด์Šค์— ์ค‘์ ์„ ๋‘”๋‹ค. Init ์—ญํ• ์—์„œ Runit์€ ์„ธ ๊ฐ€์ง€ ๋‹จ๊ณ„๋กœ ๋‚˜๋‰œ๋‹ค: ์ผํšŒ์„ฑ ์ดˆ๊ธฐํ™”, ํ”„๋กœ์„ธ์Šค ๊ด€๋ฆฌ, ๊ทธ๋ฆฌ๊ณ  ์ •์ง€ ๋˜๋Š” ์žฌ๋ถ€ํŒ…. ์ฒซ ๋ฒˆ์งธ ๋ฐ ์„ธ ๋ฒˆ์งธ ๋‹จ๊ณ„๋Š” ์‹คํ–‰๋˜๋Š” ํŠน์ • ์šด์˜์ฒด์ œ์— ๋งž์ถฐ์•ผ ํ•˜์ง€๋งŒ, ๋‘ ๋ฒˆ์งธ ๋‹จ๊ณ„๋Š” ๋ชจ๋“  POSIX ํ˜ธํ™˜ ์šด์˜์ฒด์ œ์—์„œ ์ด์‹ ๊ฐ€๋Šฅํ•˜๋‹ค.[4] 3๋‹จ๊ณ„๋Š” ๊ฐ๊ฐ 1, 2, 3์œผ๋กœ ๋ช…๋ช…๋œ 3๊ฐœ์˜ ์‹คํ–‰ ํŒŒ์ผ(์ผ๋ฐ˜์ ์œผ๋กœ ์…ธ ์Šคํฌ๋ฆฝํŠธ)์„ ํ†ตํ•ด ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.

2๋‹จ๊ณ„๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ runsvdir์ด๋ผ๋Š” ๋ฐ”์ด๋„ˆ๋ฆฌ๋ฅผ ํ˜ธ์ถœํ•˜๋Š”๋ฐ, ์ด๋Š” ์ „์—ญ ๋ฐ๋ชฌ ๊ด€๋ฆฌ๋ฅผ ๋‹ด๋‹นํ•˜๋Š” ํ”„๋กœ์„ธ์Šค์ด๋‹ค. ์ธ์ˆ˜๋กœ ์ „๋‹ฌ๋œ ํด๋”์—์„œ ๋ฐœ๊ฒฌ๋˜๋Š” ๋ชจ๋“  ๋ฐ๋ชฌ์— ๋Œ€ํ•ด ๊ฐœ๋ณ„ ์›Œ์น˜๋…์„ ์ƒ์„ฑํ•˜๋ฉฐ, ๊ฐ ์›Œ์น˜๋…์€ ๋ฐ๋ชฌ(๋ฐ ์ตœ์ข…์ ์œผ๋กœ ์—ฐ๊ฒฐ๋œ ๋กœ๊ฑฐ ์„œ๋น„์Šค)์„ ์‹œ์ž‘ํ•˜๊ณ  ๋ฐ๋ชฌ์ด ์ฃฝ์œผ๋ฉด ๋‹ค์‹œ ์‹œ์ž‘ํ•œ๋‹ค. ๋ฐ๋ชฌ์ด ์ถ”๊ฐ€๋˜๊ฑฐ๋‚˜ ์ œ๊ฑฐ๋˜๋ฉด ์›Œ์น˜๋…์„ ์ฃฝ์ด๊ฑฐ๋‚˜ ์ƒˆ๋กœ์šด ์›Œ์น˜๋…์„ ์‹œ์ž‘ํ•œ๋‹ค. ํŠน์ • ์ด๋ฆ„์˜ ์‹คํ–‰ ํŒŒ์ผ์€ ๋ฐ๋ชฌ์˜ ๋‹ค์–‘ํ•œ ๋‹จ๊ณ„(์‹คํ–‰, ํ™•์ธ, ์™„๋ฃŒ ๋“ฑ)๋ฅผ ์„ค๋ช…ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋ฉฐ, ์กด์žฌํ•  ๊ฒฝ์šฐ ํŠน์ • ์Šคํฌ๋ฆฝํŠธ์— ์˜ํ•ด ์ „์†ก๋˜๊ณ  ์‹คํ–‰๋˜๋Š” ์‹ ํ˜ธ๋ฅผ ๊ฐ€๋กœ์ฑŒ ์ˆ˜ ์žˆ๊ณ , ๋ฐ๋ชฌ์„ ์ œ์–ดํ•˜๋Š” ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๋…ธ์ถœํ•˜๊ธฐ ์œ„ํ•ด ๋ช…๋ช…๋œ ํŒŒ์ดํ”„๊ฐ€ ์ƒ์„ฑ๋œ๋‹ค.

์‚ฌ์šฉ๋ฒ•

[ํŽธ์ง‘]

Runit์€ sysvinit์˜ ๋Œ€์ฒด์ œ๋กœ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๊ฑฐ๋‚˜[5] ์„œ๋น„์Šค ๊ด€๋ฆฌ์ž(inittab ํŒŒ์ผ์— ์ง€์ •๋œ ํ”„๋กœ์„ธ์Šค๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๋ถ€๋ชจ PID 1 ํ”„๋กœ์„ธ์Šค๋กœ sysvinit ๋˜๋Š” ๋‹ค๋ฅธ init ์‹œ์Šคํ…œ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ)๋กœ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๋‹ค.[6] ๋ฃจ๋น„ ์˜จ ๋ ˆ์ผ์ฆˆ๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” RubyWorks ์†Œํ”„ํŠธ์›จ์–ด ์Šคํƒ์€ Runit์„ ์Šค์œ„ํŠธ์— ํ†ตํ•ฉํ–ˆ๋‹ค.[7]

์ฑ„ํƒ

[ํŽธ์ง‘]

Runit์€ ๋‹ค์Œ์˜ ๊ธฐ๋ณธ init ์‹œ์Šคํ…œ์ด๋‹ค:

Runit์€ ๋‹ค์Œ์˜ "๊ณต์‹์ ์œผ๋กœ" ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ init ์‹œ์Šคํ…œ์ด๋‹ค:

๊ฐ์ฃผ

[ํŽธ์ง‘]
  1. โ†‘ Pape, Gerrit (2004๋…„ 2์›” 10์ผ). โ€œrunit-1.0.0 releaseโ€ (๋ฉ”์ผ๋ง ๋ฆฌ์ŠคํŠธ). ใ€Šgmane.comp.sysutils.supervision.generalใ€‹. 2013๋…„ 12์›” 13์ผ์— ์›๋ณธ ๋ฌธ์„œ์—์„œ ๋ณด์กด๋œ ๋ฌธ์„œ. 2013๋…„ 12์›” 10์ผ์— ํ™•์ธํ•จ.
  2. โ†‘ Pape, Gerrit (2024๋…„ 9์›” 29์ผ). โ€œrunit-2.2.0 availableโ€. ใ€Šwww.mail-archive.comใ€‹. 2024๋…„ 10์›” 3์ผ์— ํ™•์ธํ•จ.
  3. โ†‘ Purcell, Steve (2007๋…„ 11์›” 11์ผ). โ€œInit Scripts Considered Harmfulโ€. ใ€Šsanityinc.comใ€‹. 2013๋…„ 12์›” 12์ผ์— ํ™•์ธํ•จ.
  4. 1 2 Pape, Gerrit. โ€œrunit - benefitsโ€. 2013๋…„ 4์›” 23์ผ์— ํ™•์ธํ•จ.
  5. โ†‘ Pape, Gerrit. โ€œreplacing initโ€. 2014๋…„ 8์›” 11์ผ์— ํ™•์ธํ•จ.
  6. โ†‘ Pape, Gerrit. โ€œuse with traditional initโ€. 2014๋…„ 8์›” 11์ผ์— ํ™•์ธํ•จ.
  7. โ†‘ โ€œProcess management with runitโ€. ใ€Šrubyworks.rubyforge.orgใ€‹. 2017๋…„ 2์›” 23์ผ์— ์›๋ณธ ๋ฌธ์„œ์—์„œ ๋ณด์กด๋œ ๋ฌธ์„œ. 2014๋…„ 4์›” 14์ผ์— ํ™•์ธํ•จ.
  8. โ†‘ โ€œVoidLinuxโ€. 2020๋…„ 6์›” 28์ผ์— ํ™•์ธํ•จ.
  9. โ†‘ โ€œGentooโ€. 2024๋…„ 4์›” 28์ผ์— ํ™•์ธํ•จ.
  10. โ†‘ โ€œServices and Daemons - runit - Void Linux Handbookโ€. ใ€Šdocs.voidlinux.orgใ€‹. 2025๋…„ 6์›” 1์ผ์— ํ™•์ธํ•จ.

์™ธ๋ถ€ ๋งํฌ

[ํŽธ์ง‘]