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

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

Основни ΠΈΠ½ΠΎΠ²Π°Ρ†ΠΈΠΈ:

  • Π Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π° Π΅ концСпцията Π·Π° Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΈ услуги (ΠΏΡ€Π΅Ρ…ΠΎΠ΄Π½ΠΈ), Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ Π΄Π΅Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Π½ΠΈ слСд Π·Π°Π²ΡŠΡ€ΡˆΠ²Π°Π½Π΅ ΠΏΠΎΡ€Π°Π΄ΠΈ прСкратяванС Π½Π° процСса ΠΈΠ»ΠΈ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ Π½Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π° β€žΡΡ‚ΠΎΠΏβ€œ, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° сС изисква Π·Π° синтСзирани услуги, ΠΊΠΎΠΈΡ‚ΠΎ Π½Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ рСстартирани слСд ΠΈΠ·ΠΊΠ»ΡŽΡ‡Π²Π°Π½Π΅.
  • Π—Π° създаванС Π½Π° услуги, ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ Π½Π° inetd, Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π°Ρ‚Π° β€žmake-inetd-constructorβ€œ.
  • Π—Π° създаванС Π½Π° услуги, ΠΊΠΎΠΈΡ‚ΠΎ сС Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Ρ‚ ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° ΠΌΡ€Π΅ΠΆΠΎΠ²Π° активност (Π² стила Π½Π° Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Π½Π΅ Π½Π° сокСт systemd), Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π°Ρ‚Π° β€žmake-systemd-constructorβ€œ.
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Π·Π° стартиранС Π½Π° услуга във Ρ„ΠΎΠ½ΠΎΠ² Ρ€Π΅ΠΆΠΈΠΌ - β€œstart-in-the-background”.
  • Π”ΠΎΠ±Π°Π²Π΅Π½ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ ":supplementary-groups", "#:create-session" ΠΈ "#:resource-limits" към ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π°Ρ‚Π° "make-forkexec-constructor".
  • Π Π°Π·Ρ€Π΅ΡˆΠ΅Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° Π±Π΅Π· Π±Π»ΠΎΠΊΠΈΡ€Π°Π½Π΅ ΠΏΡ€ΠΈ ΠΈΠ·Ρ‡Π°ΠΊΠ²Π°Π½Π΅ Π½Π° 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

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€