AerynOS, nova distribucija, ki se predstavlja kot infrastruktura s platformsko vizijo

AerynOS

V dolgem tehničnem članku, Ikey Doherty (znan po vodenju projektov, kot je Solus, in prispevku k Clear Linuxu) opisuje filozofijo in arhitekturo AerynOS-a, ta novi projekt, ki si prizadeva na novo premisliti, kako naj bi se operacijski sistem obnašal v dobi infrastrukture kot kode.

In še zdaleč ni le še ena distribucija v ekosistemu Linuxa, AerynOS se predstavlja kot temeljita prenova sodobnega operacijskega sistema.

Od distribucije do infrastrukture

AerynOS se rodi iz vprašanja provokativno: "Kaj če bi se operacijski sistem obnašal kot sodobna infrastruktura?". Odgovor je platforma, zgrajena od temeljev, brez vlečenja zastarelih konvencij tradicionalnih distribucij in namesto spreminjanja obstoječih sistemov, AerynOS izhaja iz čistih temeljev, izkorišča prejšnje izkušnje in sprejema radikalne arhitekturne odločitve za zagotavljanje doslednosti, reverzibilnosti in strukturne preprostosti.

Ikey Doherty v svojem članku omenja, da Ena najbolj presenetljivih odločitev je sprejetje orodne verige LLVM. namesto tradicionalnega GNU-ja, privzeto z uporabo libc++ in compiler-rt. Ta izbira ni posledica le slogovnih preferenc, temveč tudi strategije. za vrhunsko diagnostiko in večjo prenosljivost. Kljub tej nadgradnji AerynOS ostaja zavezan uporabi glibc kot standardne knjižnice in jo je izbral pred musl zaradi njene vrhunske zmogljivosti pri večnitnih obremenitvah in zahtevnih aplikacijah.

Poleg tega je omenjeno, da je eden Eden od osrednjih konceptov AerynOS-a je »brezdržavnost«: Noben paket ne more namestiti datotek zunaj mape /usr. Ta stroga razmejitev ločuje uporabniški prostor (/etc, /var) od sistemskega prostora, kar odpravlja konflikte združevanja in omogoča čiste nadgradnje. Ta ideja, ki sega v čas sistema Clear Linux, si prizadeva uveljaviti smiselne privzete nastavitve in se izogniti nepotrebni kompleksnosti, ki jo pogosto uvajajo bolj prilagodljivi sistemi.

Atomske in reverzibilne posodobitve

AerynOS uporablja popolnoma nov sistem za upravljanje paketov, imenovan Moss, ki izvaja atomske transakcije. Vsaka posodobitev ustvari novo drevo /usr z uporabo trdih povezav iz deduplicirane shrambe in se atomsko zamenja s trenutnim drevesom z uporabo renameat2(). Ta mehanizem zagotavlja, da so posodobitve bodisi v celoti dokončane bodisi sploh niso uporabljene, s čimer se izognemo vmesnim stanjem.

Tudi upravljanje škornjev krši tradicijo. Zahvaljujoč orodjem, kot sta blsforme in disks-rs, AerynOS dinamično generira ukazno vrstico jedra z neposrednim branjem superblokov datotečnega sistema, s čimer se odpravi potreba po korenski oznaki =. Poleg tega je vsako jedro vezano na svojo specifično transakcijo, kar omogoča vračanje sistema iz zagonskega menija in ponovni izgradnjo zagonskega okolja iz nič v primeru izgube ESP.

Format .stone: nov način pakiranja programske opreme

Druga ključna komponenta je .stone format, sodoben binarni paket Zasnovan z neodvisnostjo od različic in visoko učinkovitostjo. Vsaka datoteka .stone vsebuje:

  • Odstranjena podvojena vsebina datotek paketa
  • Zgoščevalni indeks (XXH128, z načrti za selitev na Blake3)
  • Zemljevid ciljnega datotečnega sistema
  • Vtipkani metapodatki, kot so ime, različica, zmogljivosti itd.

Namesto neposredne namestitve datotek, Datoteke .stone so shranjene v shrambi, ki jo je mogoče nasloviti z vsebino. (CAS) in se zberejo kot del transakcije. Ta pristop ne le izboljša učinkovitost delovanja, ampak omogoča tudi enostavno razveljavitev morebitnih sprememb.

Sistem za upravljanje paketov ne sledi tradicionalnemu imperativnemu modelu. Razvijalci menijo, da ukazi za neposredno namestitev "povzročijo več napak, kot jih rešijo". Namesto tega vsaka transakcija ustvari nov sistemski graf, kar utira pot prihodnjemu deklarativnemu modelu, podobnemu Nixu ali Gentooju, kjer je opisano želeno stanje sistema in ne izvajanje ukazov za spremembe.

Ali je AerynOS nespremenljiv?

Čeprav je pogosto opisan kot nespremenljiv sistem, sami ustvarjalci pojasnjujejo, da to ni povsem res. Sistem ne blokira dostopa samo za branjein medtem ko transakcije nadomeščajo drevo /usr, Popolna nespremenljivost še ni bila uveljavljena. Dolgoročni cilj je doseči to brez ponovnega zagona, z uporabo tehnologij, kot sta overlayfs in erofs.

Čeprav je AerynOS v alfa fazi, ima že na voljo ISO-je, podporo za GNOME, združljivost s Steamom, NVIDIA, Flatpakom ter prave uporabnike, ki hvalijo njegovo stabilnost in zmogljivost. Sistem že deluje dovolj dobro, da ga je mogoče preizkusiti v resničnih scenarijih, čeprav se še vedno razvija.

vir: https://aerynos.com