Նախագծի վրա երկու տարի աշխատելուց հետո SerpentOS բաշխման մշակողները հայտարարեցին հիմնական գործիքների փորձարկման հնարավորության մասին, ներառյալ.
- մամուռ փաթեթի կառավարիչ;
- մամուռ-կոնտեյներային կոնտեյներային համակարգ;
- moss-deps կախվածության կառավարման համակարգ;
- քարերի հավաքման համակարգ;
- Ձնահոսքի ծառայության թաքցման համակարգ;
- նավի պահեստի կառավարիչ;
- գագաթնաժողովի կառավարման վահանակ;
- moss-db տվյալների բազա;
- համակարգը վերարտադրվող bootstrapping (bootstrap) հաշիվ.
Հանրային API և փաթեթի բաղադրատոմսեր մատչելի են: Գործիքների փաթեթը հիմնականում մշակվում է D ծրագրավորման լեզվի միջոցով, իսկ կոդը բաշխվում է Zlib լիցենզիայի ներքո: Փաթեթները գրված են YAML կոնֆիգուրացիայի լեզվով և կազմված են մայրենի .stone երկուական ձևաչափով, որը ներառում է.
- Փաթեթի մետատվյալները և դրանց կախվածությունները;
- Տեղեկատվություն համակարգում փաթեթի գտնվելու վայրի մասին այլ փաթեթների համեմատ.
- Քեշավորված տվյալների ինդեքս;
- Գործարկման համար անհրաժեշտ փաթեթի ֆայլերի բովանդակությունը:
Մամուռ փաթեթների կառավարիչը փոխառում է փաթեթների կառավարիչներում մշակված ժամանակակից գործառույթներից շատերը, ինչպիսիք են eopkg/pisi, rpm, swupd և nix/guix՝ պահպանելով փաթեթների մանիպուլյացիայի ավանդական տեսակետը: Բոլոր փաթեթները լռելյայն կառուցված են առանց քաղաքացիության և չեն ներառում ոչ օպերացիոն համակարգի ֆայլեր՝ խուսափելու իրավիճակներից, երբ փաթեթների կոնֆլիկտի լուծումը կամ միաձուլման գործողություններ են պահանջվում:
Փաթեթի կառավարիչը օգտագործում է ատոմային համակարգի թարմացման մոդել, որում ֆիքսված է rootfs-ի վիճակը, իսկ թարմացումից հետո վիճակն անցնում է նորին։ Արդյունքում, եթե թարմացման ընթացքում որևէ խնդիր առաջանա, հնարավոր է փոփոխությունները հետ վերադարձնել նախկին աշխատանքային վիճակին:
Փաթեթների մի քանի տարբերակների պահպանման ժամանակ սկավառակի տարածությունը խնայելու համար օգտագործվում է կրկնօրինակումը կոշտ հղումների և ընդհանուր քեշի հիման վրա: Տեղադրված փաթեթների բովանդակությունը գտնվում է /os/store/installation/N գրացուցակում, որտեղ N-ը տարբերակի համարն է: Հիմնական դիրեկտորիաները կապված են այս գրացուցակի բովանդակության հետ՝ օգտագործելով հղումներ (օրինակ՝ /sbin-ը մատնանշում է /os/store/installation/0/usr/bin, և /usr-ը մատնանշում է /os/installation/0/usr-ին):
Փաթեթի տեղադրման գործընթացը բաղկացած է հետևյալ քայլերից.
- Տեղադրման բաղադրատոմս գրելը (stone.yml);
- Փաթեթի կառուցում, օգտագործելով քարքարոտ;
- Երկուական փաթեթի ստացում .stone ձևաչափով՝ անհրաժեշտ մետատվյալներով;
- Փաթեթների մուտքագրում տվյալների բազա;
- Տեղադրում մամուռ փաթեթի կառավարչի միջոցով:
Solus բաշխման հին մշակող թիմը համախմբվել է նախագծի շուրջ: Օրինակ, Ikey Doherty-ն՝ Solus-ի բաշխման ստեղծողը, և Ջոշուա Ստրոբլը՝ Budgie աշխատասեղանի հիմնական մշակողը, ով ավելի վաղ հայտարարել էր Solus նախագծի կառավարման խորհրդի անդամից (Core Team) իր հրաժարականի մասին, մասնակցում են ծրագրի մշակմանը։ SerpentOS-ի բաշխումը, ղեկավարի լիազորությունները, որոնք պատասխանատու են մշակողների հետ փոխգործակցության և օգտատիրոջ միջերեսի մշակման համար (Experience Lead):
SerpentOS-ի մշակողները խրախուսում են D ծրագրավորման լեզվի իմացությամբ մարդկանց միանալ հիմնական գործիքների մշակմանը և/կամ փաթեթի բաղադրատոմսեր գրելուն, և ոչ տեխնիկական մարդկանց խնդրում են օգնել փաստաթղթերը թարգմանել տարբեր լեզուներով:
Source: opennet.ru