Paglabas ng service manager s6-rc 0.5.3.0 at initialization system s6-linux-init 1.0.7

Ang isang makabuluhang release ng service manager s6-rc 0.5.3.0 ay inihanda, na idinisenyo upang pamahalaan ang paglulunsad ng mga script at serbisyo sa pagsisimula, na isinasaalang-alang ang mga dependency. Ang s6-rc toolkit ay maaaring gamitin kapwa sa mga sistema ng pagsisimula at para sa pag-aayos ng paglulunsad ng mga arbitrary na serbisyo na may kaugnayan sa mga kaganapang nagpapakita ng mga pagbabago sa estado ng system. Nagbibigay ng ganap na pagsubaybay sa puno ng dependency at awtomatikong pagsisimula o pagsara ng mga serbisyo upang maabot ang isang tinukoy na estado. Ang code ay nakasulat sa C at ipinamamahagi sa ilalim ng lisensya ng ISC.

Ang manager ng serbisyo ng s6-rc, na maaaring ituring na isang analogue ng sysv-rc o OpenRC, ay may kasamang isang hanay ng mga utility para sa pagsisimula at paghinto ng mga prosesong matagal nang tumatakbo (mga daemon) o agad na winakasan ang mga script ng pagsisimula. Sa panahon ng trabaho, ang mga dependency sa pagitan ng mga bahagi ay isinasaalang-alang, ang parallel na paglulunsad ng mga script at mga serbisyo na hindi nagsalubong sa isa't isa ay sinisiguro, at ang pagkakasunod-sunod ng pagpapatupad ng script ay ginagarantiyahan na mauulit sa iba't ibang paglulunsad. Ang lahat ng mga pagbabago sa estado ay pinoproseso na isinasaalang-alang ang mga dependency, tinitiyak na ang mga dependency ay hindi nilalabag (halimbawa, kapag nagsimula ang isang serbisyo, ang mga dependency na kinakailangan para sa operasyon nito ay awtomatikong ilulunsad, at kapag huminto, ang mga umaasa na serbisyo ay ititigil din).

Sa halip na mga runlevel, nag-aalok ang s6-rc ng isang mas unibersal na konsepto ng mga bundle, na nagbibigay-daan sa iyong pagpangkatin ang mga serbisyo ayon sa mga di-makatwirang katangian at mga gawain na dapat lutasin. Upang mapabuti ang kahusayan sa trabaho, ginagamit ang isang pinagsama-samang database ng dependency, na nilikha ng s6-rc-compile utility batay sa mga nilalaman ng mga direktoryo na may mga file para sa pagsisimula/paghinto ng mga serbisyo. Ang s6-rc-db at s6-rc-update utility ay inaalok para sa pag-parse at pagmamanipula ng database. Sinusuportahan ng system ang sysv-init compatible init script at maaaring mag-import ng impormasyon ng dependency mula sa sysv-rc o OpenRC.

Kabilang sa mga pakinabang ng s6-rc ay isang compact na pagpapatupad na hindi naglalaman ng anumang kalabisan maliban sa mga bahagi para sa paglutas ng mga direktang problema, at kumonsumo ng isang minimum na mapagkukunan. Hindi tulad ng ibang mga tagapamahala ng serbisyo, sinusuportahan ng s6-rc ang proactive (offline) na pagbuo ng isang dependency graph para sa isang umiiral na hanay ng mga serbisyo, na nagbibigay-daan sa iyong magsagawa ng resource-intensive dependency analysis nang hiwalay, at hindi sa panahon ng paglo-load o pagbabago ng estado. Kasabay nito, ang sistema ay hindi monolitik at nahahati sa isang serye ng mga hiwalay at maaaring palitan na mga module, na ang bawat isa, alinsunod sa pilosopiya ng Unix, ay nalulutas lamang ang isang tiyak na gawain.

Sa kumbinasyon ng mga s6 utilities na sumusubaybay sa pagpapatakbo ng mga proseso (katulad ng daemontools at runit), pinapayagan ka ng toolkit na sabay na subaybayan ang pagpapatakbo ng mga serbisyong matagal nang tumatakbo, halimbawa, muling simulan ang mga ito kung sakaling magkaroon ng abnormal na mga pagwawakas, at tiyakin na ang isang pagkakasunod-sunod of commands ay inilunsad sa isang reproducible form, na inuulit sa iba't ibang startup. Kasama sa mga sinusuportahang feature ang pag-activate ng serbisyo kapag nag-a-access ng socket (paglulunsad ng handler kapag nag-a-access ng network port), pag-log ng mga kaganapan sa proseso (pagpapalit ng syslogd) at kontroladong pagbibigay ng karagdagang mga pribilehiyo (katulad ng sudo).

Kasabay nito, ang paglabas ng s6-linux-init 1.0.7.0 package ay magagamit, na nag-aalok ng pagpapatupad ng proseso ng init para sa pagbuo ng mga handa na init system para sa mga operating system batay sa Linux kernel, kung saan ang s6 at s6 -rc utilities ay ginagamit upang pamahalaan ang mga serbisyo at initialization script. Kasabay nito, ang s6 at s6-rc ay hindi nakatali sa s6-linux-init at, kung ninanais, maaaring magamit sa anumang mga sistema ng pagsisimula.

Bilang karagdagan, ang proyekto ay nagbibigay ng:

  • Ang s6-networking ay isang set ng mga utility para sa paglikha ng mga serbisyo sa network, katulad ng ucspi.
  • s6-frontend - isang framework para sa muling paglikha ng functionality ng daemontools at runit sa ibabaw ng s6.
  • Ang s6-portable-utils ay isang hanay ng mga karaniwang Unix utilities tulad ng cut, chmod, ls, sort at grep, na-optimize para sa minimal na pagkonsumo ng mapagkukunan at ibinibigay sa ilalim ng lisensya ng ISC.
  • s6-linux-utils - Isang set ng mga utility na partikular sa Linux tulad ng chroot, freeramdisk, logwatch, mount at swapon.
  • Ang s6-dns ay isang hanay ng mga library at utility ng kliyente na pumapalit sa mga karaniwang DNS utilities mula sa BIND at djbdns.

Sa bagong bersyon ng s6-rc, ang s6-rc-compile utility ay nagpapatupad ng pagbabasa ng data tungkol sa mga dependency at hanay ng mga serbisyo mula sa mga direktoryo, sa halip na mga file. Ang paggamit ng mga direktoryo ay nagpapasimple sa pagdaragdag ng mga serbisyo sa database na may impormasyon tungkol sa mga dependency kapag nag-i-install ng mga programa sa pamamagitan ng isang manager ng package, dahil pinapayagan ka nitong gawin nang hindi gumagawa ng mga pagbabago sa mga file. Ang suporta para sa lumang format na nakabatay sa file ay napanatili upang matiyak ang pagiging tugma. Sa bagong bersyon ng s6-linux-init, ang "-S" na opsyon ay naidagdag sa s6-linux-init-maker utility para sa pag-synchronize ng data sa mga container.

Pinagmulan: opennet.ru

Magdagdag ng komento