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

Π”Π²Π΅ Π³ΠΎΠ΄ΠΈΠ½ΠΈ слСд ΡΡŠΠ·Π΄Π°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΏΡ€Π΅Π΄ΠΈΡˆΠ½ΠΈΡ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π΅Π½ Ρ€Π΅Π»ΠΈΠ·, ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π°Π½Π° Π΅ вСрсията 0.9 Π½Π° сСрвизния ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡŠΡ€ GNU Shepherd (бивш 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 ΠΈ Ρ‚.Π½.) с изпълнСниС с ΠΏΡ€Π°Π²Π°Ρ‚Π° Π½Π° ΡΡŠΠΎΡ‚Π²Π΅Ρ‚Π½ΠΈΡ‚Π΅ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈ.

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

  • Π Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π° Π΅ концСпцията Π·Π° Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΈ сСрвисии (transient), ΠΊΠΎΠΈΡ‚ΠΎ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ сС Π΄Π΅Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Ρ‚ слСд ΠΏΡ€ΠΈΠΊΠ»ΡŽΡ‡Π²Π°Π½Π΅Ρ‚ΠΎ си, ΠΏΠΎΡ€Π°Π΄ΠΈ спиранС Π½Π° процСса ΠΈΠ»ΠΈ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ Π½Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π° "stop", ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π° синтСзирани сСрвисии, ΠΊΠΎΠΈΡ‚ΠΎ Π½Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ рСстартирани слСд ΠΏΡ€ΠΈΠΊΠ»ΡŽΡ‡Π²Π°Π½Π΅.
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π°Ρ‚Π° "make-inetd-constructor" Π·Π° създаванС Π½Π° сСрвисии, ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ Π½Π° inetd.
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π°Ρ‚Π° "make-systemd-constructor" Π·Π° създаванС Π½Π° сСрвисии, Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Π½ΠΈ ΠΏΡ€ΠΈ ΠΌΡ€Π΅ΠΆΠΎΠ²Π° активност (ΠΏΠΎ стил Π½Π° систСмата systemd socket activation).
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Π·Π° стартиранС Π½Π° сСрвис Π² Ρ„ΠΎΠ½ΠΎΠ²Π° срСда β€” "start-in-the-background".
  • ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π°Ρ‚Π° "make-forkexec-constructor" Π΅ Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½Π° с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΡ‚Π΅ ":supplementary-groups", "#:create-session" ΠΈ "#:resource-limits".
  • ΠžΡΠΈΠ³ΡƒΡ€Π΅Π½Π° Π΅ Ρ€Π°Π±ΠΎΡ‚Π° Π±Π΅Π· Π±Π»ΠΎΠΊΠΈΡ€Π°Π½Π΅ ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° ΠΈΠ·Ρ‡Π°ΠΊΠ²Π°Π½Π΅Ρ‚ΠΎ Π½Π° PID Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅.
  • Π—Π° сСрвисии Π±Π΅Π· ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚ΡŠΡ€Π° "#:log-file" Π΅ осигурСн ΠΈΠ·Ρ…ΠΎΠ΄ Π² syslog, Π° Π·Π° сСрвисии с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚ΡŠΡ€ "#:log-file" β€” запис Π½Π° Π»ΠΎΠ³Π° Π² ΠΎΡ‚Π΄Π΅Π»Π΅Π½ Ρ„Π°ΠΉΠ» с ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ Π·Π° Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π½Π° записитС. Π›ΠΎΠ³ΠΎΠ²Π΅Ρ‚Π΅ ΠΎΡ‚ нСпривилСгирования процСс shepherd сС Π·Π°ΠΏΠ°Π·Π²Π°Ρ‚ Π² дирСкторията $XDG_DATA_DIR.
  • ΠŸΠΎΠ΄ΠΊΡ€Π΅ΠΏΠ°Ρ‚Π° Π·Π° компилация с Guile 2.0 Π΅ ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‚Π΅Π½Π°. РСшСни са ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ ΠΏΡ€ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° вСрсиитС Guile 3.0.5-3.0.7.
  • Π—Π° Ρ€Π°Π±ΠΎΡ‚Π° сСга Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Fibers 1.1.0 ΠΈΠ»ΠΈ ΠΏΠΎ-Π½ΠΎΠ²Π° вСрсия.

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

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