s6-rc кызмат менеджеринин 0.7.0.0 чыгарылышы жарыяланды. Ал инициализация скрипттерин жана кызматтарын ишке киргизүүнү башкаруу үчүн иштелип чыккан. Ал көз карандылык дарагын көзөмөлдөөнү жана көрсөтүлгөн абалга жетүү үчүн кызматты автоматтык түрдө ишке киргизүүнү же өчүрүүнү колдойт. s6-rc куралдар топтомун инициализация системаларында да, системанын абалындагы өзгөрүүлөрдү чагылдырган окуяларга негизделген каалагандай кызматтардын ишке киргизилишин уюштуруу үчүн да колдонсо болот. Система sysv-init менен шайкеш келген инициализация скрипттерин колдойт жана көз карандылык маалыматын sysv-rc же OpenRCден импорттой алат. Код C тилинде жазылган жана ISC лицензиясы боюнча таратылат.
s6-rc кызмат менеджери узакка созулган процесстерди (демондор) же токтоосуз токтотулган инициализация скрипттерин баштоо жана токтотуу үчүн утилиталардын топтомун камтыйт. Иштөө учурунда кесилишкен эмес кызматтарды параллелдүү ишке киргизүү камсыз кылынат жана ар кандай ишке киргизүү үчүн скрипттин кайталануучу ырааттуулугу кепилденет. Бардык абал өзгөртүүлөр көз карандылыктарды эске алуу менен иштетилет, мисалы, кызмат ишке киргизилгенде, анын иштеши үчүн зарыл болгон көз карандылыктар автоматтык түрдө ишке киргизилет, ал эми ал токтотулганда, көз каранды кызматтар да токтотулат.
Башка сервис менеджерлеринен айырмаланып, s6-rc учурдагы кызматтардын топтому үчүн көз карандылык графигин проактивдүү (офлайн) түзүүнү колдойт, бул жүктөө же абалды өзгөртүү учурунда эмес, ресурсту көп талап кылган көз карандылыктын анализин өзүнчө жүргүзүүгө мүмкүндүк берет. Ошол эле учурда система монолиттүү эмес жана өзүнчө жана алмаштырылуучу модулдардын сериясына бөлүнөт, алардын ар бири Unix философиясына ылайык, белгилүү бир тапшырманы гана чечет. s6-rc долбоору минимализм философиясын карманат (керексиз эч нерсе камтыбайт) жана минималдуу ресурстарды керектейт.
Иштөө деңгээлдеринин ордуна, s6-rc топтомдор концепциясын колдонот, бул кызматтарды каалаган критерийлер жана тапшырмалар боюнча топтоштурууга мүмкүндүк берет. Натыйжалуулукту жогорулатуу үчүн, кызматты баштоо/токтотуу файлдарын камтыган каталогдордун мазмунунун негизинде s6-rc-compile утилитасы тарабынан түзүлгөн компиляцияланган көз карандылык маалымат базасы колдонулат. s6-rc-db жана s6-rc-update утилиталар маалымат базасын талдоо жана башкаруу үчүн берилет. s6 куралдар тизмеги Obarun, Adelie жана Artix дистрибутивдеринде колдонулат жана кошумча түрдө Gentoo, Void жана Alpine'де колдонулушу мүмкүн.
Долбоор ошондой эле s6-rcди толуктаган коштоочу пакеттерди иштеп чыгат:
- s6 - процесстерди көзөмөлдөө жана башкаруу үчүн утилита (daemontools жана runit сыяктуу). Ал процесстерди анормалдуу түрдө токтоткондон кийин кайра баштоо, тармак портуна киргенде иштетүүчүнү ишке киргизүү (кызматты активдештирүү), окуяларды каттоо (syslogd ордуна) жана кошумча артыкчылыктарды көзөмөлдөп берүү (sudo сыяктуу) сыяктуу функцияларды колдойт.
- s6-linux-init — ядрого негизделген операциялык тутумдар үчүн init процессин ишке ашыруу Linux, кызматтарды жана скрипттерди башкаруу үчүн s6 жана s6-rc пакеттерин колдонгон init системаларын түзүү үчүн колдонулат.
- s6-networking - ucspi сыяктуу тармактык кызматтарды түзүү үчүн утилиталардын жыйындысы.
- s6-frontend - s6 үстүндөгү демонтолдордун жана руниттин функцияларын кайра түзүү үчүн негиз.
- s6-portable-utils бул cut, chmod, ls, sort жана grep сыяктуу стандарттуу Unix утилиталарынын жыйындысы, ресурсту минималдуу керектөө үчүн оптималдаштырылган жана ISC лицензиясы боюнча берилген.
- s6-linux-utils - байланышкан утилиттердин жыйындысы Linuxмисалы, chroot, freeramdisk, logwatch, mount жана swapon.
- mdevd - түзмөктөрдү ысык туташтырууну башкаруу үчүн иштелип чыккан окуя менеджери (udevdге окшош). mdevd Busybox'тун mdev менен конфигурацияга шайкеш келет.
- bcnm - бул кардар тарабында Wi-Fi конфигурациялоо мүмкүнчүлүктөрү бар тармак конфигуратору.
- execline - бул скрипт тили.
- skalibs - бул C тилинде коопсуз системалык тиркемелерди түзүү үчүн китепкана.
- s6-dns бул BIND жана djbdns стандарттык DNS утилиттерин алмаштырган кардар китепканаларынын жана утилиталарынын жыйындысы.
- dnsfunnel - жергиликтүү DNS сурамдарын тышкы сурамдарга багыттайт Server (DNS экспедитору).
- шибари - бул жөнөкөй DNS сервер.
- tipidee - бул HTTP/1.1 колдоосу бар HTTP сервери.
s6-rc жана ага байланыштуу утилиталардын жаңы версиясында:
- Көптөн бери иштеп жаткан кызматтарды кайра иштетүү үчүн "s6-rc reload" буйругу ишке ашырылды.
- Процессти кайра иштетүү үчүн жөнөтүлгөн сигналды аныктоочу кайра жүктөө сигналын башкаруу файлы кошулду (демейки SIGHUP).
- s6-rc-bundle утилитасы алынып салынды - кайра компиляциялабай туруп, бутактарды өзгөртүү мындан ары колдоого алынбайт.
- Ички маалымат базасы үчүн жаңы формат сунушталды (жаңыртуу кайра компиляциялоону жана s6-rc-format-upgrade утилитасын иштетүүнү талап кылат).
- Кызматты баштоо үчүн s6-rc-init утилитасын кайра иштетүү кырдаалын туура башкаруу камсыз кылынды жана системанын бузулууларын башкаруу жакшыртылды.
- s6-rc-set-change утилитасы төмөнкү параметрлер менен жаңыртылды: карама-каршылыктуу көз карандылык аныкталганда эскертүүнү же ката менен катаны көрсөтүү үчүн -I/-i; кызмат абалдары өзгөргөндө көз карандылыктын карама-каршылыктарын автоматтык түрдө чечүүнү өчүрүү/иштетүү үчүн -P/-p.
- Эскирген "-f" параметри алынып салынды.
- s6 утилитасы эми PID 1 астында иштебей турганда s6-svscan көзөмөлдөөчү журналдарын s6-log'го багыттоо үчүн s6-svscanboot буйругуна ээ.
- Өчүрүп-күйгүзүү үчүн сигнал жөнөтүү үчүн "s6-svc -l" опциясы ишке ашырылды.
- s6-фронтенд колдонуучу интерфейси эми төмөнкү параметрлерди жана буйруктарды колдойт: "s6 --user" (колдонуучу кызматтары менен иштөө үчүн), "s6 live reset", "s6 apply", "s6 enable|disable|start|stop|kill|apply", "s6 live stop --clean".
- tipidee HTTP сервери эми FastCGIди колдойт жана cgi_pass_authorization опциясын кошот.
Source: opennet.ru
