Jak používat a instalovat balíčky Snap na Linuxu

Photo of author

By etechblogcz

V ekosystému Linuxu existuje mnoho odlišných metod, jak instalovat software. Setkáváme se s balíčky Debianu, Red Hat RPM, uživatelským repozitářem Arch Linuxu, stromem Gentoo Portage, AppImages, archivy tar.gz se statickými binárkami a výčet by mohl pokračovat. Nicméně i přes rozmanitost způsobů instalace softwaru na Linux, stále narážíme na problémy. Kupříkladu, při vývoji profesionálního softwaru pro Linux je velmi komplikované zajistit jeho dostupnost pro všechny linuxové distribuce. Vývojáři v Ubuntu se rozhodli tento problém řešit. Jejich odpovědí jsou balíčky Snap. Podívejme se na důvody, proč jsou balíčky Snap pro Linux potřebné, jak se používají a instalují.

UPOZORNĚNÍ: Na konci tohoto textu najdete video tutoriál.

Proč vznikly balíčky Snap

Vývojáři často tráví čas vytvářením různých balíčků pro svůj software, což je demotivuje. Vytváření všech těchto typů balíčků zabere hodně času, což vede k tomu, že mnoho programů se do Linuxu vůbec nedostane. Proto vývojáři v Ubuntu představili balíčky Snap. Snap je balíček, který lze instalovat z repozitáře snapů a obsahuje vše, co program potřebuje ke svému fungování.

To znamená, že všechny potřebné komponenty aplikace (knihovny, spustitelné soubory, obrázky, zvuky a podpůrné programy) jsou obsaženy v jednom celku a mohou běžet nezávisle na systému. Díky tomu je zaručeno, že program poběží bez ohledu na to, zda je hostitelský systém zastaralý nebo nesprávně nastavený. To v podstatě umožňuje instalaci snapů na jakoukoli linuxovou distribuci, čímž se stávají „univerzálním instalátorem“, který může využít jakýkoli vývojář, a dokonce si vytvořit vlastní úložiště snapů!

Instalace a spuštění Snapd

Snapd je technologie, která umožňuje spouštění snapů v Linuxu. Společnost, která stojí za vývojem snapů, spolupracovala s vývojáři dalších linuxových distribucí, aby bylo možné snapy snadno spouštět a instalovat na nejrozšířenějších linuxových distribucích. Níže uvádíme postup, jak Snapd spustit:

Poznámka: Uživatelé Ubuntu a distribucí na něm založených nemusí Snapd instalovat.

Debian testování/nestabilní

sudo apt install snapd

Fedora

sudo dnf install snapd
sudo systemctl enable --now snapd.socket

Arch Linux

sudo pacman -S snapd
sudo systemctl enable --now snapd.socket

OpenSUSE Leap 42.2

sudo zypper addrepo https://download.opensuse.org/repositories/system:/snappy/openSUSE_Leap_42.2/ snappy
sudo zypper install snapd
sudo systemctl enable --now snapd.socket

OpenSUSE Tumbleweed

sudo zypper addrepo https://download.opensuse.org/repositories/system:/snappy/openSUSE_Tumbleweed/ snappy
sudo zypper install snapd
sudo systemctl enable --now snapd.socket

Gentoo

sudo -s
nano -w /etc/portage/repos.conf/gentoo-snappy.conf

Vložte následující:

[gentoo-snappy]

# Neoficiální overlay, který podporuje instalaci "Snappy" základny.
# Správce: Clayton "kefnab" Dobbs ([email protected])
# Hlavní správce: Zygmunt "zyga" Krynicki ([email protected])

location = /usr/local/portage/gentoo-snappy
sync-type = git
sync-uri = https://github.com/zyga/gentoo-snappy.git
priority = 50
auto-sync = yes

Uložte konfigurační soubor pomocí ctrl + O.

emaint sync --repo gentoo-snappy

Používání Snapů

Jak již bylo zmíněno, snapy se nacházejí v „úložišti snapů“, které spravují Ubuntu a Canonical. Kdokoli může zdarma zveřejnit snap. Pro ty, kteří chtějí publikovat své vlastní snap balíčky v obchodě, je zde Snapcraft.io. Tato webová stránka obsahuje veškeré potřebné informace, které vám pomohou začít.

Pro vyhledání softwaru v obchodě použijte příkaz find:

snap find nazev_programu

Například:

snap find telegram

Tím se zobrazí seznam všech instalovatelných snap balíčků s klíčovým slovem „telegram“. Projděte si seznam a vyberte balíček, který chcete nainstalovat. Následně použijte příkaz install, abyste ho nainstalovali.

sudo snap install telegram-latest

Tento příkaz stáhne nejnovější verzi snapu z obchodu, nainstaluje ji do systému a následně připojí kontejner snapu, aby uživatel mohl software v něm používat. Pro zobrazení umístění připojení modulu použijte příkaz lsblk. Software je připojen jako svazek, a proto se od jiných připojených pevných disků nebo zařízení neliší.

Odeberte nainstalované snap balíčky ze systému pomocí příkazu remove.

Například:

sudo snap remove telegram-latest

Zapomněli jste název snapu, který chcete odstranit? Zkuste toto:

snap list

Příkaz list zobrazí seznam všech nainstalovaných snapů. Odtud si poznamenejte název snapu a poté ho pomocí výše uvedeného příkazu remove odstraňte ze systému.

Poznámka: Další příkazy, které nejsou zmíněny v tomto textu, najdete pomocí příkazu snap --help

Aktualizace snapů

Stejně jako jakýkoli jiný software, i snapy je třeba aktualizovat. Démon snap spravuje každý kontejner snap v systému. Z tohoto důvodu se snap balíčky neaktualizují běžnými způsoby. Pro aktualizaci nainstalovaných snap balíčků použijte příkaz refresh, který je posledním zásadním příkazem pro správu snapů.

sudo snap refresh

Závěr

Balíčky Snap mají potenciál změnit způsob, jakým instalujeme a používáme software v Linuxu, a to díky zjednodušení distribuce. Místo toho, aby vývojáři softwaru museli vytvářet několik různých balíčků, binárek a metod doručení pro dosažení stejného cíle, vytvoří pouze jeden kontejner snap. Tento kontejner je samostatný, obsahuje knihovny, spustitelný kód a další důležité soubory a uživatelé jej mohou snadno nainstalovat jedním příkazem.

Snapy nejsou dokonalé. Někteří noví uživatelé Linuxu mohou mít s jejich používáním potíže, protože instalace aplikací probíhá pouze pomocí příkazového řádku. Doufejme, že s rostoucí popularitou snap balíčků vývojáři v Ubuntu pracují na vytvoření uživatelsky příjemného rozhraní pro instalaci a používání snapů. Do té doby budeme muset používat příkazový řádek.