Univerzális Linux csomagkezelő: flatpak

Csomagkezelés...
Csomagkezelés…

Az előző részben már kitárgyaltuk az egyszerűen, minden disztribúcióiban elérhető, a disztribúciódtól független csomagolási módok előnyét. Bemutattam az AppImage megoldást, ami pontosan egy fájlt tartalmaz, amit letöltesz, futtathatóvá teszel, és használod. Ma egy másik megoldást mutatok, ami flatpak néven fut. Ez kissé eltér az előzőtől. Itt már kell egy előre telepített programocska, ami ezeket kezeli: flatpak. Ezt majdnem minden disztribúció tartalmazza. A flatpak oldalán elolvashatod, hogyan telepíthető a Te disztribúciódhoz. A legtöbb esetben simán a csomagkezelődet használod, ami már nem lehet gond számunkra! Az Arch alapú rendszerekről (én most az ArcoLinux terjesztést használom), az ottani alaptelepítési parancsokról volt szó.

Miben más a flatpak, mint az AppImage:

Itt kell egy kis programocska a kezeléshez, amit már telepítettél, ez a flatpak. A telepítéshez nem Te töltesz le valamit, hanem az a kis „keretprogram” intézi a feladatokat, ez pont úgy működik, mint egy csomagkezelőben. Bár itt is független a legtöbb esetben a flatpak csomagolású program a disztribúciódtól, de egy program településéhez nem feltétlen egy csomag jön le, hanem több is. Maga a felhasználói  program, és esetleg a futtatásához szükséges egyéb dolgok. Ennek is van értelmes magyarázata: ha sok csomaghoz kell a kde_akármi_környezet csomag, akkor nem lesz belerakva mindegyikbe, hanem külön csomagban lesz, és ha kell a program letölti neked automatikusan. Hely és sávszélesség takarékosabb – elvileg. Kicsi, nekünk lényegtelen eltérés ez. De ne lepődj meg, ha pld. a kdenlive mellé lecsorog pár kisebb-nagyobb csomag is.
Ami számunkra más érdekesebb, hogy itt nincs lehetőség többféle verziót is használni, jellemzően egy stabil verziót ad a rendszer. Ez számomra inkább hátrány, mint előny, de aki folyamatosan a friss, stabil verziót szeretné használni annak semmiben nincs eltérés.

Flatpak használata Linux alatt

Én most a CLI megoldást mutatom be a flatpak-kal, de sok disztribúcióban már a szoftverközpont, discover, áruház stb. néven futó grafikus program is kezeli ezt.

flatpak --help

Első lépésben indítsuk el csak magát a programot –help kapcsolóval egy terminálban. Kapunk egy szép hosszú listát a lehetőségekről.

Használat: flatpak [KAPCSOLÓ…] PARANCS

install

 Egy alkalmazás vagy futtatókörnyezet telepítése

update

 Telepített alkalmazás vagy futtatókörnyezet frissítése

uninstall

 Telepített alkalmazás vagy futtatókörnyezet eltávolítása

list

 Telepített alkalmazások és/vagy futtatókörnyezetek felsorolása

info

 Információk megjelenítése a telepített alkalmazáshoz vagy futtatókörnyezethez

config

 Flatpak beállítása

repair

 Javítja a hibás telepítéseket

create-usb

 Áthelyezi a telepítés egy cserélhető eszközre

search

 Távoli alkalmazások vagy futtatókörnyezetek keresése

run

 Alkalmazás futtatása

-h, –help

 Súgólehetőségek megjelenítése

Ezeket olvassuk át, hogy képbe kerüljünk a sokféle lehetőséggel kapcsolatban. Sokat tud a program, nem árt ismerni. A teljes kimenet ennél hosszabb lesz!

Itt is két-három alapparancsot kell ismerni, és még párat, hogy hatékonyak legyünk. Semmivel nem bonyolultabb, mintha a saját disztribúciód CLI csomagkezelését használnád.

Első lépésben hozzáadjuk a tárolót

flatpak --user remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

Én a flathub.org-ot használom, így a példa is ez lesz. Nem is nagyon van más ilyen kaliberű tárhely. Sok rendszerben ezt alapból beállítják, így ez a lépés ki is maradhat.

Majd megnézzük, hogy valóban sikerült és milyen tárolóink vannak:

flatpak remotes

Ha minden sikeres volt, akkor valami ilyen kiírást kapunk:

Név Beállítások
flathub user system

Már csak le kell kérdeni a tárolóban elérhető csomagokat. Egy hosszú listát kapunk, én most nem másolom be, felesleges…

Praktikus, ha a kimenetet egy szövegfájlba mentjük, és azt nézzük végig. Így a pontos nevet nem kell begépelni majd a parancssorba, hanem csak másolni kell.

A példa szerint: org.inkscape.Inkscape-t telepítjük majd.

Telepítés előtt kérdezzük le a csomag adatait

flatpak remote-info flathub org.inkscape.Inkscape

Különösebben nem fontos, de nem árt, ha tudjuk, hogy mi és mekkora csomag kerül fel.

Kis kitérő:

Én jobban kedvelem a gyorsabb utat:

flatpak --user update && flatpak --user search inkscape

Frissítések keresése…
Alkalmazásazonosító Verzió Ág Távoli tárolók Leírás org.inkscape.Inkscape stable flathub Vektorgrafikai szerkesztő

Azaz frissítem az adatbázist, majd megkeresem, hogy van-e megfelelő csomag. Az így kapott infó kevesebb, de elegendő.

Aki nézelődni, keresgélni akar, annak jó megoldás a flatpak.org oldalon a kereső használata. A kiválasztott program alatt ott a telepítési és indítási parancs is, így gyorsan tudjuk telepíteni a kívánt dolgokat.

A telepítés egyszerű:

flatpak --user install flathub org.inkscape.Inkscape

majd rákérdez, hogy y/n és ha kell megkeresi a függőségeket, és arra is rákérdez, hogy y/n.

Miután lefut a telepítés, már kész is vagyunk a használatra.

Ha a szoftverközpont stb. felületen keresztül telepíted, akkor berakja a menübe, de ha CLI, akkor nem. Ez látszólag kellemetlen, de nem jelent túl nagy gondot. Bár ahogy észrevettem van olyan rendszer, ami be is rakta a menübe, így érdemes előbb ott megnézni, hogy a Te Linux disztribúciódban ez miképp alakul.

flatpak run org.inkscape.Inkscape

így indítható a flatpak csomag. Így már akár ikonhoz, akár panelba is el lehet helyezni, de scriptet is tehetsz hozzá.

A telepített flatpak-okat le lehet kérdezni:

flatpak list

ha már nem kell, azt pedig eltávolítani:

flatpak --user uninstall org.inkscape.Inkscape

A flatpak nem a disztribúció része! Így a megszokott parancsokkal nem lehet frissíteni, a rendszerfrissítéskor nem fog a többivel együtt frissülni. Ezért időnként a

flatpak update

lefuttatása ajánlott.

A flatpak telepítésnél feltűnhetett, hogy a su vagy a sudo hiányzik a sor előtt. Igen, ha flatpakot telepítesz, akkor nem kell, ha saját felhasználóként telepíted.

Ennyi, és nem több egy flatpak telepítése, használata – semmiben nem más, mint bármely csomagkezelő használata.

Ha felraktál egy komolyabb, nagyobb flatpak csomagot, akkor észrevehetted, hogy több letöltés is indul, több csomag is felkerül. Bár független a flatpak a Linux disztribúciódtól, de ez nem azt jelenti, hogy minden „függőség”, runtime stb. az adott csomag része lesz, úgy mint az AppImage-nél. Ezek közül sok olyan van, melyet nem csomagolnak be minden felhasználói programhoz, hanem külön flatpak csomagokat hoznak létre. Ez praktikus, hiszen így a fejlesztők könnyebben tudnak flatpak csomagokat készíteni, de van egy kellemetlen probléma velük. Nem fogja a flatpak parancs ezeket eltávolítani automatikusan, ha a felhasználó programot eltávolítjuk. Ez egyrészt nem elegáns, másrészt tárhelyet foglal el a gépeden. Ami nem is kevés, hiszen egy-egy felhasználói program hozhat magával több, esetleg nagyobb méretű ilyen „függőséget”.

Hogyan távolítsuk el a feleslegesé vált flatpak csomagokat?

Itt nem a felhasználói programokra gondolok (azt az ismert módon tehetjük meg), hanem azokra, amiket egy másik program rakott fel, mert neki kell. De elég udvariatlanul nem rak rendet maga mögött, hanem egy csomó szemetet hagy a gépen.

 flatpak uninstall --unused

parancs eltávolítja mind a rendszer, mind a felhasználói programok összes nem használt függőségét. Kicsit használó a Debian alatt az autoremove-hez, közel egyazon feladatot lát el a flatpak csomagoknál, mint az a deb csomagoknál.

Ez a lehetőség 2018. júniusában kiadott Flatpak 0.11.8-val vezették be, így ehhez ez verzió, vagy újabb kell. (flatpak –version: Verzió információk kiírása és kilépés). Ami nem jelent gondot a legtöbb rolling rendszerben, de szerintem dehol sem, de ha nem egy a dolog, ezt nézd meg először!

laci:~/ $ flatpak uninstall --unused [10:05:29]

Uninstalling from system: runtime/com.github.wwmm.pulseeffects.plugin.lsp-plugins/x86_64/4 Is this ok? [y/n]:

Azaz rákérdez, hogy szeretnéd eltávolítani? Ezután egy ENTER, vagy y, és máris leszedi a feleslegessé vált, a gépen ott maradt Flatpak csomagokat.

 

Egy, a Mint-re kihegyezett cikket itt találsz.

Arcolinux alatt 2020. januárjában teszteltem ezt.

Related Posts