GNU Shepherd 0.8 init համակարգի թողարկում

Հասանելի է սպասարկման մենեջեր GNU Shepherd 0.8 (նախկին dmd), որը մշակվում է GNU Guix System բաշխման մշակողների կողմից՝ որպես SysV-init init համակարգի կախվածության մասին տեղյակ այլընտրանք։ Shepherd-ի կառավարման դեյմոնը և կոմունալ ծրագրերը գրված են Guile լեզվով (Scheme լեզվի իրականացումներից մեկը), որն օգտագործվում է նաև ծառայությունների գործարկման պարամետրեր և պարամետրեր սահմանելու համար: Shepherd-ն արդեն օգտագործվում է GuixSD GNU/Linux բաշխման մեջ և ուղղված է նաև GNU/Hurd-ում օգտագործմանը, բայց կարող է գործարկվել ցանկացած POSIX-ին համապատասխան ՕՀ-ով, որի համար հասանելի է Guile լեզուն:

Shepherd-ը կարող է օգտագործվել և՛ որպես հիմնական սկզբնավորման համակարգ (init՝ PID 1-ով), և՛ առանձին ձևով՝ առանձին օգտատերերի ֆոնային գործընթացները կառավարելու համար (օրինակ՝ գործարկել tor, privoxy, mcron և այլն)՝ կատարման իրավունքներով: այս օգտվողները: Shepherd-ը կատարում է ծառայություններ սկսելու և դադարեցնելու աշխատանքը՝ հաշվի առնելով ծառայությունների միջև փոխհարաբերությունները, դինամիկ կերպով բացահայտելով և սկսելով ծառայությունները, որոնցից կախված է ընտրված ծառայությունը: Shepherd-ը նաև աջակցում է ծառայությունների միջև կոնֆլիկտների հայտնաբերմանը և դրանց միաժամանակ գործարկման կանխմանը:

Հիմնական նորամուծությունները.

  • Make-kill-destructor-ն իրականացնում է մի խումբ գործընթացների սպանություն.
  • Ավելացվեց «default-pid-file-timeout» պարամետրը, որը որոշում է PID ֆայլ ստեղծելու սպասման ժամանակը.
  • Եթե ​​PID ֆայլը չի ​​երևում ժամանակի վերջում, ամբողջ գործընթացի խումբը դադարեցվում է (որոշում է խնդիրը թողնելով աշխատանքային գործընթացները առանց PID ֆայլի);
  • Ավելացվեց «#:file-creation-mask» պարամետրը «make-forkeexec-constructor»-ին, իրականացրեց գրանցամատյանների ֆայլի ստեղծումը և դադարեցրեց հին զանգերի կոնվենցիայի աջակցությունը;
  • Կոմպիլյացիայի հետ կապված խնդիրներ լուծեց առանց prctl համակարգերի, օրինակ՝ GNU/Hurd;
  • Շտկվել է խնդիր, որի պատճառով SIGALRM-ն ուղարկվում է ամեն վայրկյան:

Source: opennet.ru

Добавить комментарий