ИзданиС Π½Π° систСмата Π·Π° инициализация GNU Shepherd 0.8

Π”ΠΎΡΡ‚ΡŠΠΏΠ΅Π½ сСрвисСн ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡŠΡ€ GNU Shepherd 0.8 (бивш dmd), ΠΊΠΎΠΉΡ‚ΠΎ сС Ρ€Π°Π·Π²ΠΈΠ²Π° ΠΎΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅ Π½Π° дистрибутива GNU Guix System ΠΊΠ°Ρ‚ΠΎ ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Ρ‰Π° зависимост Π½Π° Π°Π»Ρ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π°Ρ‚Π° Π½Π° систСмата Π·Π° инициализация SysV-init. Управляващият Π΄Π΅ΠΌΠΎΠ½ ΠΈ инструмСнтитС Π½Π° Shepherd са написани Π½Π° Π΅Π·ΠΈΠΊΠ° Guile (Π΅Π΄Π½Π° ΠΎΡ‚ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈΡ‚Π΅ Π½Π° Π΅Π·ΠΈΠΊΠ° Scheme), ΠΊΠΎΠΉΡ‚ΠΎ ΡΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° опрСдСлянС Π½Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ Π·Π° стартиранС Π½Π° услуги. Shepherd Π²Π΅Ρ‡Π΅ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π² дистрибутива GuixSD GNU/Linux ΠΈ Π΅ насочСн ΡΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° към ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π² GNU/Hurd, Π½ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ Π² всяка ОБ, ΡΡŠΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠ° с POSIX, Π·Π° която Π΅ Π½Π°Π»ΠΈΡ‡Π΅Π½ Π΅Π·ΠΈΠΊΡŠΡ‚ Guile.

Shepherd ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΊΠ°ΠΊΡ‚ΠΎ ΠΊΠ°Ρ‚ΠΎ основна систСма Π·Π° инициализация (init c PID 1), Ρ‚Π°ΠΊΠ° ΠΈ Π² ΠΎΡ‚Π΄Π΅Π»Π΅Π½ Π²ΠΈΠ΄ Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Ρ„ΠΎΠ½ΠΎΠ²ΠΈΡ‚Π΅ процСси Π½Π° ΠΎΡ‚Π΄Π΅Π»Π½ΠΈ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π·Π° стартиранС Π½Π° tor, privoxy, mcron ΠΈ Ρ‚.Π½.) с изпълнСниС с ΠΏΡ€Π°Π²Π°Ρ‚Π° Π½Π° самитС ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈ. Shepherd ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π° Π·Π°Π΄Π°Ρ‡Π°Ρ‚Π° ΠΏΠΎ стартиранС ΠΈ спиранС Π½Π° услугитС, ΠΊΠ°Ρ‚ΠΎ ΠΎΡ‚Ρ‡ΠΈΡ‚Π° Π²Π·Π°ΠΈΠΌΠΎΠ²Ρ€ΡŠΠ·ΠΊΠΈΡ‚Π΅ ΠΌΠ΅ΠΆΠ΄Ρƒ тях, Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π½ΠΎ опрСдСля ΠΈ стартира услугитС, ΠΎΡ‚ ΠΊΠΎΠΈΡ‚ΠΎ зависи ΠΈΠ·Π±Ρ€Π°Π½Π°Ρ‚Π° услуга. Shepherd ΡΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° опрСдСлянСто Π½Π° ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ услугитС ΠΈ прСдотвратява тяхното Π΅Π΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Π° изпълнСниС.

Основни нововъвСдСния:

  • Π’ make-kill-destructor Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½ΠΎ ΡƒΠ±ΠΈΠ²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π³Ρ€ΡƒΠΏΠ° процСси;
  • Π”ΠΎΠ±Π°Π²Π΅Π½ Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚ΡŠΡ€ΡŠΡ‚ Β«default-pid-file-timeoutΒ», ΠΊΠΎΠΉΡ‚ΠΎ опрСдСля Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π·Π° ΠΈΠ·Ρ‡Π°ΠΊΠ²Π°Π½Π΅ ΠΏΡ€ΠΈ ΡΡŠΠ·Π΄Π°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° PID Ρ„Π°ΠΉΠ»;
  • Ако PID Ρ„Π°ΠΉΠ»ΡŠΡ‚ Π½Π΅ сС Π΅ появил Π² Ρ€Π°ΠΌΠΊΠΈΡ‚Π΅ Π½Π° Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π·Π° ΠΈΠ·Ρ‡Π°ΠΊΠ²Π°Π½Π΅, цялата Π³Ρ€ΡƒΠΏΠ° процСси Π±ΠΈΠ²Π° Π·Π°Π²ΡŠΡ€ΡˆΠ΅Π½Π° (Ρ€Π΅ΡˆΠ°Π²Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° оставянСто Π½Π° Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰ΠΈ процСси Π±Π΅Π· PID Ρ„Π°ΠΉΠ»);
  • Π’ Β«make-forkexec-constructorΒ» Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚ΡŠΡ€ΡŠΡ‚ Β«#:file-creation-maskΒ», Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½ΠΎ Π΅ ΡΡŠΠ·Π΄Π°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π»ΠΎΠ³ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ ΠΈ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π° Π½Π° старата конвСнция Π·Π° повиквания Π΅ ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‚Π΅Π½Π°;
  • РСшСни са ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ с ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° систСми Π±Π΅Π· prctl, ΠΊΠ°Ρ‚ΠΎ GNU/Hurd;
  • УстранСн Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, ΠΊΠΎΠΉΡ‚ΠΎ водСшС Π΄ΠΎ ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Π½Π΅ Π½Π° SIGALRM всяка сСкунда.

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ πŸ”₯ ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ | ProHoster