GNU/Linux >> Znalost Linux >  >> Fedora

Jak nainstalovat a používat snapy na Fedoře

Správce balíčků Snappy, vyvinutý společností Canonical, společností stojící za Ubuntu, a původně zamýšlený k použití na Ubuntu, je bezplatný a open source software používaný k instalaci a správě balíčků snap. Účelem balíčků Snap, stejně jako flatpaků, je distribuovat izolované a samostatné aplikace (aplikace jsou zabaleny společně se svými závislostmi).

Správce balíčků Snappy a jeho infrastruktura přistály na jiných distribucích než Ubuntu. V tomto tutoriálu se podíváme, jak jej nainstalovat a používat na nejnovější verzi Fedory.

V tomto tutoriálu se naučíte:

  • Jak nainstalovat správce balíčků snap
  • Jak vyhledávat balíčky ve snap store
  • Jak nainstalovat a aktualizovat balíčky snap
  • Jak zobrazit seznam nainstalovaných balíčků snap
  • Jak vytvářet a spravovat snímky balíčku
  • Jak odstranit balíčky snapů

Použité softwarové požadavky a konvence

Softwarové požadavky a konvence příkazového řádku systému Linux
Kategorie Požadavky, konvence nebo použitá verze softwaru
Systém Nezávislý na distribuci
Software snapd
Jiné Oprávnění uživatele root pro správu softwaru
Konvence # – vyžaduje, aby dané linuxové příkazy byly spouštěny s právy root buď přímo jako uživatel root, nebo pomocí sudo command
$ – vyžaduje, aby dané linuxové příkazy byly spouštěny jako běžný neprivilegovaný uživatel

Instalace

Chcete-li použít správce balíčků Snappy na Fedoře, první věc, kterou musíme udělat, je nainstalovat balíček obsahující software. Naštěstí pro nás je to velmi snadné, protože je k dispozici v oficiálních repozitářích Fedory. Instalaci můžeme provést graficky nebo pomocí dnf správce balíčků z našeho milovaného emulátoru terminálu. Zde je příkaz, který chceme spustit:

$ sudo dnf install snapd

snap-confine a snapd-selinux balíčky se instalují jako závislosti na snapdu:první obsahuje software používaný k aplikaci omezení na aplikace snap, zatímco druhý poskytuje politiku, která umožňuje, aby snapd fungoval správně pod SELinuxem. Součástí instalace je snapd.socket je povoleno pomocí systemd.

Vyhledávání balíků

Způsob, jakým pracujeme s balíčky snap, je pomocí snap aplikace. Jednou z nejzákladnějších akcí, kterou musíme provést, je zjistit, zda je v obchodě snap k dispozici konkrétní software. K provedení této akce můžeme použít uchopovací příkaz „najít“ nebo „hledat“ (druhý je aliasem prvního). Předpokládejme, že chceme nainstalovat balíček snap „gimp“. Chcete-li zjistit, zda je aplikace dostupná, můžeme spustit:

$ snap find gimp

Jak vidíte, příkaz nevyžaduje oprávnění správce. Vrací následující výstup:

Name                    Version  Publisher        Notes  Summary                                    
gimp                    2.10.28  snapcrafters     -      GNU Image Manipulation Program             
gutenprint-printer-app  1.0      openprinting✓    -      Gutenprint Printer Application             
photogimp               2.10.20  pedro.ermarinho  -      Patch para o GIMP                          
djpdf                   0.1.6    unrud            -      Create small, searchable PDFs from scanned documents                                                                                           
lazpaint                7.1.6    chronoscz        -      Image editor with raster and vector layers.

Informace o dostupných balíčcích, které odpovídají našim vyhledávacím kritériím, se vrátí:

  • Název balíčku
  • Verze balíčku snap
  • Vydavatel aplikace snap
  • Případné poznámky k balíčku
  • Stručný popis balíčku

Instalace balíčků snap

Chcete-li nainstalovat balíček snap, vše, co musíme udělat, je použít příkaz snap „install“. Jako příklad předpokládejme, že chceme nainstalovat gimp aplikace, kterou jsme hledali v předchozím kroku. Zde je příkaz, který bychom spustili:

$ sudo snap install gimp

Ve výchozím nastavení, pokud není uvedeno jinak, se balíčky instalují ze „stabilního“ kanálu. Jakmile spustíme výše uvedený příkaz, můžeme sledovat průběh instalace čtením výstupu terminálu:

2022-03-29T14:25:15+02:00 INFO Waiting for automatic snapd restart...
gimp 2.10.28 from Snapcrafters installed

Nejnovější verze snapů podporují režim „klasického omezení“. Když je balíček snap nainstalován v tomto režimu, ve skutečnosti není omezený, takže může přistupovat ke zdrojům v hostitelském systému. Pokud chceme nainstalovat balíček v tomto režimu, musíme spustit příkaz „install“ s --classic možnost.

Soubory vztahující se k balíčkům snap a jejich závislostem jsou nasazeny v systému pomocí SquashFS pouze pro čtení ve formě smyčkových zařízení, která jsou připojena do odpovídajících adresářů pod /var/lib/snapd . Jasně to vidíme, když se podíváme na výstup lsblk příkaz:

$ lsblk
NAME                   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
loop0                    7:0    0  43.6M  1 loop /var/lib/snapd/snap/snapd/15177
loop1                    7:1    0  55.5M  1 loop /var/lib/snapd/snap/core18/2344
loop2                    7:2    0     4K  1 loop /var/lib/snapd/snap/bare/5
loop3                    7:3    0  65.2M  1 loop /var/lib/snapd/snap/gtk-common-themes/1519
loop4                    7:4    0 164.8M  1 loop /var/lib/snapd/snap/gnome-3-28-1804/161
loop5                    7:5    0 391.3M  1 loop /var/lib/snapd/snap/gimp/383

Pro každý nainstalovaný balíček snap existuje zařízení pro blokování smyčky. V případě snapu „gimp“, pokud zkontrolujeme obsah /var/lib/snapd/snap/gimp/383 mountpoint (383 je revize balíčku snap – lze nainstalovat více revizí současně), můžeme vidět celý strom souborového systému, který hostí soubory aplikace:

$ ls /var/lib/snapd/snap/gimp/383
bin data-dir etc lib meta sbin snap usr var

Abychom mohli aplikaci spustit přesně tak, jak bychom to udělali po instalaci systémového nativního balíčku, /var/lib/snapd/snap/bin adresář musí být připojen k naší PATH . To by mělo být provedeno automaticky jako součást instalace snapd. Můžeme to ověřit kontrolou hodnoty proměnné:

$ echo $PATH
/home/egdoc/.local/bin:/home/egdoc/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/var/lib/snapd/snap/bin

Aktualizace balíčku

Více revizí snap balíčku může koexistovat současně. Krátce jsme viděli, jak je aktuálně nainstalovaná revize balíčku gimp snap 383. Aktuální aktivní verze je symbolicky označena jako /var/lib/snapd/snap/<package>/current . V případě gimp:

$ ls -l /var/lib/snapd/snap/gimp
drwxr-xr-x. 11 root root 146 Nov 8 17:14 383
lrwxrwxrwx. 1 root root 3 Mar 29 14:27 current -> 383

Chcete-li zkontrolovat, zda je k dispozici nová revize balíčku snap, a aktualizovat ji, můžeme použít refresh příkaz. Pokud se v tomto případě pokusíme aktualizovat balíček gimp, budeme upozorněni, že nejsou k dispozici žádné aktualizace:

$ sudo snap refresh gimp
snap "gimp" has no updates available

Pokud použijeme refresh bez zadání názvu balíčku jako argumentu, aplikace zkontroluje aktualizace pro všechny balíčky snap nainstalované v systému.

Výpis nainstalovaných balíčků snap

Chcete-li získat zprávu o aktuálně nainstalovaných balíčcích snap, vše, co musíme udělat, je použít příkaz „list“ nástroje snap. Podívejme se na příklad příkazu v akci:

$ snap list
Name               Version                     Rev    Tracking       Publisher     Notes
bare               1.0                         5      latest/stable  canonical✓    base
core18             20220309                    2344   latest/stable  canonical✓    base
gimp               2.10.28                     383    latest/stable  snapcrafters  -
gnome-3-28-1804    3.28.0-19-g98f9e67.98f9e67  161    latest/stable  canonical✓    -
gtk-common-themes  0.1-59-g7bca6ae             1519   latest/stable  canonical✓    -
snapd              2.54.4                      15177  latest/stable  canonical✓    snapd

Explicitně jsme nainstalovali „gimp“, takže všechny ostatní balíčky byly nainstalovány jako závislosti nebo jako „jádro“ infrastruktury snapů. Zaškrtnutí za názvem vydavatele balíčku znamená, že byl ověřen.

Vytváření a správa snímků balíčků

Jednou z příjemných vlastností ekosystému balíčků snap je možnost vytvářet snímky systémových, uživatelských a konfiguračních dat spojených s balíčkem. Snímky se vytvářejí automaticky, když je odstraněn balíček snap, ale lze je vytvořit i ručně pomocí save příkaz. Chcete-li například vytvořit snímek balíčku „gimp“, spustili bychom:

$ sudo snap save gimp

Pokud neuvedeme název balíčku jako argument příkazu uložení, vytvoří se snímky pro všechny existující balíčky. Chcete-li získat seznam existujících snímků v systému, můžeme použít saved příkaz:

$ sudo snap saved
Set  Snap             Age    Version                     Rev  Size    Notes
1    gimp             20.0m  2.10.28                     383   134kB  auto
3    gnome-3-28-1804  10.4m  3.28.0-19-g98f9e67.98f9e67  161    124B  -

Ve výstupu příkazu můžeme vidět velmi užitečné informace, jako je snímek id a jeho věk . K obnovení snímku používáme restore a na snímek, který chceme obnovit, odkazujeme jeho id. Chcete-li obnovit snímek gimp, který vidíme ve výstupu předchozího příkladu, spustili bychom:

$ sudo snap restore 1
Restored snapshot #1.

Nakonec, k ručnímu odstranění existujícího snímku, použijeme forget příkaz. Zde je to, co bychom spustili, abychom odstranili snímek gimp:

$ sudo snap forget 1
Snapshot #1 forgotten.

Odebrání balíčků snap

Intuitivně k odstranění dříve nainstalovaného balíčku snap musíme použít remove příkaz. Ve výchozím nastavení je balíček odstraněn se všemi jeho nainstalovanými revizemi. Pokud chceme odstranit konkrétní revizi balíčku, musíme ji předat jako argument do --revision volba. Když zadáváte revizi, aby byla odstraněna, nesmí být „aktivní“, takže pokud se pokusíte použít tuto možnost pouze v jedné verzi balíčku snap, příkaz selže. Předpokládejme, že chceme odstranit balíček „gimp“, který jsme nainstalovali například v tomto tutoriálu, spustili bychom:

$ sudo snap remove gimp

Nebo v případě, že existuje více než jedna revize:

$ sudo snap remove gimp --revision 383

Snímky balíčku snap nejsou odstraněny, když balíček odstraníme (snímek se ve skutečnosti vytvoří při odstranění balíčku). Abychom vynutili jejich odstranění, můžeme předat --purge možnost remove příkaz. Chcete-li například odstranit „gimp“ se všemi souvisejícími snímky, spustili bychom:

$ sudo snap remove --purge gimp

Závěr

V tomto tutoriálu jsme se naučili, jak používat snap balíčky na Fedoře. Ekosystém snap packages byl původně vyvinut společností Canonical pro Ubuntu, ale poté je dostupný i na jiných distribucích. Naučili jsme se, jak vyhledávat, instalovat, aktualizovat a odinstalovat balíčky snap na Fedoře a jak spravovat snímky balíčků snap. Přestože balíčky snap fungují na Fedoře, výchozí technologií pro samostatné aplikace používané v distribuci je flatpak:chcete-li se o ní dozvědět více a naučit se ji používat, můžete se podívat na náš tutoriál na toto téma.


Fedora
  1. Jak nainstalovat a používat Snap Package Manager na Ubuntu 20.04

  2. Jak nainstalovat a používat Imapsync na CentOS a Fedora

  3. Jak nainstalovat a nakonfigurovat Mariadb ve Fedoře 35

  1. Jak nainstalovat a používat Snap Package Manager na Alma Linux 8

  2. Jak nainstalovat a nakonfigurovat Redis 6 na Fedoře 34

  3. Jak nainstalovat a používat Podman ve Fedoře 34/35

  1. Jak nainstalovat Snap na Ubuntu

  2. Jak nainstalovat a nakonfigurovat Ansible na Fedoře 35

  3. Jak nainstalovat Python 2 a Python 3 na Fedoru 35