Nakon dvije godine rada na projektu, programeri distribucije SerpentOS najavili su mogućnost testiranja glavnog alata koji uključuje:
- upravitelj paketa moss
- sustav spremnika za mahovinu;
- moss-deps sustav upravljanja ovisnošću;
- sustav montaže bouldera;
- sustav za skrivanje lavina;
- upravitelj spremišta posuda;
- upravljačka ploča vrha;
- moss-db baza podataka;
- reproducible bootstrapping system račun.
Dostupni su javni API i recepti za pakete. Za razvoj alata uglavnom se koristi programski jezik D, a kod se distribuira pod Zlib licencom. Paketi su napisani u YAML konfiguracijskom jeziku i ugrađeni u vlastiti .stone binarni format, koji uključuje:
- Metapodaci paketa i njihove ovisnosti;
- Informacije o lokaciji paketa u sustavu u odnosu na druge pakete;
- Indeks predmemoriranih podataka;
- Sadržaj datoteka paketa potrebnih za rad.
Upravitelj paketa Moss posuđuje mnoge moderne značajke koje su razvili upravitelji paketa kao što su eopkg/pisi, rpm, swupd i nix/guix, zadržavajući tradicionalni pogled na manipulaciju paketima. Svi su paketi prema zadanim postavkama izgrađeni bez stanja i ne uključuju datoteke neoperativnog sustava kako bi se izbjegle situacije koje zahtijevaju rješavanje sukoba paketa ili operacije spajanja.
Upravitelj paketa koristi atomski model ažuriranja sustava, koji popravlja stanje rootfs-a, a nakon ažuriranja stanje se prebacuje na novo. Kao rezultat toga, ako postoje problemi tijekom ažuriranja, moguće je vratiti promjene na prethodno radno stanje.
Deduplikacija na temelju tvrdih veza i dijeljene predmemorije koristi se za uštedu prostora na disku pri pohranjivanju više verzija paketa. Sadržaj instaliranih paketa nalazi se u direktoriju /os/store/installation/N, gdje je N broj verzije. Osnovni direktoriji se odnose na sadržaj ovog direktorija (na primjer, /sbin pokazuje na /os/store/installation/0/usr/bin, a /usr pokazuje na /os/installation/0/usr).
Proces instalacije paketa sastoji se od sljedećih koraka:
- Pisanje recepta za instalaciju (stone.yml);
- Izgradnja paketa pomoću gromade;
- Dobivanje binarnog paketa u .stone formatu s potrebnim metapodacima;
- Unos paketa u bazu podataka;
- Instalacija s upraviteljem paketa mahovine.
Oko projekta se okupio stari distribucijski tim Solusa. Na primjer, distribuciju SerpentOS razvijaju Ikey Doherty, tvorac Solus distribucije, i Joshua Strobl, ključni programer Budgie radne površine, koji je prethodno najavio odlazak iz Solus Core Teama i povlačenje ovlasti voditelja odgovornog za interakciju s programerima i razvojem korisničkog sučelja (Experience Lead).
Programeri SerpentOS-a pozivaju ljude koji poznaju programski jezik D da se pridruže razvoju osnovnog alata i/ili pisanju recepata za pakete, a osobe koje nisu tehnički upućene traže da pomognu prevesti dokumentaciju na različite jezike.
Izvor: opennet.ru