Univerzális Linux csomagkezelési megoldások

Csomagkezelés...
Csomagkezelés…

A Linux rendszerek csomagkezeléséről már pár szót itt-ott ejtettem.  ma egy univerzálisat, az appimage-t mutatom be. Aki régebb óta használ Linuxot és legalább kettő darab különféle csomagkezelési módot, vagy kettő darab disztribúciót kipróbált, ráérez arra, hogy eltérő disztribúciók, eltérő csomagkezelési módszert használnak. Ezek a csomagkezelési módszerek nagyon jók! Nincs különösebb probléma, kiforrott megoldások, biztosítják számodra a gyors és hatékony módon a programok installálását, eltávolítását, és egyéb rendszergazdai feladatokat is el tudsz ezekkel végezni. A disztribúciók frissítés szempontjából eltérnek egymástól, hiszen vannak olyan disztribúciók amelyekbe villámgyorsan, vannak olyanok, amelyek egy-két hónap, esetleg pár év után kerülnek bele az új, legfrissebb programverziók. Természetesen ez mindenkinek nagyon kényelmes!

Mindenki el tudja dönteni, hogy egy villámgyorsan frissülő és gördülékenyen használható (pld. Arcolinux) vagy esetleg egy kommerszebb gondolkodású Debian alapú rendszereket használt. Miért? Ha valaki azt gondolja, hogy ő csak én jól letesztelt és atomstabilan működő programot szeretne használni, neki ott vannak az erre kihegyezett disztribúciók. Aki pedig úgy gondolja, hogy ő felvállalja, hogy esetleg kisebb-nagyobb hibák lehetnek a rendszerében, programjaiban mindenképp a legfrissebb programverziót szeretné alkalmazni, annak is vannak lehetőségei.

A csomagkezelés alapjai

A csomagkezeléssel önmagában nincs semmi probléma, amíg a disztribúció által adott tárolóból frissíted, telepíted a programot. Ilyenkor minden függőség kielégül, nem lesz problémád a telepítéssel. A problémák akkor kezdődnek, ha egy kommerszebb disztribúciónál úgy gondolod, esetlegesen egy frissebb verziójú programot szeretnél használni. Ott már előfordulhat, hogy az újabb program verzió – amit te telepíteni szeretnél – nem találja meg számára mindenképp fontos függőségek. Ez egy ördögi kör, hiszen ha felteszed a függőségeket (szintén külső forrásból) azoknak is lehetnek olyan elvárt függőségei, amelyeket a te disztribúciód nem elégít ki…
Aki stable Debian ágat használt már, átérzi ezt a problémát 🙂 A másik véglet, ha egy gyorsan frissülő disztribúciót használsz, de te úgy gondolod, hogy egy adott régebbi verziót szeretnél használni – amiben esetleg az újabb verzió hibái nincsenek még meg – akkor szembesülsz a problémával: a frissítéskor megkapod a legeslegújabbat, de neked a régi kell.

A legtöbb csomagkezelésnél vissza tudsz lépni a verziókkal, de ez nem egy kezdő, a gépet “csak használni” akaró embernek való feladat. Ilyenkor megoldható a legtöbb csomag kezeléssel, hogy ne frissítse azt a csomagot, ami szintén egy jó megoldás lehet. De általában ezek a hibák akkor derülnek ki amikor már felfrissítetted a rendszeredet.

Mi a probléma a hagyományos Linuxos csomagkezeléssel?

A következő probléma a sokféle csomagtípussal: ez bizony bizony a fejlesztőkre sok munkát ró. A program készítőjének, ha az nem kerül bele automatikusan egy disztribúcióba, el kellene készíteni legalább deb, rpm és arch csomagban, hogy a főbb disztribúciókba bekerüljön. De nem feltétlen lehet egy Ubuntu alá készített deb csomagot használni más debian alapú rendszerben… Így sokszor találkoztuk azzal, hogy egy érdekesebb program az csak az egyik, vagy csak a másik disztribúció alá készült csomagban érhető el. És a többiek? Jó esetben ott a forráskód, fordítsd le megadnak. Ami mellett ott a lista, hogy milyen függőséget vár el. Ha azokat nem elégíti ki a disztribúciód, akkor… Plusz egy fordítása nem kezdőknek való feladat, ha az egyéb függőséget is kíván.

Ezt természetesen felismerték a program fejlesztő, terjesztő emberek is. Pár csomag „típust” alakítottak ki, amelyek disztribúciófüggetlenek. Ebből a féltucat környéki csomagkezelési módszerből én kettőt fogok bemutatni. Mindegyik jó eséllyel az összes disztribúcióban működni fog, így mindenkinek hasznos lehet ez a rész.

Én a szívemhez a legközelebb állóval kezdem.

Az AppImage nagyon egyszerűen használható:

  • letöltjük
  • adunk neki egy futtatási jogot
  • indítható is.

Az Appimage csomagolás pontosan egy fájl, ami minden tartalmaz a futtatáshoz. Ezzel kapunk egy nagyon kényelmes, és hasznos lehetőséget! Akármennyi verziót használhatunk párhuzamosan. Bár nem mindegyik program készítője ilyen gondos, de nézzük példának a Kdenlive oldalát.

Le tudod szedni Appimage csomagban a

Legfrissebb stabil verziót – Nagyon jó, stabilat akarok használni!
Régebbi stabil verziót – Abban van olyan, amit már az újban nem találok meg, vagy azt szoktam meg, az új nem tetszik.
A napi frissítésű verziót – A leges-leges-legújabb, minden javítás, frissíts benne van. Kisebb hibákat javítanak, így a lehető legjobb verziót használhatod.
Az előző napi frissítésűeket – Ha mégsem javítottak a napin, hanem rontottak, és a tegnap még jól muzsikáló ma már nem…

Így mindig azt használhatod amit akarsz, ha gond van a napi frissítéssel, azt bezárod, elindítod azt, ami tegnap még ment. Ilyen gyorsan egy csomagkezelő sem lépeti vissza a csomagverziót.

Ha az program készítője, csomagolója nem ilyen kedves, hogy többféle igényt is próbál kielégíteni, akkor sincs gond. Meg kell tartani a letöltött AppImage fájlokat, és nem leszünk kitéve annak, hogy egy számunkra kedves verzió már nem letölthető.

Hogyan használom az appimage csomagokat?

A mai Kdenlive így néz ki: kdenlive-20.03.70-b20a730-x86_64.appimage. Ezt (ha már kapott futtatási jogot) indíthatod fájlkezelőből is, de az nem túl elegáns. Meg kell keresni, rákattintani… Ideálisabb lenne, ha a verziótól (a nevétől, ami minden verziónál más) függetlenül akár a parancssorból, akár ikonnal, akár gyorsindító panelből (nálam tint2) el tudnám érni.

Én azt a megoldást használom, hogy

  • a programot bemásolom egy olyan könyvtárba, ami az elérési útban meg van adva (nálam~/.bin)
  • a program nevét átírom egy megjegyezhetőre: kdenlive

Ezután a parancssorból a kdenlive paranccsal indítható. Ha esetleg fel van telepítve a tárolóból is, akkor érdemes a ~/.bin/kdenlive használata. Illetve már egy ikon, vagy egy gyorsindító gomb szerkesztésekor tudok rá hivatkozni.
Ha pedig másik verziót akarok használni, csak ugyanezt megteszem vele: megkapja ezt a nevet, és felülírom vele a régit Így mindig ~/.bin/kdenlive lesz a program, csak azon a néven másik verzió fog futni.

Appimage kicsomagolása?

Bár jellemzően nem mindennap akarunk ilyent, de ha bele szeretnél nézni egy AppImage fájlba, akkor a –appimage-extract kapcsolóval indítsd el. Kicsomagolja az egészet egy könyvtárba. Így megnézhetjük a beállításokat, kimásolhatunk, vagy módosíthatunk fájlokat. Illetve el is indíthatjuk a programot. Ami így kicsivel gyorsabban indul, hiszen nem kell már kicsomagolnia magát induláskor.

AppImageLauncher használata

Régebben olvastam egy cikket az AppImageLauncherről. Ez egy nagyon hasznos kiegészítő az AppImage fájlokhoz. Két funkciót lát el:

  • Elindítja azt az AppImage programot, amire rákattintottál – ez nem egy létszükséglet, hiszen enélkül is indulna.
  • Beintegrálja a rendszeredbe, azaz a start menüben is megtalálod a programot, és indíthatod a „hagyományos” módon is. Mindenféle egyéb macera nélkül „telepíti” számodra.

Én régebben az MX Linux alá tettem fel, ahol simán lefutott. Gyakorlatilag az AppImageLauncher github oldaláról le lehet szedni a telepítőket több rendszer alá is. Jelenlegi rendszerem Arcolinux, itt annyival egyszerűbb a dolog, hogy az AUR-ban is jelen van. Ha Te is Arch alatt használod, és az AUR-ból rakod fel, a gyorsaság miatt azt itt leírtakat (összes mag használata) mindenképp tedd meg.

Ha feltelepült, akkor egy. appimage-re kattintva ezt a panelt kapod:

Desktop Integration — AppImageLauncher
Desktop Integration — AppImageLauncher

Ha be akarod integrálni a rendszeredbe, akkor átmásolja a ~/Applications könyvtárba, majd a Start menübe is berakja. Szuper! Egy helyen lesz minden, és semmit nem kell tenned, hogy gyorsan használatba tudd venni a programot a megszokott menüs megoldással.
A Run once pedig simán indítja a programot.

Így a gyakorlatban semmi eltérést nem látsz majd a hivatalos, a disztribúciód tárolóiból telepített és az AppImage csomagok közt.

Az AppImageLauncher beállítása egyszerű, elindítod a menüből, majd ezt a két panelt kitöltöd:

AppImage beállítás
AppImage beállítás

 

Automatikusan induljon? Igen, szerintem igen.

Megadhatod azokat a mappákat ahol automatikusan keresse, és integrálja az .appimage-ket. Nem használom.

Itt egy fontos beállítás van: hol legyen az a könyvár, amibe bemásolja az .appimage fájlokat. Lehetőleg a leggyorsabb tárhelyeden, mert bár csak picit, de gyorsíthatja a betöltődést.

 

Ahogy látni az Appimage fájlok használata mellett sok érv szól. Érdemes átgondolni, és párat kipróbálni.

Komoly érv mellettük, hogy egy fájlban minden olyan benne lesz, ami kell a programnak, így teljesen független a disztribúciódtól. Ha pedig el akarod távolítani, csak az adott .appimage fájl kell kitörölnöd.
Nagyon kényelemes ha az ajánlott AppImageLauncher-t használod: akkor pont úgy „települnek”, mint bármelyik egyéb programok.

Bár én jellemzően az adott program honlapján nézem meg az appimage lehetőséget, de aki egy nagyobb gyűjteményben szeret keresgélni, annak ez a link jól jöhet: https://appimage.github.io/apps/

A következő részben a flatpak-ot nézzük meg, ami nagyban hasonló, mint az AppImage, de van pár eltérés, amit mindenképp érdemes tudni.

A leírtakat 2020 januárjában, ArcoLinix alatt teszteltem.

Related Posts