GNU/Linux >> Znalost Linux >  >> Linux

Použití AppImage pro správu balíčků Linuxu

Velkou součástí správy linuxových strojů – zejména vzdálených strojů – je správa a instalace softwaru. Když se něco pokazí s místní aplikací nebo když se něco na souborovém systému porouchá a potřebuje opravit, často budete chtít poslat aktualizace, aniž byste museli cestovat mnoho kilometrů, abyste se posadili před fyzickou obrazovku. Jak vysvětluji ve svém kurzu Pluralsight Údržba a odstraňování problémů Linuxu, spoustu problémů lze samozřejmě vyřešit pomocí skriptů Bash, ale stále existuje spousta případů, kdy neexistuje žádná alternativa k dobrému, staromódnímu binárnímu programu.

Představte si, že některé vaše vzdálené systémy potřebují nainstalovat nové aplikace, takže členové týmu používající tyto počítače budou moci vykonávat nějakou obchodní funkci. Schopnost využít integraci a automatizaci jednoho z hlavních linuxových repozitářů – jako je Debian nebo RPM – vám může značně usnadnit administrativní úkoly.

Jak nám Linus Torvalds nikdy nepřestane připomínat, problém mnoha systémů pro správu softwaru Linux je v tom, že existuje příliš mnoho systémů pro správu softwaru Linux. V průběhu let se vývoj aplikací a dokonce i adopce Linuxu komplikovaly tím, že veškerý čas a práce, které investujete do přípravy softwaru pro, řekněme, repozitáře Debianu, vám nepomůže, pokud je chcete dostat do RPM systémů. A ani jedno nepomůže správci Zypper SUSE.

Jedním slibným řešením problému softwarového zásobníku je distribuce aplikací s jejich vlastním samostatným prostředím, které bude fungovat na jakékoli distribuci Linuxu. Jednou z možností standardu v tomto mladém a rostoucím oboru je AppImage.

Práce s AppImages

Další zdroje pro Linux

  • Cheat pro příkazy Linuxu
  • Cheat sheet pro pokročilé příkazy systému Linux
  • Bezplatný online kurz:Technický přehled RHEL
  • Síťový cheat pro Linux
  • Cheat sheet SELinux
  • Cheat pro běžné příkazy pro Linux
  • Co jsou kontejnery systému Linux?
  • Naše nejnovější články o Linuxu

Jsem all-in na AppImage. Stejně jako ostatní systémy pro správu balíčků, které jsem zmínil, je k dispozici spousta složitosti, pokud ji chcete. Ale ve svém jádru jsou AppImages ve skutečnosti docela jednoduché. Spíše než pracovat přes repo jako většina ostatních správců balíčků, AppImages jsou samostatné, samostatné soubory, které lze odesílat přímo nebo sdílet prostřednictvím webu.

Zde je ukázka její krásy. Zatímco jsem si hrál s AppImages, narazil jsem na velmi starou diskuzi na technickém fóru, která mě přivedla ke stejně starému a opuštěnému projektu GitHub a souvisejícím YAML a souborům receptů. Byly navrženy tak, aby automaticky vytvořily poměrně složitou infrastrukturu potřebnou k přípravě archivu potřebného pro vygenerování balíčku AppImage. Přestože byla celá tato infrastruktura postavena tak, aby fungovala na pět let starém vydání Ubuntu, když jsem to dal dohromady a spustil appimagetool příkaz proti němu vytvořil soubor AppImage, který bez problémů fungoval na mé aktuální ploše. Nemyslím si, že existuje příliš mnoho pět let starých GitHub projektů této složitosti, které by mohly běžet pomocí jiných technologií bez nějakého vážného přepracování.

Ale já se tam nechystám. Místo toho vám ukážu, jak to funguje s velmi jednoduchou aplikací Hello World. Nejprve se ujistěte, že je balíček AppStream nainstalován lokálně.

Pro systém založený na Debianu spusťte:

$ sudo apt install appstream

A pro systémy RPM použijte:

$ sudo dnf install appstream

Klonujte úložiště Git odkazované v tomto článku, na kterém jsem založil tento příklad:

$ git clone https://github.com/boolean-world/appimage-resources
$ cd appimage-resources
$ ls hello-world-appimage

Dále cd do nového adresáře, který Git vytvořil, a rozhlédněte se. Jsou zde dva adresáře. Použijte hello-world-appimage; druhý je složitější projekt a měli byste zvážit, zda ho také nevyzkoušíte.

helloworld.desktop soubor je to, co čtou systémy Linux GUI, aby věděly, jak zacházet se způsobem, jakým prezentují ikonu na ploše. Jak se ukázalo, způsob, jakým je soubor aktuálně zapsán, vám bude později dělat potíže, takže proveďte jednu menší úpravu:přidejte Categories= řádek a přiřaďte mu hodnotu GNOME . A nezapomeňte na středník na konci:

$ nano hello-world-appimage/helloworld.desktop
        add Categories=GNOME;

Stáhněte si předkompilovanou kopii appimagetool binární z projektu AppImage GitHub. Zkuste navštívit web GitHub – je tam spousta vynikající dokumentace a zdrojů. Jakmile je binární soubor stažen, udělejte soubor spustitelným a nasměrujte jej na hello-world-appimage adresář. Nejprve mu ale musíte říct, jakou architekturu chcete. Z nějakého důvodu nástroj s názvem, který končí na x86_64 je vše kolísavé, pokud jde o výběr, zda vytvořit aplikaci pomocí x86_64 nebo ne (nejsem si jistý, co se tam děje):

$ wget https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage
$ chmod +x appimagetool-x86_64.AppImage
$ ARCH=x86_64 ./appimagetool-x86_64.AppImage hello-world-appimage

Pokud nevidíte žádné naštvané chybové zprávy, vše můžete spustit:

$ ls
$ ./hello-world-appimage-x86_64.AppImage

Závěr

AppImage je neuvěřitelně efektivní volba pro správu balíčků. Až to budete prozkoumávat, myslím, že zjistíte, že je to skvělá alternativa k výchozímu nastavení distribuce Linuxu.


Linux
  1. Linuxové tipy pro používání cronu k plánování úloh

  2. Jak zabalit aplikace Python pro Linux

  3. 4 nástroje pro budování vestavěných linuxových systémů

  1. Správa balíků Linux pomocí apt

  2. Kompletní průvodce pro použití AsciiDoc v Linuxu

  3. Použití proměnných v SQLCMD pro Linux

  1. 8 Linuxových příkazů pro efektivní řízení procesů

  2. Použití at pro jednorázové úlohy cron v Linuxu

  3. Buka – Vynikající správa elektronických knih pro Linux