- Az AppImage csomagok önálló bináris fájlok, amelyek szinte bármilyen disztribúción működnek. Linux hagyományos telepítés vagy jogosultságok nélkül gyökér.
- Használatukhoz egyszerűen töltsd le őket megbízható forrásokból, adj nekik végrehajtási engedélyt, és opcionálisan integráld őket a menübe .desktop fájlok vagy olyan eszközök, mint az AppImageLauncher használatával.
- Lehetővé teszik a modern, hordozható szoftverek tesztelését a rendszer vagy annak függőségeinek befolyásolása nélkül, bár az integráció és az automatikus frissítések továbbra is a gyenge pontjaik.
- Kiegészítő alternatívát jelentenek az APT, a Snap és a Flatpak mellett, különösen hasznosak, ha olyan hordozható alkalmazásokat keresünk, amelyek a disztribúciók között konzisztensek és könnyen eltávolíthatók.

Ha Linuxot használsz, és találkoztál már .AppImage kiterjesztésű fájlokkal , valószínűleg elgondolkodtál azon, hogy pontosan mik is ezek, hogyan kell futtatni őket, és hogy biztonságosak-e. Bár első pillantásra nem igazán hasonlítanak a tipikus .deb vagy .rpm fájlokra, valójában hihetetlenül kényelmes módját kínálják az alkalmazások tesztelésének és használatának gyakorlatilag bármilyen GNU/Linux disztribúción.
A következő sorokban nyugodtan megvizsgáljuk, hogyan kell kezelni az AppImage csomagokat : mik ezek, hol lehet biztonságosan letölteni őket, hogyan lehet engedélyeket adni nekik, futtatni őket, integrálni a rendszermenübe, frissíteni őket, sandboxban futtatni őket, és természetesen milyen erősségeik és gyengeségeik vannak más formátumokhoz, például az APT-hez, a Snap-hez, a Flatpak-hoz vagy a hagyományos csomagokhoz képest.
Pontosan mi is az az AppImage csomag?
Az AppImage fájl lényegében egyetlen, önálló bináris fájl , amely tartalmazza az alkalmazást és az összes, a működéséhez szükséges könyvtárat, hasonlóan a Windowson futó hordozható alkalmazásokhoz vagy a macOS-en futó .dmg fájlokhoz. Ezek a bináris fájlok nem .exe vagy .dmg kiterjesztésűek, hanem .AppImage kiterjesztésűek.
Amikor duplán kattintasz ezen fájlok egyikére, a rendszer belsőleg csatol egy tömörített ISO-képet a FUSE használatával . Ez a kép tartalmazza a programot és annak függvénykönyvtárait. A csatolás után a fő bináris fájl végrehajtódik, és az alkalmazás úgy nyílik meg, mintha a hagyományos módon telepítetted volna.
Fontos részlet, hogy minden AppImage csak egyetlen alkalmazást tartalmaz . Ez nem egy „mega telepítő” több programmal, hanem egy önálló egység: duplán kattintasz a fájlra, és pontosan az a program indul el, semmi több.
A benne foglalt függőségeknek köszönhetően egy AppImage gyakorlatilag bármilyen modern GNU/Linux disztribúción futtatható , feltéve, hogy a rendszer rendelkezik a fejlesztő által elvárt minimális alapkönyvtárakkal. Nem kell további csomagokat telepíteni a disztribúció csomagkezelőjéből a függőségek feloldásához, mivel azok magukban az AppImage-ben találhatók.
Egy másik fontos szempont, hogy nem igényelnek rendszergazdai jogosultságokat : letölthetsz egy AppImage-et a saját mappádba, végrehajthatóként jelölheted meg, és használhatod anélkül, hogy bármit is hozzáérnél a rendszerben, vagy root jogosultságokat kérnél. Ez ideálissá teszi őket szoftverek tesztelésére anélkül, hogy "zsúfolnák" a telepítést.
AppImage versus APT, Snap, Flatpak és más formátumok
Az olyan disztribúciókban, mint az Ubuntu, a Linux Mint, a Debian és a hasonló rendszerek, gyakori, hogy APT és .deb csomagokkal telepítenek szoftvereket. Másokban, például a Fedorában vagy az RHEL-ben, .rpm csomagokat használnak. Az utóbbi években pedig megjelentek olyan „univerzális” formátumok, mint a Snap (a Canonical által fejlesztett) és a Flatpak , amelyek az alkalmazásokat a függőségeikkel együtt csomagolják.
Az AppImage és ezek a formátumok közötti fő különbség az, hogy nem a hagyományos módon "települ" . A .deb vagy .rpm csomagok esetében a fájlok különböző rendszerkönyvtárakba másolódnak, a csomag adatbázisa frissül, és általában root jogosultságok szükségesek. A Snap és a Flatpak központosított kezelést, specifikus telepítési környezeteket és többé-kevésbé szigorú sandboxing mechanizmusokat is kínál.
Az AppImage-ben azonban más a modell: letöltesz egyetlen fájlt, végrehajtási engedélyt adsz neki, és ennyi . Nincs szükség csomagkezelőre, semmilyen rendszerkönyvtárhoz nem nyúlsz, és az „eltávolításhoz” egyszerűen törölöd a fájlt.
A függőségek tekintetében az AppImage és a Snap abban hasonlítanak, hogy működésükhöz nem a disztró könyvtáraira támaszkodnak ; a Flatpak is csomagolja a szükséges elemek nagy részét, bár közös futási környezeteket használ. Az APT azonban a hagyományos csomagkezelő rendszer segítségével telepít megosztott függőségeket.
Azt is érdemes megjegyezni, hogy az AppImage disztribúciófüggetlen : ugyanaz a fájl működik Ubuntu, Debian, Fedora, Arch, openSUSE és sok más rendszeren, ami nagyban leegyszerűsíti a fejlesztő (akinek nem kell ezer különböző formátumra fordítania) és a különböző disztribúciók között váltó felhasználó életét.
Az AppImage főbb jellemzői és előnyei
Az AppImages egy sor tervezési elvet követ , amelyek célja a felhasználók és a fejlesztők életének egyszerűsítése. A legérdekesebb funkcióik között van néhány, amelyeket érdemes megérteni, mielőtt komolyan elkezdenénk használni őket.
Először is, minden futtatni kívánt alkalmazás egyetlen, önálló fájlként kerül terjesztésre . Nincs szükség tucatnyi csomag letöltésére vagy külső könyvtárakkal való foglalkozásra. Minden együtt utazik ebben a "rendszerképben".
A „telepítési folyamat” gyakorlatilag nem létezik: nem csomagolódnak ki fájlok a teljes fájlrendszerben , és nincsenek varázslók végtelen kérdésekkel. Letöltöd, végrehajthatóként jelölöd meg, és futtatod. Ennyi a történet.
Egy másik jelentős előny, hogy az AppImages normál használatához nem kell sudo vagy rendszergazdai fiókot használni . Minden a felhasználói fiókodból kezelhető, ami csökkenti a rendszer feltörésének vagy a szükségtelen biztonsági réseknek a kockázatát.
Továbbá a szoftver viselkedése konzisztens a különböző disztribúciókban . Ez különösen kényelmes, ha egyszerre több disztribúcióval dolgozol, vagy ha egy alkalmazást olyan felhasználóknak terjesztesz, akiknek a pontos környezetét nem ismered: az AppImage mindenhol ugyanúgy fut, feltéve, hogy megfelelnek bizonyos minimumkövetelményeknek.
Végül, számos, ebben a formátumban terjesztett alkalmazás tartalmaz inkrementális frissítési mechanizmusokat , amelyek lehetővé teszik, hogy csak az előző verzióhoz képesti változtatásokat töltsék le. Ha ezt a funkciót hatékonyan használják, sávszélességet takarít meg és felgyorsítja a frissítési folyamatot.
Hol lehet biztonságosan letölteni az AppImages-t?
Az internetről letöltött binárisok futtatásakor az egyik legfontosabb dolog a forrásuk. Az AppImage esetében az ésszerű ajánlás az, hogy mindig a fejlesztő hivatalos webhelyéről vagy hivatalos tárolójából (például GitHub, GitLab stb.) töltsük le a fájlokat. Ez nagymértékben csökkenti a manipulált vagy rosszindulatú fájlokba való beleesés kockázatát.
Sok népszerű alkalmazás közvetlenül a weboldalán vagy a tárhelyén kínál AppImage képeket: Krita, Kdenlive, LibreOffice, Nextcloud, Inkscape, DigiKam, MuseScore, LMMS, Scribus , néhány üzenetküldő kliens stb. Általában egy „Linux” vagy „Letöltések” részt fogsz látni, ahol az AppImage letöltése egyértelműen fel van tüntetve.
Ezenkívül léteznek AppImage alkalmazáskatalógusok vagy „boltok ”, amelyek közül az egyik legnépszerűbb az AppImageHub . Központosított tárházként működik, ahol alkalmazásokat kereshet, bár fontos megjegyezni, hogy ez továbbra is egy aggregátor, és kétség esetén mindig érdemes ellenőrizni a projekt hivatalos webhelyére mutató linket.
Léteznek olyan platformok és eszközök is, mint a PortableLinuxGames (amely az AppImage-ként csomagolt játékokra orientálódik), vagy olyan kezelők, mint az AppImagePool, amelyek egyfajta "alkalmazásboltként" viselkednek, ahol böngészhetsz, letölthetsz, sőt félautomatikusan integrálhatod az AppImage-eket a rendszerbe.
Mindenesetre kereséskor egy nagyon egyszerű trükk, hogy beírjuk a "program_neve alkalmazáskép" kifejezést a kedvenc keresőmotorunkba . Sok projekt onnan linkeli az alkalmazásképeit. Csak győződjünk meg róla, hogy egy megbízható oldalról, lehetőleg a hivatalos weboldalról töltjük le.
AppImage fájl használata lépésről lépésre
Az AppImage fájlok használata meglehetősen egyszerű, és bár vizuálisan eltérhet a használt asztali környezettől (GNOME, KDE, XFCE stb.) függően, az ötlet minden esetben ugyanaz: letöltés, engedélyek megadása, majd futtatás.
1. Töltse le az AppImage fájlt
Először is, keresd meg a kívánt alkalmazást, menj a hivatalos weboldalára vagy egy megbízható tárházba, és töltsd le az .AppImage fájlt. Érdemes az összes AppImage fájlt egy könnyen megjegyezhető helyre menteni, például ~ / AppImages a személyes mappádban, vagy egy olyan könyvtárban, mint a /opt/AppImages ha valami „globálisabbra” vágysz.
2. Tedd a fájlt futtathatóvá
Alapértelmezés szerint a letöltött fájl nem rendelkezik végrehajtási jogosultsággal. Két lehetősége van ezek megadására. A grafikus környezetben kattintson jobb gombbal a fájlra, és válassza a következőt: Tulajdonságok → Engedélyek és jelölje be a következővel egyenértékű négyzetet: „Engedélyezze a fájl programként való futtatásátEttől a pillanattól kezdve dupla kattintással indíthatja el.
Ha a terminált részesíted előnyben , használhatsz egy olyan parancsot, mint a `chmod +x package_name.AppImage` , vagy ha minden felhasználónak engedélyt szeretnél adni, akkor a `chmod a +x package_name.AppImage` parancsot . Ehhez nincs szükséged a `sudo` parancsra, ha a fájl a saját könyvtáradban van.
3. Futtassa az AppImage-et
Miután megkaptad a végrehajtási engedélyt, egyszerűen dupla kattintás a fájlkezelőből vagy futtassa terminálból a következővel: ./csomag_neve.AppImageEkkor a kép belsőleg be van csatolva, és a program megnyílik.
Néhány disztribúcióban, elsősorban az Ubuntu 22.04-es verziójától kezdődően, bizonyos AppImage-ek megfelelő működéséhez telepíteni kell olyan könyvtárakat, mint a FUSE és a libfuse2 . Debian/Ubuntu alapú rendszereken a `sudo apt install fuse libfuse2` parancs elegendő lehet ennek a követelménynek a teljesítéséhez.
Integrálja az AppImages-t a rendszerbe és az alkalmazás menüjébe
Ha csak alkalmanként használsz egy AppImage-et, elegendő lehet egyszerűen futtatni a mentési mappából. De ha naponta többet is használsz, sokkal kényelmesebb integrálni őket az asztali környezet alkalmazásmenüjébe , mintha APT vagy Snap segítségével telepített programok lennének.
Ennek klasszikus módja egy .desktop fájl manuális létrehozása a /usr/share/applications könyvtárban (rendszerszintű) vagy a ~/.local/share/applications könyvtárban (csak a saját felhasználó számára). Ez a fájl leírja a parancsikont: az alkalmazás neve, a végrehajtott parancs, az ikon, a kategória stb.
Például egy notesnook.AppImage nevű AppImage esetén, amely az /opt/AppImages könyvtárban található , létrehozhat valami ilyesmit:
Name=NotesNook
Exec=/opt/AppImages/notesnook.AppImage
Icon=/opt/AppImages/icons/notesnook.svg
Comment=Aplicación de notas sin rastreo
Type=Application
Terminal=false
Encoding=UTF-8
Categories=Utility;
Miután elmentette ezt a fájlt egy névvel, például a notesnook.desktop -pal a megfelelő könyvtárba, az alkalmazás megjelenik a rendszermenüben, és rögzítheti az indítóikonhoz, név szerint kereshet rá stb. Ha az asztalán vannak olyan eszközök, mint a MenuLibre , akkor grafikusan is szerkesztheti és létrehozhatja az indítóikonokat anélkül, hogy a sima szöveghez kellene hozzányúlnia.
Egy másik lehetőség az olyan dedikált alkalmazások használata, mint az AppImageLauncher . Ez az eszköz automatikusan integrálja az AppImages-t : egyszerűen kattintson duplán egy .AppImage fájlra, és az AppImageLauncher áthelyezi azt a konfigurált mappába, létrehozza az indítót a menüben, és kezeli a törlését. Még egy konzol segédprogramot is tartalmaz, az ail-cli-t , a feladatok szkriptekből történő automatizálásához.
Léteznek harmadik féltől származó segédprogramok is, mint például az appimage2desktop (amely egy indítófájlt generál egy adott AppImage ikonjával), az appimagehelper (indítófájlok létrehozásához és törléséhez), vagy asztali számítógépre jellemző projektek, mint például az AppImage To GNOME , amelyek figyelik és közvetlenül integrálják az AppImage-eket a GNOME-ba.
Fájltípusok társítása egy AppImage alkalmazáshoz
Miután az AppImage fut, érdemes lehet bizonyos fájltípusokat hozzárendelni , hogy azok alapértelmezés szerint megnyíljanak. Például beállíthatja a .kdenlive projekteket úgy, hogy a Kdenlive AppImage-dzsel nyíljanak meg bármely más telepített verzió helyett.
A pontos eljárás az asztali környezettől függ, de az általános elképzelés mindig hasonló: kiválaszt egy olyan típusú fájlt, amelyet társítani szeretne, jobb gombbal kattint rá, és megnyit valami olyasmit, mint a „ Megnyitás ezzel... ” vagy a „ Megnyitás másik alkalmazással... ”.
A megnyíló ablakban válaszd ki az AppImage-et (vagy az ahhoz létrehozott indítóprogramot), és jelöld be a „ Használat alapértelmezettként ehhez a fájltípushoz ” lehetőséget. Ettől a pillanattól kezdve minden alkalommal, amikor duplán kattintasz egy ilyen kiterjesztésű fájlra, az a kiválasztott AppImage alkalmazással nyílik meg.
Az olyan környezetekben, mint az XFCE, a KDE Plasma vagy a GNOME, az egyes beállításoknak kissé eltérő neveik lehetnek, de mindig találsz egy részt a MIME-típusok vagy az alapértelmezett alkalmazások társításához. A jó hír az, hogy ez a beállítás általában felhasználónként értendő, így nincs szükséged rendszergazdai jogosultságokra a beállítás módosításához.
AppImages futtatása sandbox környezetben
Alapértelmezés szerint az AppImage alkalmazások nincsenek sandboxban tárolva . Ez azt jelenti, hogy a szokásos felhasználói jogosultságokkal férhetnek hozzá a saját könyvtáradhoz, akárcsak egy APT-n keresztül telepített alkalmazás, kivéve, ha te magad adsz hozzá izolációs rétegeket.
Ha egy kicsit erősebbé szeretné tenni a biztonságot, egy nagyon érdekes lehetőség a Firejail használata , egy sandboxing eszköz, amely meglehetősen elterjedt a Linux ökoszisztémában, és az AppImage-hez is külön támogatást nyújt.
A használatához először telepítened kell a disztribúciód tárolóiból. Debian/Ubuntu rendszereken például egy egyszerű `sudo apt-get install firejail` parancs elegendő . A telepítés után elindíthatod az AppImages fájlokat egy ellenőrzött környezetben.
A tipikus parancs valami ilyesmi lenne, mint a `firejail --appimage csomag_neve.AppImage` . Ez azt eredményezi, hogy az alkalmazás a Firejail sandboxon belül fut, további korlátozásokkal a fájlrendszerre, a hálózatra és egyéb hozzáférésekre vonatkozóan, a konfigurált profiltól függően.
Tehát, ha például a kdenlive-18.08.3-x86_64.AppImage fájlba csomagolt Kdenlive-ot szeretnéd megnyitni egy izolált környezetben, akkor a következő parancsot kell használnod: firejail –appimage kdenlive-18.08.3-x86_64.AppImage . Így megtartod az AppImage hordozhatósági előnyeit, de egy extra biztonsági réteggel.
Frissítés és verziókezelés az AppImage-ben
A frissítéskezelés az egyik olyan terület, ahol az AppImage jelentősen eltér a hagyományos disztribúciós adattár modelltől. Nincs olyan APT, amely mindent kezelne, és nincs hivatalos, rendszerbe integrált „tárhely”, amely tömegesen frissítené az alkalmazásokat.
Bizonyos esetekben vannak olyan alkalmazások, amelyek saját automatikus frissítési rendszert valósítanak meg az AppImage-en belül, vagy olyan eszközöket használnak, mint az AppImageUpdate , amely lehetővé teszi, hogy csak a változtatásokat töltsük le (a delta frissítéseknek köszönhetően) a fájlba ágyazott információk felhasználásával.
Az AppImageUpdate szintén AppImage-ként terjed, és célja az egyszerűség, a decentralizáció és a gyorsaság . Nem egy központi adattárra támaszkodik, hanem a fejlesztő által az alkalmazásba beépített metaadatokra. A tényleges funkcionalitása azonban attól függ, hogy az alkalmazás készítői helyesen implementálták-e azt.
A gyakorlatban sok felhasználó egy „manuálisabb”, de hatékonyabb módszert választ: letölti az új verziót a hivatalos weboldalról , végrehajtási engedélyt ad neki, és a régi fájlt lecseréli az újra, ügyelve arra, hogy a fájlnév megegyezzen az indítóprogramban vagy az asztali integrációban használt névvel.
Megjelentek a parancssori AppImage-kezelők, mint például az appimage-manager, a Zap és az AppMan , amelyek lehetővé teszik az AppImage-ek keresését, telepítését, frissítését és eltávolítását egy klasszikus csomagkezelőhöz (például az APT-hez vagy a pacmanhez) hasonló módon. Ezek akkor hasznosak, ha sok alkalmazást kezel ebben a formátumban, vagy ha szkriptekkel szeretné automatizálni a folyamatot.
AppImage eltávolítása vagy törlése
Ennek a formátumnak az egyik legkényelmesebb aspektusa, hogy mivel nem telepít rendszerszintű csomagokat, egy AppImage eltávolítása szó szerint a fájl törlését jelenti . Nincsenek frissítendő csomagadatbázisok vagy tisztítandó függőségek.
Ha például az /opt/AppImages vagy a ~/AppImages könyvtárba mented az AppImage fájlokat , akkor a fájl egyszerű törlése a fájlkezelőből vagy a terminálból az rm package_name.AppImage paranccsal az alkalmazás eltűnéséhez vezet.
Ha azonban manuálisan hozott létre asztali integrációkat (.desktop fájlok, ikonok az /opt/AppImages/icons fájlban stb.), akkor érdemes ezeket a maradványokat is törölni, hogy elkerülje a hibás parancsikonok megjelenését a menüben. Ez olyan egyszerű, mint a megfelelő .desktop fájl törlése, és ha használta, a hozzá tartozó ikon törlése.
Az olyan eszközök esetében, mint az AppImageLauncher vagy az AppImagePool, általában a saját felületükről kínálnak lehetőségeket az alkalmazás lebontására vagy törlésére, nemcsak a bináris fájl, hanem az általuk létrehozott indítóprogramok és ikonok megtisztításával is.
A lényeg az, hogy nem fogsz bonyolult, a rendszerben szétszórt maradványokat találni , ahogy az a hagyományos csomagoknál néha megesik; minden meglehetősen néhány könnyen megtalálható fájlra korlátozódik.
Szenvedélyes író a bájtok és általában a technológia világáról. Szeretem megosztani tudásomat írásban, és ezt fogom tenni ebben a blogban, megmutatom a legérdekesebb dolgokat a kütyükről, szoftverekről, hardverekről, technológiai trendekről stb. Célom, hogy egyszerű és szórakoztató módon segítsek eligazodni a digitális világban.