Ne írgyá rám! (openSUSE) Aeon

enlightened Ez az oldal a közösségért készül. heart Kövess minket máshol is:  Linux Mint Magyar Közösség a Mastodon-on  Telegram csatorna – csak hírek  Beszélgessünk a Telegram – Linux csevegő csoport  Hírek olvasása RSS segítségével  Linux Mint Hivatalos Magyar Közösség a Facebook-on      Linux Mint Baráti Kör a Facebook-on
wink Ha hasznosnak találod, és szeretnéd, hogy folytatódjon, támogasd a munkát Ko-fi vagy Paypal segítségével. laugh

Ahogy a menő influenszerek mondani szokták (akiktől sokat lehet tanulni, bizony): "Kipróbáltam, hogy neked már ne kelljen"...

Tehát miről is van szó? Az immutable (azaz nem módosítható vagy írásvédett) Linux terjesztések a modern operációs rendszerek egyre népszerűbb és biztonságosabb ágát képviselik. Lényegük, hogy a rendszerfájlok (a gyökérkönyvtár, vagyis a root fájlrendszer) alapértelmezés szerint írásvédettek, így a felhasználó vagy a rosszindulatú szoftverek nem tudják véletlenül vagy szándékosan felülírni a kritikus komponenseket.

A hagyományos Linux terjesztésekben a csomagkezelő (pl. apt, dnf) közvetlenül a rendszerfájlok helyére pakolja a fájlokat frissítéskor, nem így az immutable rendszerek!

 - Atomi frissítést használnak: A frissítés egy teljes lemezképet hoz létre a háttérben, és a következő indításkor egyetlen lépésben cseréli le a régit. Ha a frissítés közben hiba történik, a rendszer nem törik el, egyszerűen visszatér az előző verzióhoz.
 - Elkülönítik a rendszert és a felhasználói adatokat: A rendszermappák írásvédettek, a saját fájljait és beállításait a felhasználó a /home-ban tárolja, a fájlrendszer egyéb részén nem tud "garázdálkodni".
 - Konténerek és csomagkezelők használata : Mivel a hagyományos módon nem lehet szoftvert telepíteni a rendszerbe, az alkalmazásokat Flatpak, Snap vagy AppImage (Aeon-ban nem javasolt) formátumban, illetve konténereken keresztül futtatják, amelyek el vannak különítve a magrendszertől.

Előnyök:

 - Gyakorlatilag törhetetlen rendszer: Nem lehet elrontani a rendszert egy rossz paranccsal vagy egy hibás frissítéssel.
 - Kiváló biztonság: A rosszindulatú szoftverek nem tudják módosítani a rendszerfájlokat, mert nincsenek írási jogaik.
 - Egyszerű visszaállíthatóság: Ha egy frissítés után valami nem működik, a BOOT menüből visszaléphetünk a korábbi, működő állapotba.
 - Kiszámíthatóság: Minden felhasználónál ugyanaz a "tiszta" alaprendszer fut, így a hibakeresés sokkal egyszerűbb.

Hátrányok:

 - Nehézkesebb a testreszabás: Ha valaki a kernel szintjén szeretne dolgokat átírni vagy speciális, csomagkezelőben nem lévő drivereket akar közvetlenül a rendszerbe integrálni, az problémásabb.
 - Terület igény: A rendszerképek tárolása miatt a frissítések több lemezterületet igényelhetnek (bár a modern verziók ezt okosan kezelik).
 - Módosítással kapcsolatos korlátok: Hagyományos módon nem lehet csomagokat telepíteni, és elvileg belefuthatsz olyan programba, ami nem működik ilyen rendszereken.
 - Egyéb megkötések az Aeon esetén: Az EFI alapkövetelmény, és a rendszer teljes lemeztitkosítással érkezik, ez nem kikapcsolható.

Akkor egy kicsit konkrétabban a mai főszereplőnkről, az (openSUSE) Aeon-ról!

Az Aeon azoknak készült, akik egy gondozásmentes, stabil alaprendszert szeretnének. GNOME asztali környezetet használ, a szoftverek túlnyomó többségét Flatpakon keresztül éri el (a Flathubra van hangolva). Automatikusan frissül, és ha valami elromlana, a Btrfs fájlrendszer és a Snapper kombinációjával pillanatok alatt visszaállítható.
Aki szereti bütykölni a rendszert, az csalódni fog, mivel minimalista és zárt a magrendszer, elszeparálva a felhasználótól. Ez nem a hagyományos Linux játszótér...
A rendszer telepítése faék egyszerű, a kijelölt meghajtót lesikálja, semmilyen módosításra nincs lehetőség, erre figyeljünk! Szal a kedvenc cicás képek legyenek meg máshol is! Első indítás után kapunk pár alapvető kérdést, tényleg nem agysebészet...

Mi van ha nagyon hiányoznak csomagok, pl. terminálos alkalmazások (mint esetemben), mit lehet tenni?

 - Rétegezés: A terjesztés saját csomagkezelőjével ráégethetsz csomagokat a rendszerre. Ez lényegében létrehoz egyedi módosításokat a következő rendszerképre. A fejlesztők nem ezt javasolják fő útvonalként, mert megtöri a "tiszta" immutable koncepciót. Ezzel együtt én ezt az utat járom... Arra figyelj, hogy minden módosítás új pillanatképet szül, tehát érdemes alaposan átgondolni, hogy mivel szeretnéd bővíteni az alaprendszert, és egy lépésben megcsinálni! És persze figyelni az ajánlásokra, és csak a legfontosabb komponenseket így felrakni, esetemben ez kb. 20 terminálos programot (pl. kitty, tömörítők, fájlkezelők, stb.) jelentett. 
A parancs formátuma: sudo transactional-update pkg install/remove/ csomag; frissítés sudo transactional-update pkg update; tisztítás sudo transactional-update cleanup.
Hogyan működik a tranzakciós mechanizmus? Amikor kiadsz egy parancsot (pl. frissítés vagy csomagtelepítés), a program készít egy új, írható Btrfs pillanatképet a jelenlegi gyökérfájlrendszerről a háttérben. A csomagkezelő (a zypper) ezt az új, még nem látható pillanatképet módosítja (telepíti a frissítéseket vagy az új csomagokat). Ha a folyamat sikeresen lefutott, a rendszer beállítja az új pillanatképet a következő indítás alapértelmezett indítóképeként. Mivel a gyökérfájlrendszer futás közben írásvédett, a módosítások érvénybe lépéséhez újra kell indítani a gépet. Ha a frissítés közben hiba történik, vagy az új rendszer nem indul el, a Btrfs és a bootloader azonnal visszatér a régi működő pillanatképhez.
 - Konténerek: Ha fejlesztői eszközkörökről vagy futtatókörnyezetekről van szó, azokat soha nem a rendszerbe tesszük, hanem egy külön konténerbe, ahol teljes root jogod van, csinálsz, amit akarsz, de a fő rendszert nem tudod vele elrontani. Példa: distrobox create --image opensuse/tumbleweed --name toolbox; distrobox enter toolbox. A konténerbe telepített alkalmazásokat láthatóvá tehetjük az alaprendszer számára is, pl.: distrobox-export --bin /usr/bin/nano.

Mi történik, ha módosítani akarsz a rendszeren és az /etc-be kell írnod, ez hogyan működik?

Az Aeon egy nagyon elegáns technikai megoldást használ az /etc kezelésére.
Bár az /etc a fizikai lemezen az írásvédett root fájlrendszer része, a rendszer egy OverlayFS nevű réteget tesz rá. Amikor módosítasz egy fájlt az /etc-ben (például szerkeszted az /etc/fstabot), a módosítások nem a védett alaprendszerbe íródnak, hanem egy külön, dedikált mappába mentődnek a háttérben. Amikor a rendszer a háttérben frissül az Aeon intelligensen átörökíti és szinkronizálja a korábbi /etc-ben lévő egyedi módosításaidat az új rendszerképre, így a beállításaid megmaradnak újraindítás után is.

Mennyire alkalmas mindennapi asztali használatra, kinek ajánlanám?

Erre mondja a tudomány, hogy vegyes érzéseim vannak... Elvileg mindenkinek, gyakorlatilag meg azért mégsem. A magamfajta rendszer buzerátorok is ellehetnek vele, a legfontosabb progikat beégetem az alapképbe, a többit levadászom a GitHubról és mennek a ~/.local/bin-be, grafikus cuccok meg a Flathubról, minden szép és jó! Egy abszolút kezdő viszont valszeg nem fogja ezt így megtenni, és konténerekkel sem fog bajlódni... 
A legéletszerűbb a céges felhasználás, ahol Jolikának egy böngészőre, egy levelezőre, meg egy irodai programra van szüksége, és fontos szempont, hogy az alaprendszert ne tudja szétcseszni. Ezen az alapon mindenki másnak is, aki terminált még nem látott, és csak grafikus programokat használ. És nyilván fejlesztőknek is optimális, akinek a rendszer csak arra kell, hogy elindítsa a konténert, amiben a valós munka folyik.

Egy hagyományos terjesztéshez képest nyilván kompromisszumos megoldás, ugyanakkor vannak előnyei is, tehát a végszó: puding próbája az evés, tessék kipróbálni, és eldönteni hogy megfelel vagy sem!
Én egyenlőre játszok vele lelkesen, az esetleges történésekről pedig majd beszámolok!

Berus