Distri - արագ փաթեթների կառավարման տեխնոլոգիաների փորձարկման բաշխում

Մայքլ Սթեփելբերգ, i3wm սալիկապատ պատուհանի մենեջերի հեղինակ և Debian-ի նախկին ակտիվ ծրագրավորող (պահպանել է մոտ 170 փաթեթ), զարգանում է փորձարարական բաշխում շրջան և նույնանուն փաթեթի կառավարիչ: Նախագիծը դիրքավորվում է որպես փաթեթների կառավարման համակարգերի արդյունավետությունը բարձրացնելու հնարավոր ուղիների ուսումնասիրություն և մարմնավորում է որոշ նոր գաղափարներ բաշխումների կառուցման համար: Փաթեթի կառավարչի կոդը գրված է Go և տարածվում է BSD լիցենզիայի ներքո:

Բաշխման փաթեթի ձևաչափի հիմնական առանձնահատկությունն այն է, որ փաթեթը առաքվում է SquashFS պատկերների տեսքով՝ սեղմված tar արխիվների փոխարեն: SquashFS-ի օգտագործումը, որը նման է AppImage և Snap ձևաչափերին, թույլ է տալիս «մոնտաժել» փաթեթը՝ առանց այն ապափաթեթավորելու, ինչը խնայում է սկավառակի տարածությունը, թույլ է տալիս ատոմային փոփոխություններ կատարել և ակնթարթորեն հասանելի է դարձնում փաթեթի բովանդակությունը: Միևնույն ժամանակ, distri փաթեթները, ինչպես դասական «deb» ձևաչափում, պարունակում են միայն առանձին բաղադրիչներ, որոնք կապված են այլ փաթեթների հետ կախվածությամբ (գրադարանները չեն կրկնօրինակվում փաթեթներում, այլ տեղադրվում են որպես կախվածություն): Այլ կերպ ասած, distri-ն փորձում է համատեղել դասական բաշխումների հատիկավոր փաթեթի կառուցվածքը, ինչպիսին է Debian-ը, մոնտաժված բեռնարկղերի տեսքով հավելվածների առաքման մեթոդների հետ:

Distri-ի յուրաքանչյուր փաթեթ տեղադրվում է իր գրացուցակում՝ միայն կարդալու ռեժիմով (օրինակ, zsh-ով փաթեթը հասանելի է որպես «/ro/zsh-amd64-5.6.2-3»), ինչը դրական է ազդում անվտանգության և անվտանգության վրա: պաշտպանում է պատահական կամ վնասակար փոփոխություններից: Ծառայությունների դիրեկտորիաների հիերարխիա ձևավորելու համար, ինչպիսիք են /usr/bin, /usr/share և /usr/lib-ը, օգտագործվում է հատուկ FUSE մոդուլ, որը միավորում է բոլոր տեղադրված SquashFS պատկերների բովանդակությունը մեկ ամբողջության մեջ (օրինակ՝ / ro/share գրացուցակը տրամադրում է հասանելիություն բոլոր փաթեթներից կիսագրված ենթատեղեկատուների համար):

Փաթեթներ in distri հիմնովին առաքվել է տեղադրման ժամանակ կանչված մշակողներից (առանց կեռիկների կամ ձգանների), և փաթեթի տարբեր տարբերակները կարող են գոյակցել միմյանց հետ, ուստի փաթեթների զուգահեռ տեղադրումը հնարավոր է դառնում: Առաջարկվող կառուցվածքը սահմանափակում է փաթեթների կառավարչի աշխատանքը միայն ցանցի թողունակությամբ, որի միջոցով ներբեռնվում են փաթեթները: Փաթեթի իրական տեղադրումը կամ թարմացումը կատարվում է ատոմային եղանակով և չի պահանջում բովանդակության կրկնօրինակում:

Փաթեթների տեղադրման ժամանակ կոնֆլիկտները վերացվում են, քանի որ յուրաքանչյուր փաթեթ կապված է իր սեփական գրացուցակի հետ, և համակարգը թույլ է տալիս մեկ փաթեթի տարբեր տարբերակների առկայությունը (գրացուցակի բովանդակությունը փաթեթի ավելի թարմ վերանայմամբ ներառված է միության գրացուցակներում): Փաթեթների կառուցումը նույնպես շատ արագ է և չի պահանջում փաթեթների տեղադրում առանձին build միջավայրում (build միջավայրում ստեղծվում են /ro գրացուցակից անհրաժեշտ կախվածությունների ներկայացումները):

Աջակցված է փաթեթի կառավարման տիպիկ հրամաններ, ինչպիսիք են «distri install» և «distri update», և տեղեկատվական հրամանների փոխարեն կարող եք օգտագործել ստանդարտ «ls» կոմունալ ծրագիրը (օրինակ, տեղադրված փաթեթները դիտելու համար պարզապես ցուցադրեք դիրեկտորիաների ցանկը « /ro» հիերարխիա, և պարզելու համար, թե որ փաթեթում է ներառված ֆայլը, տեսեք, թե ուր է տանում այս ֆայլի հղումը):

Փորձարկման համար առաջարկվող բաշխման նախատիպը ներառում է մոտ 1700 փաթեթ և պատրաստ տեղադրման պատկերներ տեղադրողով, որը հարմար է և՛ որպես հիմնական ՕՀ տեղադրման, և՛ QEMU, Docker, Google Cloud և VirtualBox-ում գործարկելու համար: Այն աջակցում է բեռնումը կոդավորված սկավառակի միջնորմից և ստանդարտ հավելվածների շարք՝ i3 պատուհանների կառավարչի հիման վրա աշխատասեղան ստեղծելու համար (Google Chrome-ն առաջարկվում է որպես զննարկիչ): Տրամադրված է բաշխման հավաքման, փաթեթներ պատրաստելու և գեներացնելու, հայելիների միջոցով փաթեթներ բաժանելու և այլնի ամբողջական գործիքակազմ:

Source: opennet.ru

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