Két évnyi munka után a SerpentOS disztribúció fejlesztői bejelentették, hogy elérhető a fő eszközkészlet tesztelése, amely magában foglalja:
- a moss csomagkezelőt;
- a moss-container tárolórendszert;
- a moss-deps függőségkezelő rendszert;
- a boulder építőrendszert;
- az avalanche szolgáltatáselrejtő rendszert;
- a vessel tárolókezelőt;
- vezérlőpanel summit;
- a moss-db adatbázist;
- a bill reprodukálható bootstrap rendszerét.
Nyilvános API és csomagreceptek állnak rendelkezésre. Az eszközkészlet fejlesztéséhez főként a D programozási nyelvet használják, a kód pedig Zlib licenc alatt terjeszthető. A csomagok YAML konfigurációs nyelven íródnak, és saját .stone bináris formátumba épülnek, amely a következőket tartalmazza:
- A csomag metaadatait és függőségeit;
- A csomag elhelyezkedésének információját a rendszeren belül, a többi csomaghoz viszonyítva;
- A cache-elt adatok indexét;
- A csomag működéséhez szükséges fájlok tartalmát.
A moss csomagkezelő sok modern képességet kölcsönöz olyan csomagkezelőktől, mint az eopkg/pisi, rpm, swupd és nix/guix, miközben megőrzi a csomagok manipulálásának hagyományos nézőpontját. Minden csomag alapértelmezés szerint stateless módban épül fel, és nem tartalmaz olyan fájlokat, amelyek nem kapcsolódnak az operációs rendszerhez, így elkerülve a csomagok közötti ütközések megoldására vagy egyesítési műveletekről szóló helyzeteket.
A csomagkezelő atomikus rendszerfrissítési modellt használ, amely rögzíti a rootfs állapotát, majd frissítés után az állapot átvált az újra. Ennek következtében, ha a frissítés során problémák merülnek fel, lehetőség van a változások visszaállítására a korábbi működő állapotra.
A lemezterület megtakarítása érdekében a csomagok több verziójának tárolása során a kemény linkek és a közös cache alapján deduplikációt alkalmaznak. A telepített csomagok tartalma a /os/store/installation/N könyvtárban helyezkedik el, ahol N a verziószám. E könyvtár tartalmához linkek segítségével kapcsolódnak az alapvető könyvtárak (például a /sbin a /os/store/installation/0/usr/bin-re mutat, míg a /usr a /os/installation/0/usr-re).
A csomagok telepítési folyamata a következő lépésekből áll:
- A telepítési recept megírása (stone.yml);
- A csomag összeállítása a boulder segítségével;
- A szükséges metaadatokkal rendelkező bináris csomag megszerzése .stone formátumban;
- Csomagok adatbázisba való rögzítése;
- Csomagkezelővel való telepítés moss.
A Solus disztribúció régi fejlesztőcsapata egyesült a projekt körül. Például a SerpentOS disztribúció fejlesztésében részt vesz Ikey Doherty, a Solus disztribúció létrehozója, és Joshua Strobl, a Budgie asztali környezet kulcsfontosságú fejlesztője, aki korábban bejelentette távozását a Solus projekt vezetői csapatából, és lemondott a fejlesztőkkel való kapcsolattartásért és a felhasználói felület fejlődéséért felelős vezetői szerepéről.
A SerpentOS fejlesztői azokat a szakembereket keresik, akik ismerik a D programozási nyelvet, hogy csatlakozzanak az alapvető eszközkészlet fejlesztéséhez és/vagy a csomagreceptek írásához, míg a nem technikai szakemberek segítségét kérik a dokumentáció különböző nyelvekre való fordításában.
Forrás: opennet.ru
