Tso tawm GNU Shepherd 0.9 init system

Ob xyoos tom qab tsim qhov kev tso tawm tseem ceeb kawg, tus thawj saib xyuas kev pabcuam GNU Shepherd 0.9 (yav dhau los dmd) tau luam tawm, uas yog tsim los ntawm cov neeg tsim khoom ntawm GNU Guix System faib ua lwm txoj hauv kev rau SysV-init initialization system uas txhawb kev vam khom. . Tus tswv yug yaj tswj daemon thiab cov khoom siv hluav taws xob tau sau ua lus Guile (ib qho ntawm kev siv cov lus Scheme), uas kuj yog siv los txheeb xyuas cov chaw thiab cov kev txwv rau kev pib ua haujlwm. Shepherd twb tau siv rau hauv GuixSD GNU/Linux tis thiab tseem tsom rau kev siv hauv GNU/Hurd, tab sis tuaj yeem khiav ntawm POSIX-raws li OS uas muaj cov lus Guile.

Shepherd ua hauj lwm ntawm kev pib thiab nres cov kev pab cuam los ntawm kev coj mus rau hauv tus account cov kev sib raug zoo ntawm cov kev pab cuam, dynamically txheeb xyuas thiab pib cov kev pab cuam uas xaiv qhov kev pab cuam nyob ntawm seb. Shepherd kuj txhawb kev tshawb nrhiav kev tsis sib haum xeeb ntawm cov kev pabcuam thiab tiv thaiv lawv los ntawm kev ua haujlwm ib txhij. Qhov project yuav siv tau ob qho tib si raws li lub hauv paus pib system (init nrog PID 1), thiab nyob rau hauv ib daim ntawv cais los tswj cov txheej txheem keeb kwm yav dhau los ntawm ib tus neeg siv (piv txwv li, khiav tor, privoxy, mcron, thiab lwm yam) nrog rau kev ua tiav nrog cov cai. ntawm cov neeg siv no.

Main innovations:

  • Lub tswv yim ntawm cov kev pabcuam ib ntus (ntev) yog siv los ua haujlwm, tsis siv neeg xiam oob khab tom qab ua tiav vim kev txiav tawm ntawm cov txheej txheem lossis hu rau txoj kev "stop", uas tej zaum yuav xav tau rau cov kev pabcuam synthesized uas tsis tuaj yeem rov pib dua tom qab kaw.
  • Txhawm rau tsim cov kev pabcuam zoo li inetd, cov txheej txheem "make-inetd-constructor" tau ntxiv.
  • Txhawm rau tsim cov kev pabcuam uas tau qhib thaum lub sijhawm ua haujlwm network (hauv systemd socket activation style), cov txheej txheem "make-systemd-constructor" tau ntxiv.
  • Ntxiv cov txheej txheem rau pib qhov kev pabcuam hauv keeb kwm yav dhau - "pib-hauv-tus-tom qab".
  • Ntxiv tsis tau ":supplementary-groups", "#:create-session" thiab "#:resource-limits" rau "make-forkexec-constructor" niaj hnub.
  • Ua haujlwm tsis muaj kev thaiv thaum tos PID cov ntaub ntawv.
  • Rau cov kev pabcuam uas tsis muaj "#:log-file" parameter, tso zis rau syslog yog muab, thiab rau cov kev pabcuam nrog #:log-file parameter, lub cav raug sau rau hauv ib qho ntaub ntawv cais qhia lub sijhawm kaw. Cov ntawv teev tseg los ntawm cov txheej txheem tus tswv yug yaj uas tsis muaj cai tau muab khaws cia rau hauv $XDG_DATA_DIR directory.
  • Kev them nyiaj yug rau lub tsev nrog Guile 2.0 tau raug txiav lawm. Cov teeb meem thaum siv Guile versions 3.0.5-3.0.7 tau raug daws lawm.
  • Lub tsev qiv ntawv Fibers 1.1.0 lossis tshiab dua tam sim no yuav tsum ua haujlwm.

Tau qhov twg los: opennet.ru

Ntxiv ib saib