Pärast kahe aasta tööd SerpentOS projekti kallal teatasid arendajad, et peamiste tööriistade testimine on võimalik, sealhulgas:
- paketihaldur moss;
- konteinerite süsteem moss-container;
- sõltuvushalduse süsteem moss-deps;
- ehitussüsteem boulder;
- teenuste varjamise süsteem avalanche;
- repositories manager vessel;
- juhtpaneel summit;
- andmebaas moss-db;
- taaskasutatava bootstrapping süsteem bill.
Saadaval on avalik API ja pakereceptid. Tööriistade arendamiseks kasutatakse peamiselt D programmeerimiskeelt, ja kood levitatakse Zlib litsentsi alusel. Pakette kirjutatakse YAML konfiguratsioonikeeles ja kogutakse oma binaarfaili formaati .stone, mis sisaldab:
- Paketi metainfot ja selle sõltuvusi;
- Teavet paketi asukoha kohta süsteemis teiste pakettide suhtes;
- Vahemälu andmete indeks;
- Paketi toimimiseks vajalikud faili sisu.
Pakettihaldur moss laenab paljusid kaasaegseid funktsioone, mida arendatakse sellistes paketihaldurites nagu eopkg/pisi, rpm, swupd ja nix/guix, säilitades samas traditsioonilise lähenemise pakettide käsitlemisele. Kõik paketid kompileeritakse vaikimisi staateless režiimis ja ei sisalda operatsioonisüsteemiga mitteseotud faile, et vältida olukordi, kus tekivad konfliktide lahendamise või ühendamise toimingud.
Pakettihaldur kasutab süsteemi uuendamiseks aatomaarset mudelit, kus salvestatakse rootfs olek ja pärast uuendamist vahetatakse olek uuteks. Selle tulemusena, kui uuendamise käigus tekivad probleemid, on võimalus tagasipöörde tegemiseks varasemasse tööolekusse.
Ruumihoiustamise kokkuhoiu huvides paljude versioonide paketide salvestamisel rakendatakse deduplikatsiooni kõvade linkide ja jagatud vahemälu alusel. Paigaldatud pakettide sisu paigutatakse katalooge /os/store/installation/N, kus N on versiooninumber. Selle kataloogi sisu on seotud baasikataloogidega (näiteks /sbin osutab /os/store/installation/0/usr/bin, ja /usr osutab /os/installation/0/usr).
Pakettide installimise protsess koosneb järgmistest etappidest:
- Installeerimisretsepti kirjutamine (stone.yml);
- Paketi kogumine boulderi abil;
- Binaarsete paketide saamine .stone formaadis vajalike metainformatsioonidega;
- Pakettide andmebaasi sisestamine;
- Pakettide halduriga moss installimine.
Projekti ümber on koondunud vana Soluse jaotuse arendajate meeskond. Näiteks osalevad SerpentOS jaotuse arenduses Ikey Doherty, Soluse jaotuse looja, ja Joshua Strobl, Budgie töölaudade peaarendaja, kes oli varem teada andnud Soluse projekti juhtkonna (Core Team) lahkumisest ning võtmed oma vastutusest arendajatega suhtlemise ja kasutajaliidese arenduse (Experience Lead) eest.
SerpentOS arendajad kutsuvad spetsialiste, kes tunnevad D programmeerimiskeelt, liituma põhivahendite arendamise ja/või pakettide retseptide kirjutamisega, ning mitte-tehnilisi spetsialiste palutakse aidata dokumentatsiooni tõlkimisel erinevatesse keeltesse.
Allikas: opennet.ru
