FreeBSD uchun yangi tizim menejeri, rcd, ishlab chiqilmoqda.

FreeBSD Core Team a'zosi va pkg paket menejeri muallifi Baptiste Daroussin FreeBSD uchun yangi tizim menejeri — rcd ni ishlab chiqmoqda. rcd tizim menejeri /etc/rc o'rniga init jarayoni tomonidan chaqiriladi, xizmat konfiguratsiya fayllarini (/etc/rcd.d/*.ucl) o'qiydi, bog'liqlik daraxtini yaratadi va iloji bo'lsa, xizmatlarni parallel ravishda ishga tushiradi. Keyin u xizmatlarni kuzatib boradi va kerak bo'lganda ularni qayta ishga tushiradi.

Fon jarayonini va xizmatlar bilan operatsiyalarni boshqarish buyruqlarni to'g'ridan-to'g'ri UNIX soketiga uzatish yoki rctl buyruq satri yordamchi dasturidan foydalanish orqali amalga oshirilishi mumkin. Xizmat parametrlariga ega birlik fayllari UCL formatida formatlanadi, bu nginx formatiga o'xshaydi va konfiguratsiya fayllarini avtomatlashtirilgan ishlov berishni soddalashtirish uchun JSON dan olingan elementlar bilan bog'laydi. Lua-da odatiy birlik fayllari shablonlarini yaratish va o'rnatilgan ishlov beruvchilarni yozish mumkin. Nginx-ni ishga tushirish uchun birlik fayliga misol: 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 fayllaridan foydalanish o'rniga, ishlayotgan jarayonlarning faolligini kuzatish pdfork() tizim chaqiruvi tomonidan qaytarilgan tavsiflovchilar yordamida amalga oshiriladi. Xizmatlarni faqat tarmoq rozetkasiga kirish mumkin bo'lganda faollashtirish va xotira kam bo'lgan hollarda muhim xizmatlarni majburiy tugatishdan himoya qilish imkoniyati mavjud. rcd fon jarayoni versiyasi holatni yo'qotmasdan tezkor ravishda yangilanishi mumkin.

rctl xizmat uchun mavjud resurslarni cheklash uchun ishlatiladi va xizmatlar to'liq izolyatsiya qilish uchun qamoqqa olingan muhitda ishga tushirilishi mumkin. UNIX boshqaruv rozetkasiga kirish alohida xizmatlar uchun sozlanishi mumkin. Uyqu rejimi qo'llab-quvvatlanadi.

Tizim menejeri mavjud rc.d xizmat ketma-ket ishga tushirish tizimi bilan to'liq orqaga mos keladi va mavjud rc.d skriptlari va konfiguratsiya fayllarini o'zgartirmasdan foydalanish mumkin. Shunchaki rcd-ni ishlayotgan tizimga o'rnating va qayta ishga tushirgandan so'ng, parallel ravishda ishga tushirilgan xizmat tufayli yuklash vaqtining qisqarishi bundan mustasno, hamma narsa avvalgidek ishlashda davom etadi. Bu moslik tizimlarning rcd-ga ko'chishini soddalashtiradi va mavjud rc.d skriptlarini birlik fayl formatiga bosqichma-bosqich o'tkazish imkonini beradi.

rc.d bilan moslik uchun maxsus "eski" birlik turi qo'llab-quvvatlanadi. Rcd /etc/rc.d/ va /usr/local/etc/rc.d/ fayllarining tarkibini skanerlaydi, skriptlardagi PROVIDE/REQUIRE/BEFORE/KEYWORD sarlavhalarini tahlil qiladi, rc.conf sozlamalarini o'qiydi va skriptning bajarilish holatini aniqlaydi, keyin har bir skriptni eski virtual birlik sifatida qayta ishlaydi. Bunday virtual birliklarni boshqarish uchun rcctl buyrug'idan foydalanilganda, operatsiyalar eski formatga o'tkaziladi; masalan, "rcctl reload sshd" ni bajarish "/etc/rc.d/sshd reload" ni ishga tushiradi.

Manba: opennet.ru

DDoS himoyasi, VPS VDS serverlari bo'lgan saytlar uchun ishonchli hosting sotib oling 🔥 DDoS himoyasi, VPS VDS serverlari bilan ishonchli veb-sayt xostingini sotib oling | ProHoster