Ծառայությունների մենեջերի թողարկում s6-rc 0.5.3.0 և սկզբնավորման համակարգի s6-linux-init 1.0.7

Պատրաստվել է ծառայության մենեջերի s6-rc 0.5.3.0-ի զգալի թողարկում, որը նախատեսված է սկզբնավորման սկրիպտների և ծառայությունների գործարկումը կառավարելու համար՝ հաշվի առնելով կախվածությունները: S6-rc գործիքակազմը կարող է օգտագործվել ինչպես սկզբնավորման համակարգերում, այնպես էլ կամայական ծառայությունների մեկնարկը կազմակերպելու համար՝ կապված համակարգի վիճակի փոփոխություններն արտացոլող իրադարձությունների հետ: Ապահովում է ամբողջական կախվածության ծառի հետևում և ծառայությունների ավտոմատ գործարկում կամ անջատում՝ որոշակի վիճակի հասնելու համար: Կոդը գրված է C-ով և տարածվում է ISC լիցենզիայի ներքո:

S6-rc ծառայության մենեջերը, որը կարելի է համարել sysv-rc-ի կամ OpenRC-ի անալոգը, ներառում է երկարատև պրոցեսները (դեյմոններ) կամ անմիջապես դադարեցված սկզբնավորման սկրիպտներ սկսելու և դադարեցնելու կոմունալ ծառայություններ: Աշխատանքի ընթացքում հաշվի են առնվում բաղադրիչների միջև կախվածությունը, ապահովվում է սկրիպտների և ծառայությունների զուգահեռ գործարկում, որոնք չեն հատվում միմյանց հետ, և սկրիպտի կատարման հաջորդականությունը երաշխավորված է կրկնվելու տարբեր գործարկումներում: Պետական ​​բոլոր փոփոխությունները մշակվում են՝ հաշվի առնելով կախվածությունները՝ համոզվելով, որ կախվածությունները չեն խախտվում (օրինակ, երբ ծառայությունը գործարկվում է, դրա գործարկման համար անհրաժեշտ կախվածությունները ավտոմատ կերպով կգործարկվեն, իսկ երբ դադարեցվեն՝ կախված ծառայությունները նույնպես կդադարեցվեն):

Runlevels-ի փոխարեն s6-rc-ն առաջարկում է փաթեթների ավելի ունիվերսալ հայեցակարգ, որը թույլ է տալիս խմբավորել ծառայություններն ըստ կամայական բնութագրերի և առաջադրանքների, որոնք պետք է լուծվեն: Աշխատանքի արդյունավետությունը բարելավելու համար օգտագործվում է կոմպիլացված կախվածության տվյալների բազա, որը ստեղծվել է s6-rc-compile կոմունալ ծրագրի կողմից՝ հիմնված ծառայությունների մեկնարկի/դադարեցման համար ֆայլերով դիրեկտորիաների բովանդակության վրա: s6-rc-db և s6-rc-update կոմունալ ծառայություններն առաջարկվում են տվյալների բազայի վերլուծության և մանիպուլյացիայի համար: Համակարգն աջակցում է sysv-init-ի համատեղելի սկզբնական սկրիպտներին և կարող է ներմուծել կախվածության մասին տեղեկատվություն sysv-rc-ից կամ OpenRC-ից:

S6-rc-ի առավելությունների թվում է կոմպակտ իրականացումը, որը չի պարունակում որևէ ավելորդ բան, բացառությամբ ուղղակի խնդիրների լուծման բաղադրիչների, և սպառում է նվազագույն ռեսուրսներ: Ի տարբերություն այլ ծառայությունների կառավարիչների, s6-rc-ն աջակցում է գոյություն ունեցող ծառայությունների համար կախվածության գրաֆիկի ակտիվ (օֆլայն) կառուցմանը, որը թույլ է տալիս կատարել ռեսուրսների ինտենսիվ կախվածության վերլուծություն առանձին, և ոչ թե բեռնման կամ վիճակի փոփոխության ժամանակ: Միևնույն ժամանակ, համակարգը միաձույլ չէ և բաժանված է առանձին և փոխարինելի մոդուլների մի շարքի, որոնցից յուրաքանչյուրը Unix-ի փիլիսոփայության համաձայն լուծում է միայն կոնկրետ խնդիր։

Գործիքների հետ միասին s6 կոմունալ ծառայությունները, որոնք վերահսկում են պրոցեսների աշխատանքը (որոնք նման են daemontools-ին և runit-ին), գործիքակազմը թույլ է տալիս միաժամանակ վերահսկել երկարատև ծառայությունների աշխատանքը, օրինակ՝ վերագործարկել դրանք աննորմալ ընդհատումների դեպքում և ապահովել, որ հաջորդականությունը հրամանները գործարկվում են վերարտադրվող ձևով, որը կրկնվում է տարբեր ստարտափներում: Աջակցվող գործառույթները ներառում են ծառայության ակտիվացում վարդակից մուտք գործելիս (գործարկվում է կարգավորիչը ցանցի միացք մուտք գործելիս), գործընթացի իրադարձությունների գրանցում (փոխարինելով syslogd-ը) և լրացուցիչ արտոնությունների վերահսկվող տրամադրում (որը նման է sudo-ին):

Միևնույն ժամանակ հասանելի է s6-linux-init 1.0.7.0 փաթեթի թողարկումը, որն առաջարկում է init գործընթացի իրականացում Linux միջուկի վրա հիմնված օպերացիոն համակարգերի համար պատրաստի init համակարգեր կառուցելու համար, որոնցում s6 և s6 -rc կոմունալ ծառայություններն օգտագործվում են ծառայությունների և սկզբնավորման սկրիպտների կառավարման համար: Միևնույն ժամանակ, s6-ը և s6-rc-ը կապված չեն s6-linux-init-ի հետ և, ցանկության դեպքում, կարող են օգտագործվել ցանկացած սկզբնավորման համակարգերի հետ:

Բացի այդ, նախագիծը նախատեսում է.

  • s6-networking-ը ucspi-ի նման ցանցային ծառայություններ ստեղծելու կոմունալ ծառայությունների մի շարք է:
  • s6-frontend - s6-ի վերևում գտնվող daemontools-ի և runit-ի ֆունկցիոնալությունը վերստեղծելու շրջանակ:
  • s6-portable-utils-ը ստանդարտ Unix կոմունալ ծառայությունների մի շարք է, ինչպիսիք են cut, chmod, ls, sort և grep, օպտիմիզացված նվազագույն ռեսուրսների սպառման համար և մատակարարված ISC լիցենզիայի ներքո:
  • s6-linux-utils - Linux-ին հատուկ կոմունալ ծրագրերի մի շարք, ինչպիսիք են chroot, freeramdisk, logwatch, mount և swapon:
  • s6-dns-ը հաճախորդների գրադարանների և կոմունալ ծրագրերի մի շարք է, որոնք փոխարինում են BIND-ի և djbdns-ի ստանդարտ DNS կոմունալ ծառայություններին:

s6-rc-ի նոր տարբերակում s6-rc-compile կոմունալը ֆայլերի փոխարեն իրականացնում է տեղեկատուներից կախվածությունների և ծառայությունների հավաքածուների վերաբերյալ տվյալներ կարդալու տվյալները: Գրացուցակների օգտագործումը հեշտացնում է տվյալների բազայում ծառայություններ ավելացնելը կախվածության մասին տեղեկություններով՝ փաթեթների կառավարչի միջոցով ծրագրեր տեղադրելիս, քանի որ դա թույլ է տալիս անել առանց ֆայլերում փոփոխություններ կատարելու: Համատեղելիությունն ապահովելու համար պահպանվել է հին ֆայլի վրա հիմնված ձևաչափի աջակցությունը: S6-linux-init-ի նոր տարբերակում «-S» տարբերակը ավելացվել է s6-linux-init-maker կոմունալ ծրագրին՝ կոնտեյներներում տվյալների համաժամացման համար:

Source: opennet.ru

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