Esitatud on AerynOS-i distributsiooni kontseptsioon koos arhitektuuriliste lahenduste pÔhjendusega.

AerynOS-i arendajad, varem tuntud kui SerpentOS, on avaldanud ĂŒksikasjaliku artikli, milles tutvustatakse projekti kontseptsiooni ja tehnilist teostust koos arhitektuuriliste valikute pĂ”hjendustega. Projekti juht Ikey Doherty rĂ”hutab, et AerynOS ei ole lihtsalt "veel ĂŒks Linuxi jaotamine", vaid platvorm, alus ja tööriistade komplekt, mis on loodud selge visiooni kohaselt.

Projekti pĂ”hiteema on sĂ”nastatud kĂŒsimusena: "Mis oleks, kui operatsioonisĂŒsteem kĂ€ituks nagu kaasaegne infrastruktuur?" AerynOS-i esitletakse vastusena sellele kĂŒsimusele — sĂŒsteem, mis on ĂŒles ehitatud nullist, mitte traditsioonilise jaotuse sissetungimudelite jĂ€rgimine. Projekt tugineb autorite kogemusele teiste jaotuste, sealhulgas Solus ja Clear Linux, arendamisel.

AerynOS-i peamised tehnilised lahendused on jÀrgmised:

  • LLVM-tööriistu kasutatakse GNU asemel, vaikimisi koos libc++ ja compiler-rt-ga. Arendajad seletavad seda valikut mitte ainult LLVM'i eelistamisena, vaid strateegilise valikuna kvaliteetsema diagnostika, korrektsete ja ĂŒlekantavate pakettide tagamiseks. Samuti kasutab sĂŒsteem glibc-d musl-i asemel, mis on teadlik valik ĂŒhilduvuse ja jĂ”udluse kasuks.

    Nagu artiklis mĂ€rgitakse: "glibc eelised musl-i ees jĂ”udluses on hĂ€sti dokumenteeritud, eriti arvutusintensiivsete töökoormuste ja rakenduste puhul, mis nĂ”uavad optimaalse tĂ”hususe mitme keerme tĂ€itmist." Loojad rĂ”hutavad, et nende eesmĂ€rk on luua funktsionaalne ja rakendatav sĂŒsteem paljude rakendusstsenaariumide jaoks.

  • Kontseptsioon "ilma olekuta" (statelessness) – pakettidel on keelatud sisaldada mingeid faile vĂ€ljaspool katalooge /usr. Arendajad selgitavad, et see lĂ€henemine sunnib tagama mĂ”istlikud vaikeseaded kĂ”ikidel tasanditel ja kĂ”rvaldab "kohutavad kolmanda osapoole sulandumise konfliktid pakettide uuendamisel". Konflikte ei ole, kuna kĂ”ik /etc ja /var kuulub kasutajale, kuid /usr on puhtalt sĂŒsteemi pĂ€ralt. Kontseptsioon loodi Clear Linuxi ja Soluse ajastul ning AerynOS-is on see saanud edasise arengu.
  • Atomaarsete vĂ€rskendused — iga moss-i tehing on atomaarne. SĂŒsteem loob kiiresti uue puu /usr, kasutades jĂ€igade linkide deduplication cache'i. PĂ€rast edukat loomist ja ettevalmistamist asendatakse uus puu atomaarse toiminguga. Tegelikult ette valmistatud tehing vahetatakse reaalsete failide katalooge /usr vastu renameat2 koos RENAME_EXCHANGE lipuga. Uuendamine toimub kas tĂ€ielikult vĂ”i mitte ĂŒldse, ilma vahepealsete seisunditeta.
  • Laadi haldamine pĂ”hineb projektide blsforme ja disks-rs. LĂ€henemise eripĂ€ra on see, et sĂŒsteem loob dĂŒnaamiliselt parameetreid tuumakomandorijuhus kasutades juurfailisĂŒsteemi superblokeid, seega AerynOS-is pole konfiguratsioonifaili, kus oleks parameeter 'root='. Veelgi enam, moss-i tehingu identifikaator kodeeritakse tuumakomandol ja töödeldakse varajase kĂ€ivitamise ajal initramfs-is. 'RÀÀkides lĂŒhidalt, see tĂ€hendab, et iga tuum on Ă”igeaegselt sĂŒnkroniseeritud vastava juurfailisĂŒsteemiga ja tagasipöördumine on odav, lihtne ja kergesti kĂ€tte saadav otse kĂ€ivitamisvalikust,' selgitavad arendajad. Veel ĂŒks eelis on see, et /etc/default/grub'i pole, ja kui ESP kustutatakse, saab moss selle nullist taastada.
  • Pakettide formaat .stone — omapĂ€rane binaarfailide formaat versioonidest sĂ”ltumatu pĂ€isega tulevaste muudatuste tagamiseks. Iga .stone pakett sisaldab nelja konkreetset andmeliiki (payload), millest igaĂŒks vĂ”ib iseseisvalt areneda versioonimise tĂ”ttu:
    • Sisu koorem (Content payload) — jĂ€rjestikune blokk deduplicitud andmeid, st paketi failide sisu.
    • Indeksi koorem (Index payload) — sisaldab suundi sisu koormale, indekseeritud XXH128 sisu hashi jĂ€rgi (plaanis on ĂŒleminek Blake3-le). See vĂ”imaldab andmete tĂ”husat leidmist ja vĂ€ljavĂ”tmist.
    • Kujunduse koorem (Layout payload) — kirjeldab eeldatavat faili sĂŒsteemi paigutust paketi rakendamisel, st kuhu ja millised failid peaksid olema paigutatud.
    • Metaandmed (Metadata payload) — jĂ€rjestikune rangelt tĂŒĂŒbistatud, mĂ€rgistatud metaandmete kirje, nagu paketi nimi, pakutavad vĂ”imalused jne.

Koormuse kokkusurumine toimub Zstd abil, mis tagab suurepĂ€rase avamisjĂ”udluse hea kokkusurumisteguri sĂ€ilitamisega. Protsess „installimine” .stone erineb oluliselt teistest sĂŒsteemidest. Failide otseinstallimise asemel vahemĂ€lustatakse pakett ja selle sisu pĂ”imub ĂŒldisesse salvestusse sisuadressimise (CAS) kaudu. Metaandmed ja paigutusteave hoitakse eraldi ning neid kasutatakse tehingu loomisel. See lĂ€henemine tagab uuenduste aatomilisuse ja tagasivĂ”tu vĂ”imaluse, kuna iga tehing loob uue juurkandja, mitte ei muuda olemasolevat.

Arendajad mĂ€rgivad, et praegune lĂ€henemine pakettide imperatiivse haldamise emuleerimisele on „tĂ€iesti mĂ”ttetu” ja „tekitab tegelikult rohkem vigu, kui lahendab”. Kuna iga tehing loob uue juurkatalooge, on tulevikus plaanis luua iga tehingu jaoks uus graaf, loobuda sisseehitatud muudatustest deklaratiivse lĂ€henemise kasuks, sarnane Gentoo vĂ”i Nix-iga.

Veel ĂŒks huvitav selgitus puudutab muutumatust (immutability). Loomingud mĂ€rgivad, et AerynOSi kirjeldatakse sageli muutumatuna, kuid see pole „tĂ€iesti tĂ”ene”. Kuigi iga tehing viib uue puu /usr-i ja kohalikke muudatusi ei salvestata, ei ole sĂŒsteem muutumatu lugemisega juurdepÀÀsu mĂ”ttes. Tulevikus on plaanis rakendada tĂ”elist sĂŒsteemi muutumatust ilma taaskĂ€ivitamiseta, kasutades erofs-i ja overlayfs-i.

Praegu areneb AerynOS aktiivselt, pakkudes juba ISO-pilte GNOME-i keskkonnaga, sobides mĂ€ngimiseks (NVIDIA, Steam, Flatpak'i draiverite toega) ning omavad reaalseid kasutajaid, kes toovad esile sĂŒsteemi stabiilsuse ja uuenduslikkuse. Arendajate sĂ”nul on projekt alfa-etapis ja ei ole probleemideta, kuid see on juba terviklik sĂŒsteem, mis „lihtsalt töötab”.

Allikas: opennet.ru

Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster