ΠΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ ΡΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ GNU Shepherd 0.9.2 (Π±ΡΠ²ΡΠΈΠΉ dmd), ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°Π·Π²ΠΈΠ²Π°Π΅ΡΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌΠΈ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π° GNU Guix System Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Ρ ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ SysV-init, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΠ΅ΠΉ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ. Π£ΠΏΡΠ°Π²Π»ΡΡΡΠΈΠΉ Π΄Π΅ΠΌΠΎΠ½ ΠΈ ΡΡΠΈΠ»ΠΈΡΡ Shepherd Π½Π°ΠΏΠΈΡΠ°Π½Ρ Π½Π° ΡΠ·ΡΠΊΠ΅ Guile (ΠΎΠ΄Π½Π° ΠΈΠ· ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΉ ΡΠ·ΡΠΊΠ° Scheme), ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π½Π°ΡΡΡΠΎΠ΅ΠΊ ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π·Π°ΠΏΡΡΠΊΠ° ΡΠ΅ΡΠ²ΠΈΡΠΎΠ². Shepherd ΡΠΆΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π² Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π΅ GuixSD GNU/Linux ΠΈ Π½Π°ΡΠ΅Π»Π΅Π½ ΡΠ°ΠΊΠΆΠ΅ Π½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π² GNU/Hurd, Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² Π»ΡΠ±ΠΎΠΉ POSIX-ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΠΉ ΠΠ‘, Π΄Π»Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΡΠ·ΡΠΊ Guile.
Shepherd amagwira ntchito yoyambitsa ndi kuyimitsa ntchito poganizira za ubale pakati pa mautumiki, kuzindikira ndikuyamba ntchito zomwe ntchito yosankhidwa imadalira. Shepherd amathandiziranso kuzindikira kusamvana pakati pa mautumiki ndikuwalepheretsa kuyenda nthawi imodzi. Pulojekitiyi itha kugwiritsidwa ntchito ngati njira yayikulu yoyambira (init ndi PID 1), komanso mwanjira ina yoyang'anira njira zakumbuyo za ogwiritsa ntchito (mwachitsanzo, kuyendetsa tor, privoxy, mcron, etc.) ndikuchita ndi ufulu. mwa ogwiritsa ntchito awa.
Zina mwazosintha:
- ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ Π² Shepherd ΡΠ°ΠΉΠ»ΠΎΠ²ΡΠ΅ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΡ ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΠΎΠΌΠ΅ΡΠ°ΡΡΡΡ ΡΠ»Π°Π³ΠΎΠΌ O_CLOEXEC (close-on-exec), Π° Π½Π΅ Π·Π°ΠΊΡΡΠ²Π°ΡΡΡΡ ΡΡΠ°Π·Ρ ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Β«exec-commandΒ», ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΡ ΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌ, Π·Π°ΠΏΡΡΠ΅Π½Π½ΡΠΌ Π½Π΅ Π½Π°ΠΏΡΡΠΌΡΡ, Π° ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Β«exec-commandΒ».
- ΠΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΠ΅ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΡΠ΅ΠΏΠ΅ΡΡ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΡΡ Π² Π½Π΅Π±Π»ΠΎΠΊΠΈΡΡΡΡΠ΅ΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΡΠΊΠ»ΡΡΠΈΡΡ Π·Π°Π²ΠΈΡΠ°Π½ΠΈΠ΅ shepherd ΠΏΡΠΈ ΠΎΡΠΏΡΠ°Π²ΠΊΠ΅ Π½Π΅ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ.
- ΠΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° Π΄Π»Ρ Π»ΠΎΠ³-ΡΠ°ΠΉΠ»ΠΎΠ², ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΡ Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅ Β«log-fileΒ», Π² ΡΠ»ΡΡΠ°Π΅ Π΅Π³ΠΎ ΠΎΡΡΡΡΡΡΠ²ΠΈΡ.
Source: opennet.ru