ИздавањС Π½Π° GNU Shepherd 0.9.2 init систСмот

ΠžΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ сСрвисный ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ GNU Shepherd 0.9.2 (Π±Ρ‹Π²ΡˆΠΈΠΉ dmd), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ развиваСтся Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ дистрибутива GNU Guix System Π² качСствС Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹ систСмС ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ SysV-init, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰Π΅ΠΉ зависимости. Π£ΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ Π΄Π΅ΠΌΠΎΠ½ ΠΈ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ Shepherd написаны Π½Π° языкС Guile (ΠΎΠ΄Π½Π° ΠΈΠ· Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΉ языка Scheme), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для опрСдСлСния настроСк ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² запуска сСрвисов. Shepherd ΡƒΠΆΠ΅ примСняСтся Π² дистрибутивС GuixSD GNU/Linux ΠΈ Π½Π°Ρ†Π΅Π»Π΅Π½ Ρ‚Π°ΠΊΠΆΠ΅ Π½Π° использованиС Π² GNU/Hurd, Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² любой POSIX-совмСстимой ОБ, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ доступСн язык Guile.

Shepherd ја Π²Ρ€ΡˆΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° Π½Π° Π·Π°ΠΏΠΎΡ‡Π½ΡƒΠ²Π°ΡšΠ΅ ΠΈ ΠΏΡ€Π΅ΠΊΠΈΠ½ΡƒΠ²Π°ΡšΠ΅ Π½Π° услугитС зСмајќи Π³ΠΈ ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄ односитС ΠΏΠΎΠΌΠ΅Ρ“Ρƒ услугитС, Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π½ΠΎ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΡƒΠ²Π°Ρ˜ΡœΠΈ Π³ΠΈ ΠΈ Π·Π°ΠΏΠΎΡ‡Π½ΡƒΠ²Π°Ρ˜ΡœΠΈ Π³ΠΈ услугитС ΠΎΠ΄ ΠΊΠΎΠΈ зависи ΠΈΠ·Π±Ρ€Π°Π½Π°Ρ‚Π° услуга. Shepherd, исто Ρ‚Π°ΠΊΠ°, ΠΏΠΎΠ΄Π΄Ρ€ΠΆΡƒΠ²Π° ΠΎΡ‚ΠΊΡ€ΠΈΠ²Π°ΡšΠ΅ Π½Π° ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΈ ΠΏΠΎΠΌΠ΅Ρ“Ρƒ услугитС ΠΈ ΡΠΏΡ€Π΅Ρ‡ΡƒΠ²Π°ΡšΠ΅ Π½Π° Π½ΠΈΠ²Π½ΠΎ истоврСмСно Ρ€Π°Π±ΠΎΡ‚Π΅ΡšΠ΅. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΡ‚ ΠΌΠΎΠΆΠ΅ Π΄Π° сС користи ΠΈ ΠΊΠ°ΠΊΠΎ Π³Π»Π°Π²Π΅Π½ систСм Π·Π° ΠΈΠ½ΠΈΡ†ΠΈΡ˜Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡ˜Π° (init со PID 1), ΠΈ Π²ΠΎ посСбна Ρ„ΠΎΡ€ΠΌΠ° Π·Π° ΡƒΠΏΡ€Π°Π²ΡƒΠ²Π°ΡšΠ΅ со процСситС Π²ΠΎ ΠΏΠΎΠ·Π°Π΄ΠΈΠ½Π° Π½Π° ΠΏΠΎΠ΅Π΄ΠΈΠ½Π΅Ρ‡Π½ΠΈ корисници (Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π·Π° ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°ΡšΠ΅ Π½Π° tor, privoxy, mcron, ΠΈΡ‚Π½.) со ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°ΡšΠ΅ со ΠΏΡ€Π°Π²Π°Ρ‚Π° Π½Π° ΠΎΠ²ΠΈΠ΅ корисници.

ΠœΠ΅Ρ“Ρƒ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅:

  • Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Π² Shepherd Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Π΅ дСскрипторы Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠΎΠΌΠ΅Ρ‡Π°ΡŽΡ‚ΡΡ Ρ„Π»Π°Π³ΠΎΠΌ O_CLOEXEC (close-on-exec), Π° Π½Π΅ Π·Π°ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‚ΡΡ сразу ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Β«exec-commandΒ», Ρ‡Ρ‚ΠΎ позволяСт ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ дСскрипторы сСрвисам, Π·Π°ΠΏΡƒΡ‰Π΅Π½Π½Ρ‹ΠΌ Π½Π΅ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ, Π° ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Β«exec-commandΒ».
  • ΠšΠ»ΠΈΠ΅Π½Ρ‚ΡΠΊΠΈΠ΅ соСдинСния Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π² Π½Π΅Π±Π»ΠΎΠΊΠΈΡ€ΡƒΡŽΡ‰Π΅ΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅, Ρ‡Ρ‚ΠΎ позволяСт ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ зависаниС shepherd ΠΏΡ€ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠ΅ Π½Π΅ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹.
  • ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ΠΎ созданиС ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° для Π»ΠΎΠ³-Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Ρ… Π² настройкС Β«log-fileΒ», Π² случаС Π΅Π³ΠΎ отсутствия.

Π˜Π·Π²ΠΎΡ€: opennet.ru

Π”ΠΎΠ΄Π°Π΄Π΅Ρ‚Π΅ ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€