เบเบฒเบ™เบ›เปˆเบญเบ GNU Shepherd 0.9 เบฅเบฐเบšเบปเบš init

เบชเบญเบ‡เบ›เบตเบซเบผเบฑเบ‡เบˆเบฒเบเบเบฒเบ™เบชเป‰เบฒเบ‡เบ•เบฑเป‰เบ‡เบ‚เบญเบ‡เบเบฒเบ™เบ›เปˆเบญเบเบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™เบ—เบตเปˆเบœเปˆเบฒเบ™เบกเบฒ, เบœเบนเป‰เบˆเบฑเบ”เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™ GNU Shepherd 0.9 (เบญเบฐเบ”เบตเบ” dmd) เป„เบ”เป‰เบ–เบทเบเบˆเบฑเบ”เบžเบตเบกเบกเบฒ, เป€เบŠเบดเปˆเบ‡เป„เบ”เป‰เบ–เบทเบเบžเบฑเบ”เบ—เบฐเบ™เบฒเป‚เบ”เบเบœเบนเป‰เบžเบฑเบ”เบ—เบฐเบ™เบฒเบเบฒเบ™เปเบˆเบเบขเบฒเบเบฅเบฐเบšเบปเบš GNU Guix เป€เบ›เบฑเบ™เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบชเปเบฒเบฅเบฑเบšเบฅเบฐเบšเบปเบšเบเบฒเบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™ SysV-init เบ—เบตเปˆเบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบเบฒเบ™เป€เบžเบดเปˆเบ‡เบžเบฒเบญเบฒเป„เบช. . Shepherd control daemon เปเบฅเบฐ utilities เบ–เบทเบเบ‚เบฝเบ™เป€เบ›เบฑเบ™เบžเบฒเบชเบฒ Guile (เบซเบ™เบถเปˆเบ‡เปƒเบ™เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‚เบญเบ‡เบžเบฒเบชเบฒ Scheme), เป€เบŠเบดเปˆเบ‡เบเบฑเบ‡เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เป€เบžเบทเปˆเบญเบเปเบฒเบ™เบปเบ”เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเปเบฅเบฐเบžเบฒเบฅเบฒเบกเบดเป€เบ•เบตเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป€เบ›เบตเบ”เบ•เบปเบงเบšเปเบฅเบดเบเบฒเบ™. Shepherd เบ–เบทเบเปƒเบŠเป‰เปเบฅเป‰เบงเปƒเบ™เบเบฒเบ™เปเบˆเบเบขเบฒเบ GuixSD GNU/Linux เปเบฅเบฐเบเบฑเบ‡เบกเบตเบˆเบธเบ”เบ›เบฐเบชเบปเบ‡เปƒเบ™เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เปƒเบ™ GNU/Hurd, เปเบ•เปˆเบชเบฒเบกเบฒเบ”เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เปƒเบ™เบ—เบธเบ OS เบ—เบตเปˆเบ›เบฐเบ•เบดเบšเบฑเบ”เบ•เบฒเบก POSIX เบ—เบตเปˆเบžเบฒเบชเบฒ Guile เบชเบฒเบกเบฒเบ”เปƒเบŠเป‰เป„เบ”เป‰.

Shepherd เป€เบฎเบฑเบ”เบงเบฝเบเบ‚เบญเบ‡เบเบฒเบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เปเบฅเบฐเบเบฒเบ™เบขเบธเบ”เป€เบŠเบปเบฒเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เป‚เบ”เบเบเบฒเบ™เบ„เปเบฒเบ™เบถเบ‡เป€เบ–เบดเบ‡เบ„เบงเบฒเบกเบชเปเบฒเบžเบฑเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™, เบเบฒเบ™เบเปเบฒเบ™เบปเบ”เบ•เบปเบงเปเบšเบšเป€เบ„เบทเปˆเบญเบ™เป„เบซเบงเปเบฅเบฐเบเบฒเบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบ—เบตเปˆเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบ—เบตเปˆเป€เบฅเบทเบญเบเปเบกเปˆเบ™เบ‚เบถเป‰เบ™เบเบฑเบš. Shepherd เบเบฑเบ‡เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบเบฒเบ™เบเบงเบ”เบชเบญเบšเบ‚เปเป‰เบ‚เบฑเบ”เปเบเปˆเบ‡เบฅเบฐเบซเบงเปˆเบฒเบ‡เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เปเบฅเบฐเบ›เป‰เบญเบ‡เบเบฑเบ™เบšเปเปˆเปƒเบซเป‰เบžเบงเบเป€เบ‚เบปเบฒเป€เบฎเบฑเบ”เบงเบฝเบเบžเป‰เบญเบกเบเบฑเบ™. เป‚เบ„เบ‡โ€‹เบเบฒเบ™โ€‹เบ”เบฑเปˆเบ‡โ€‹เบเปˆเบฒเบงโ€‹เบชเบฒโ€‹เบกเบฒเบ”โ€‹เบ™เปเบฒโ€‹เปƒเบŠเป‰โ€‹เบ—เบฑเบ‡โ€‹เบชเบญเบ‡โ€‹เป€เบ›เบฑเบ™โ€‹เบฅเบฐโ€‹เบšเบปเบšโ€‹เบเบฒเบ™โ€‹เป€เบฅเบตเปˆเบกโ€‹เบ•เบปเป‰เบ™โ€‹เบ•เบปเป‰เบ™โ€‹เบ•เป (init เบเบฑเบš PID 1โ€‹)โ€‹, เปเบฅเบฐโ€‹เปƒเบ™โ€‹เบฎเบนเบšโ€‹เปเบšเบšโ€‹เปเบเบโ€‹เบ•เปˆเบฒเบ‡โ€‹เบซเบฒเบโ€‹เปƒเบ™โ€‹เบเบฒเบ™โ€‹เบ„เบธเป‰เบกโ€‹เบ„เบญเบ‡โ€‹เบ‚เบฐโ€‹เบšเบงเบ™โ€‹เบเบฒเบ™โ€‹เบžเบทเป‰เบ™โ€‹เบ–เบฒเบ™โ€‹เบ‚เบญเบ‡โ€‹เบœเบนเป‰โ€‹เบŠเบปเบกโ€‹เปƒเบŠเป‰โ€‹เปเบ•เปˆโ€‹เบฅเบฐโ€‹เบ„เบปเบ™ (เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เบเบฒเบ™โ€‹เบ”เปเบฒโ€‹เป€เบ™เบตเบ™โ€‹เบเบฒเบ™ torโ€‹, privoxyโ€‹, mcronโ€‹, เปเบฅเบฐโ€‹เบญเบทเปˆเบ™เป†โ€‹)โ€‹. เบ‚เบญเบ‡เบœเบนเป‰เปƒเบŠเป‰เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰.

เบ™เบฐเบงเบฑเบ”เบ•เบฐเบเปเบฒเบ•เบปเป‰เบ™เบ•เป:

  • เปเบ™เบงเบ„เบงเบฒเบกเบ„เบดเบ”เบ‚เบญเบ‡เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบŠเบปเปˆเบงเบ„เบฒเบง (เบŠเบปเปˆเบงเบ„เบฒเบง) เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”, เบ›เบดเบ”เบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”เบซเบผเบฑเบ‡เบˆเบฒเบเบชเปเบฒเป€เบฅเบฑเบ”เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบเบฒเบ™เบขเบธเบ”เป€เบŠเบปเบฒเบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบซเบผเบทเบเบฒเบ™เป‚เบ—เบซเบฒเบงเบดเบ—เบตเบเบฒเบ™ "เบขเบธเบ”", เป€เบŠเบดเปˆเบ‡เบญเบฒเบ”เบˆเบฐเบ•เป‰เบญเบ‡เบเบฒเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบ—เบตเปˆเบชเบฑเบ‡เป€เบ„เบฒเบฐเบ—เบตเปˆเบšเปเปˆเบชเบฒเบกเบฒเบ”เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เปƒเบซเบกเปˆเบซเบผเบฑเบ‡เบˆเบฒเบเบเบฒเบ™เบ›เบดเบ”.
  • เป€เบžเบทเปˆเบญเบชเป‰เบฒเบ‡เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบ„เป‰เบฒเบเบ„เบท inetd, เบ‚เบฑเป‰เบ™เบ•เบญเบ™ "make-inetd-constructor" เป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบก.
  • เป€เบžเบทเปˆเบญเบชเป‰เบฒเบ‡เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบ—เบตเปˆเบ–เบทเบเป€เบ›เบตเบ”เปƒเบŠเป‰เปƒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบเบดเบ”เบˆเบฐเบเปเบฒเป€เบ„เบทเบญเบ‚เปˆเบฒเบ (เปƒเบ™เบฎเบนเบšเปเบšเบšเบเบฒเบ™เป€เบ›เบตเบ”เปƒเบŠเป‰ socket 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

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™