5.2 Hagyományos és modern csomagformátumok
Ahogy az előző fejezetben már érintettük, a Linux szoftverkezelése egy generációváltás közepén tart. A hagyományos, rendszerbe integrált csomagok (mint az RPM) továbbra is a stabilitás gerincét adják, de a desktop alkalmazások terén egyre inkább átadják a helyüket az elszigetelt, modern konténereknek (Flatpak). Ebben az alfejezetben a motorháztető alá nézünk, és megvizsgáljuk, miből is áll ez a két technológia, hogyan dolgoznak egymás mellett, és hogyan tarthatod a kezedben a maximális kontrollt felettük.
5.2.1 A natív RPM csomagok és a DNF csomagkezelő alapjai
A Red Hat ökoszisztémában (Fedora, Nobara, és a Bazzite mélyrétegei) a natív rendszercsomagok formátuma az RPM (Red Hat Package Manager). Ezek a csomagok hagyományos módon települnek: a fájljaikat szétosztják a gyökérkönyvtár megfelelő mappáiba (a binárisok a /usr/bin, a könyvtárak a /usr/lib alá kerülnek). Mivel szorosan beépülnek az operációs rendszerbe, tökéletesek rendszerszintű komponensek (pl. kernel, grafikus driverek, asztali környezet) kezelésére.
Az RPM csomagok szövevényes hálózatának és függőségeinek (dependencies) feloldásáért a DNF (Dandified YUM) nevű parancssoros eszköz felel. Bár asztali felhasználóként a Discover megkímél a parancssortól, érdemes ismerni a legfontosabb DNF parancsokat, mert hibaelhárításnál vagy gyors munkánál a terminál verhetetlen.
A leggyakoribb DNF parancsok:
sudo dnf update– A teljes rendszer frissítése. Nobara alatt ez lehetséges, de tilos, mert megtöri a Nobara tárolóit, a rendszer menthetetlenül sérül. Nobara alatt anobara-syncparancsot kell használni, ha mindenképp terminálból akarunk rendszert frissíteni. Bazzite alatt pedig azujust updateparancs frissíti a rendszert.sudo dnf search [név]– Szoftver keresése a tárolókban.sudo dnf install [név]– Csomag telepítése és a függőségek automatikus letöltése.sudo dnf remove [név]– Szoftver törlése a gépéről.sudo dnf autoremove– A már nem használt, felesleges "árva" függőségek eltávolítása (nagytakarítás).
A DNF logikája: A DNF mindig ellenőrzi, hogy a telepíteni kívánt szoftver milyen egyéb "alkatrészeket" igényel, és figyel arra, hogy ne alakuljon ki olyan verzióütközés, ami megbénítaná a rendszert. Emiatt robusztus, de a függőségek kiszámítása miatt néha másodpercekig is eltarthat az adatbázis beolvasása.
Fontos tudni, hogy a DNF nem használható az immutable (Bazzite, Kinoite, SteamOS) rendszerekben, csak konténereken belül, pl. Distrobox, Podman, Toolbx.
5.2.2 A Flatpak forradalom: Miért ez a jövő a desktop felhasználóknak?
A hagyományos csomagkezelés (mint az RPM) Achilles-sarka a függőségi pokol (dependency hell). Ha egy új videószerkesztőnek az X nevű kiegészítő 3.0-s verziójára van szüksége, de a rendszered egy régebbi, kritikus irodai szoftver miatt csak a 2.0-s verziót tarthatja meg, konfliktus lép fel. A megoldást az elszigetelt konténerizáció hozta el.
A Flatpak egy asztali alkalmazásokra fókuszáló, disztribúció-független formátum.
Miért ez a desktop jövője?
- Beépített függőségek: Egy Flatpak csomag mindent tartalmaz, ami a futásához kell (könyvtárak, keretrendszerek). Nem a rendszer fájljait használja, így soha nem okoz ütközést.
- Disztribúció-függetlenség: Ugyanaz a Flatpak fájl bitre pontosan ugyanúgy fut le Fedorán, Nobarán, Arch-on vagy Ubuntun. A fejlesztőknek végre csak egyetlen Linux-verziót kell karbantartaniuk.
- Homokozó (Sandbox) védelem: A programok elszigetelve futnak a gép többi részétől. Egy Flatpakből indított böngésző vagy chat-alkalmazás alapértelmezés szerint nem látja a személyes fájljaidat, a webkamerádat vagy a hálózatot, amíg te kifejezetten engedélyt nem adsz rá.
- Mindig a legfrissebb: Mivel az alkalmazások nincsenek a rendszer magjához kötve, az operációs rendszered maradhat stabil, éves kiadású (pl. irodai gépnél), miközben a Discord vagy a Spotify a legutolsó, tegnap kiadott verziójában fut.
5.2.3 A Flathub áruház konfigurálása és jogosultságkezelés (Flatseal)
A Flatpak maga csak a technológia, a mögötte álló globális szoftverraktár neve a Flathub. Ez a Linux világ de facto "App Store"-ja.
A Flathub aktiválása:
- Bazzite és Nobara esetén a Flathub a telepítés pillanatától fogva gyárilag aktív.
- Sima Fedora rendszereken a Flathub engedélyezése az első lépések egyike (a Discover beállításaiban, vagy webes letöltéssel a Flathub oldaláról).
- Innentől kezdve a grafikus szoftverközpontok (Discover, Bazaar) automatikusan innentől (is) töltik az alkalmazásokat.
A Flatseal: A homokozó mesterkulcsa
A Flatpak homokozó-architektúrája hatalmas biztonsági előny, de gondot is okozhat, ha egy alkalmazásnak pont egy letiltott erőforrásra van szüksége a hibátlan működéshez. Bár ezen engedélyek módosítása terminálból is lehetséges, létezik egy sokkal elegánsabb grafikus megoldás: a Flatseal.
A Flatseal (mely maga is egy Flathubról telepíthető Flatpak alkalmazás) egy letisztult kezelőfelületet ad, ahol minden egyes telepített Flatpak szoftvered jogosultságait mikromenedzselheted.
Hogyan és miért használd a Flatsealt?
Amikor megnyitod a Flatsealt, a bal oldalon látod a telepített szoftvereket, a jobb oldalon pedig egy hosszú, kategóriákra bontott kapcsolólistát (Hálózat, Képernyőmegosztás, Fájlrendszer hozzáférés, Hangrendszer).
- A probléma felismerése: Tegyük fel, hogy letöltesz egy képszerkesztőt Flatpak formátumban, de amikor rákattintasz a "Megnyitás" gombra, nem látod a külső merevlemezedet vagy a hálózati meghajtódat. Ennek oka, hogy az alkalmazásnak csak a helyi "Képek" mappához van hozzáférése.
- Az engedélyek megadása: Nyisd meg a Flatsealt, válaszd ki az adott alkalmazást, görgess a Filesystem (Fájlrendszer) részhez, és adj hozzá egy új útvonalat (pl. a csatolt merevlemezed elérési útját), vagy engedélyezd a teljes felhasználói könyvtárat.
- Példa profi audio-beállításokra: A Flatpak izolációja a komplex hardver- és szoftvervezérlést is érintheti. Például, ha a kiváló minőségű hangzás eléréséhez az Easy Effects vagy a JamesDSP szoftvert Flatpak formátumban telepíted a Hifi rendszeredhez vagy virtuális térhangzás létrehozásához, előfordulhat, hogy a szoftvernek mélyebb hozzáférésre van szüksége a PipeWire hangrendszerhez, vagy engedélyezni kell a háttérben futást. A Flatseal felületén ez csupán a Socket (foglalat) engedélyeknél a "PulseAudio/PipeWire" kapcsoló, illetve a Background (háttér) kapcsoló átbillentését jelenti, terminálos parancsok gépelése nélkül.
A Flatseal használatával te döntöd el, mekkora mozgásteret adsz egy programnak, garantálva, hogy a modern, konténeres szoftverkezelés ne csak biztonságos, hanem 100%-ban az igényeidre szabott legyen.
Fedora Kinoite esetében nincs szükség Flatsealre, ezeket a jogosultságokat a Rendszerbeállítások Alkalmazások menüpontjában lehet állítani.
5.2.4 Mi az Ujust és hogyan használjuk Bazzite rendszerben?
Az immutábilis, atomi rendszereknél – mint amilyen a Bazzite vagy a Fedora Kinoite – a gyökérfájlrendszer írásvédett. Ez garantálja a törhetetlenséget (hiszen sem te, sem egy hibás frissítés nem tudja felülírni a kritikus rendszerfájlokat), ugyanakkor komoly kihívás elé állítja a haladó felhasználókat: mi van akkor, ha egy komplexebb rendszerszintű beállítást szeretnénk elvégezni, amit a grafikus Bazaar vagy Discover nem tud kezelni?
Hagyományos rendszereken ehhez hosszú, bonyolult terminálparancsokat kellett volna gépelni, külső tárolókat hozzáadni, és a konfigurációs fájlokban turkálni. Az atomi rendszereken ezt a problémát hidalja át zseniálisan az Ujust.
Mi az az Ujust?
Technikai értelemben az Ujust egy feladatvégrehajtó (task runner) keretrendszer, amely az úgynevezett just parancsra épül (hasonló a fejlesztők által jól ismert make parancshoz, de egy sokkal modernebb, emberközpontú köntösben). A Universal Blue (a Bazzite alapjául szolgáló projekt) fejlesztői teleírták ezt a rendszert előre megírt, biztonságos, alaposan letesztelt scriptekkel.
Gyakorlatilag az Ujust a Bazzite beépített svájci bicskája. Egyetlen, könnyen megjegyezhető rövid parancs kiadásával több tucat soros, bonyolult konfigurációs folyamatokat hajthatsz végre anélkül, hogy tartanod kéne attól, hogy elrontod a rendszert.
Az Ujust használata a gyakorlatban
Az Ujust használatához meg kell nyitnod a terminált (KDE alatt CTRL + ALT + T gombokkal), de egyáltalán nem kell megijedni tőle. A fejlesztők úgy alkották meg, hogy teljesen interaktív és felhasználóbarát legyen.
1. A varázsszó: ujust
Ha egyszerűen csak beírod a terminálba, hogy ujust, és ütsz egy Entert, nem hibaüzenetet vagy egy végtelen súgófájlt kapsz, hanem egy gyönyörűen formázott, kategóriákra bontott interaktív menüt. Itt a billentyűzet nyilaival navigálhatsz a különböző karbantartási, hardver-konfigurációs és telepítési opciók között, a kiválasztott feladatot pedig az Enter lenyomásával indíthatod el.
2. Direkt parancsok hívása Ha már rutinosabb vagy, és tudod, mit akarsz, a parancsokat közvetlenül is kiadhatod. Íme a Bazzite (és a PC-s/kézikonzolos játékos lét) néhány legfontosabb Ujust parancsa:
ujust update: Ez a totális frissítés. Nemcsak az alaprendszert (rpm-ostree) frissíti, hanem a Flatpak csomagokat, a rendszerszintű konténereket és a firmware-eket is. Egyetlen parancs, ami a teljes rendszert naprakésszé teszi a motorháztető alatt.ujust install-decky: A Decky Loader a Steam Deck (és a Bazzite) felhasználók egyik legnépszerűbb kiegészítője, amivel pluginokat telepíthetnek közvetlenül a Steam Game Mode felületére (pl. képernyő-szaturáció állítása, egyedi boot-videók, teljesítmény-finomhangolás). Ezzel a paranccsal a telepítés és a rendszerintegráció teljesen automatikus.ujust setup-luks-tpm: Ha a telepítésnél titkosítottad a meghajtódat (LUKS), ezzel a paranccsal rábízhatod a számítógéped hardveres TPM (Trusted Platform Module) lapkájára a jelszókezelést. Így megmarad a végpontok közötti titkosítás, de nem kell minden egyes bekapcsoláskor bepötyögnöd a feloldókódot.ujust toggle-wayland: Bár a Wayland a modern Linux jövője, ha egy nagyon specifikus, régi játékhoz vagy X11-et igénylő szoftverhez ideiglenesen vissza kell váltanod az X11-es megjelenítőre, ezzel a paranccsal gyorsan és biztonságosan megteheted.ujust distrobox: Ha véletlenül olyan programra van szükséged, ami csak hagyományos, natív Ubuntu (DEB) vagy Arch formátumban létezik, és nincs belőle Flatpak, ezzel a paranccsal pillanatok alatt felhúzhatsz egy Distroboxot. Ez egy elszigetelt "rendszer a rendszerben" konténert hoz létre, anélkül, hogy a Bazzite írásvédett magját megsértené.
Miért zseniális ez a megközelítés?
Az Ujust legnagyobb előnye a transzparencia és a garantált biztonság. Mivel a mögötte lévő justfile (a parancsokat tartalmazó nyers szöveges fájl) a közösség által szigorúan ellenőrzött, a futtatott parancsok sosem tesznek kárt a gépben. Ha egy Ujust parancs módosítja a rendszert, azt szigorúan az immutábilis rétegek szabályai szerint teszi.
Ha esetleg mégis olyan opciót választanál, ami után nem úgy viselkedik a gép, ahogy szeretnéd, a Bazzite natív visszagörgetési (rollback) funkciójával a boot-menüből azonnal, maradéktalanul visszaállítható a rendszer az Ujust parancs futtatása előtti állapotra. Ezzel a Bazzite egyszerre képes a konzolokhoz hasonló bolondbiztos, zárt működést nyújtani, miközben egy professzionális, biztonságos és mélyen testreszabható eszközt is ad a haladó felhasználók kezébe.

