V Linuxu existuje mnoho různých způsobů instalace softwaru. Existují balíčky Debianu, balíčky Redhat RPM, uživatelské úložiště Arch Linuxu, strom Gentoo Portage, AppImages, archivy tar.gz se statickými binárními soubory a seznam pokračuje. Přesto, s tolika způsoby, jak nainstalovat software na Linux, stále existuje mnoho problémů. Například: při vývoji profesionálního softwaru pro Linux je velmi těžké jej dostat na každou jednotlivou distribuci Linuxu. Lidé v Ubuntu jsou odhodláni tento problém vyřešit. Jejich řešení; Snap balíčky. Zde je pohled na potřebu balíčků Snap v systému Linux a na to, jak je používat a instalovat.
SPOILER ALERT: Přejděte dolů a podívejte se na video tutoriál na konci tohoto článku.
Table of Contents
Proč byly vyvinuty balíčky Snap
Často se vývojáři přistihnou, že zabalí své programy do mnoha různých typů balíčků a odradí je to. Vytvoření všech těchto souborů balíčků nějakou dobu trvá a v důsledku toho se mnoho programů na Linux nedostane. To je důvod, proč lidé v Ubuntu vyvinuli balíčky Snap. Snap je něco, co lze nainstalovat z úložiště snapů, a uvnitř „snapu“ je vše, co program potřebuje ke spuštění.
To znamená, že vše, co aplikace potřebuje (knihovny, binární soubory, soubory obrázků, zvukové soubory a programy), je samostatné a může běžet nezávisle na systému. To zajišťuje, že bez ohledu na to bude program běžet i přes to, jak je hostitelský systém zastaralý nebo špatně nakonfigurovaný. To efektivně umožňuje instalovat snaps na jakoukoli distribuci Linuxu a dělá z něj „univerzální instalátor“, který si každý vývojář, velký i malý, může vyzvednout a dokonce si vytvořit vlastní úložiště snapů!
Instalace Snapd a jeho spuštění
Snapd je technologie, která pomáhá spouštět snímky na Linuxu. Společnost stojící za snaps spolupracovala s dalšími tvůrci distribucí Linuxu, takže populární a nejpoužívanější Linuxy mohou snadno spouštět a instalovat snapy. Zde je návod, jak to spustit
Poznámka: Uživatelé Ubuntu, stejně jako ti, kteří používají distribuci Linuxu založenou na Ubuntu, nebudou muset instalovat Snapd.
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] # An unofficial overlay that supports the installation of the "Snappy" backbone. # Maintainer: Clayton "kefnab" Dobbs ([email protected]) # Upstream Maintainer: 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
Jak používat Snaps
Jak již bylo zmíněno, snímky jsou hostovány v „úložišti snapů“ provozovaném Ubuntu a Canonical. Každý může zveřejnit snímek zdarma. Pro ty, kteří chtějí publikovat své vlastní snap balíčky v obchodě, zamiřte na Snapcraft.io. Tato webová stránka obsahuje všechny informace (ve velkém detailu), které vám mohou pomoci začít.
Chcete-li v obchodě vyhledat software, zkuste použít příkaz find:
snap find programname
Například:
snap find telegram
Tím se vytiskne seznam všech instalovatelných balíčků snap s klíčovým slovem „telegram“. Prohlédněte si tento seznam a zjistěte, který balíček nainstalovat. Poté použijte příkaz install, aby se to stalo.
sudo snap install telegram-latest
Tím se stáhne nejnovější verze snapu z obchodu a nainstaluje se do systému a poté se připojí kontejner snapu, aby měl uživatel přístup k softwaru v něm. Chcete-li zobrazit, kde je modul připojen, spusťte příkaz lsblk. Je to proto, že software je připojený svazek a neliší se pro systém od jakéhokoli jiného připojeného pevného disku nebo zařízení.
Odeberte všechny nainstalované balíčky snap ze systému pomocí příkazu remove.
Například:
sudo snap remove telegram-latest
Zapomněli jste název snímku, který chcete odstranit? Zkuste to:
snap list
Příkaz list vytiskne seznam všech nainstalovaných snapů. Odtud si poznamenejte název snapu a poté jej odeberte ze systému pomocí výše uvedeného příkazu remove.
Poznámka: Další příkazy, které nejsou popsány v tomto kurzu, najdete pomocí snap –help
Aktualizace snímků
Jako každý software se i snapy musí aktualizovat. Démon snap spravuje každý kontejner snap v systému. V důsledku toho se balíčky snap nebudou aktualizovat konvenčními prostředky. Chcete-li aktualizovat nainstalované balíčky snap v systému, použijte příkaz refresh. Posledním zásadním příkazem pro použití snaps je příkaz refresh.
sudo snap refresh
Závěr
Balíčky Snap mají potenciál nahradit způsoby, jakými instalujeme a používáme software v Linuxu, tím, že usnadňují distribuci. Namísto toho, aby vývojáři softwaru museli vytvářet několik různých balíčků, binárních souborů a metod doručení ke splnění stejného úkolu, vytvoří pouze jeden snap kontejner. Samostatný s knihovnami, spustitelným kódem a dalšími důležitými soubory, které mohou uživatelé snadno nainstalovat jediným příkazem.
Snímky nejsou dokonalé. Někteří noví uživatelé Linuxu budou mít s jejich používáním problémy. Je to proto, že instalace aplikací bude fungovat pouze s příkazovým řádkem. Můžeme jen doufat, že jak budou balíčky snapů stále populárnější, budou lidé v Ubuntu pracovat na pěkném uživatelském rozhraní pro instalaci a používání snapů. Do té doby to bude muset udělat příkazový řádek.