FreeBSD үшін жаңа жүйелік менеджер, rcd, әзірленуде.

FreeBSD негізгі тобының мүшесі және pkg пакет менеджерінің авторы Баптист Даруссин FreeBSD үшін жаңа жүйелік менеджер - rcd әзірлеуде. rcd жүйелік менеджері /etc/rc орнына init процесі арқылы шақырылады, қызмет конфигурация файлдарын оқиды (/etc/rcd.d/*.ucl), тәуелділік ағашын құрады және мүмкіндігінше қызметтерді параллель іске қосады. Содан кейін ол қызметтерді бақылайды және қажет болған жағдайда оларды қайта іске қосады.

Фондық процесті және қызметтермен операцияларды басқару командаларды UNIX сокетіне тікелей жіберу немесе rctl командалық жолы утилитасын пайдалану арқылы жүзеге асырылуы мүмкін. Қызмет параметрлері бар бірлік файлдары UCL форматында пішімделеді, ол nginx форматына ұқсайды және конфигурация файлдарын автоматтандырылған өңдеуді жеңілдету үшін JSON-нан алынған элементтермен байланыстырады. Lua-да типтік бірлік файлдарының үлгілерін жасауға және кіріктірілген өңдегіштерді жазуға болады. Nginx іске қосуға арналған бірлік файлының мысалы: name = "nginx"; description = "Nginx HTTP Server"; type = "simple"; command = "/usr/local/sbin/nginx"; command_args = "-g 'daemon off;'"; provides = ["nginx", "http"]; requires = ["NETWORKING", "sshd"]; restart { policy = "always"; max_retries = 10; delay = 2000; backoff = "linear"; } process { user = "www"; group = "www"; cpuset = "0-3"; } rctl { memoryuse = { action = "deny"; amount = "2g"; }; pcpu = { action = "throttle"; amount = "80"; }; }

PID файлдарын пайдаланудың орнына, іске қосылған процестердің белсенділігін бақылау pdfork() жүйелік шақыруымен қайтарылатын дескрипторларды пайдалану арқылы жүзеге асырылады. Желілік ұяшыққа қол жеткізілген кезде ғана қызметтерді белсендіруді қолдау және жад аз болған жағдайда маңызды қызметтерді мәжбүрлі түрде тоқтатудан қорғау мүмкіндігі бар. rcd фондық процесінің нұсқасын күйін жоғалтпай, жедел жаңартуға болады.

rctl қызметке қолжетімді ресурстарды шектеу үшін қолданылады, ал қызметтерді толық оқшаулау үшін жабық орталарда іске қосуға болады. UNIX басқару ұяшығына кіруді жеке қызметтер үшін конфигурациялауға болады. Ұйқы режиміне қолдау көрсетіледі.

Жүйе менеджері қолданыстағы rc.d қызметінің тізбекті іске қосу жүйесімен толығымен кері үйлесімді және оны қолданыстағы rc.d скрипттері мен конфигурация файлдарын өзгертпей пайдалануға болады. Rcd бағдарламасын жұмыс істеп тұрған жүйеге орнатыңыз, қайта жүктегеннен кейін, қызметтің параллель іске қосылуына байланысты жүктеу уақытының қысқаруынан басқа, бәрі бұрынғыдай жұмыс істей береді. Бұл үйлесімділік жүйелердің rcd-ге көшірілуін жеңілдетеді және қолданыстағы rc.d скрипттерін бірлік файл пішіміне біртіндеп түрлендіруге мүмкіндік береді.

rc.d-мен үйлесімділік үшін арнайы "бұрынғы" құрылғы түріне қолдау көрсетіледі. Rcd /etc/rc.d/ және /usr/local/etc/rc.d/ файлдарының мазмұнын сканерлейді, скрипттердегі PROVIDE/REQUIRE/BEFORE/KEYWORD тақырыптарын талдайды, rc.conf параметрлерін оқиды және скрипттің орындалу күйін анықтайды, содан кейін әрбір скриптті бұрынғы виртуалды құрылғы ретінде өңдейді. Мұндай виртуалды құрылғыларды басқару үшін rcctl командасын пайдаланған кезде операциялар бұрынғы форматқа аударылады; мысалы, "rcctl reload sshd" орындау "/etc/rc.d/sshd reload" командасын орындайды.

Ақпарат көзі: opennet.ru

DDoS қорғауы бар сайттар үшін сенімді хостинг, VPS VDS серверлерін сатып алыңыз 🔥 DDoS қорғанысы, VPS VDS серверлері бар сенімді веб-сайт хостингін сатып алыңыз | ProHoster