GNU/Linux >> Znalost Linux >  >> Ubuntu

Úvod pro začátečníky k vytvoření univerzálního formátu linuxového balíčku

Úvod

Co jsou to snapy a proč byste je měli používat? Ekosystém Linuxu trpěl od úsvitu konceptu „distribuce“ starým problémem, a tím
problémem je fragmentace. Jedním z největších problémů, které způsobují tuto fragmentaci, jsou různé formáty balíčků; Nemohu spustit své .debs na mém systému Fedora nebo své .rpm na mém
počítači Ubuntu. Ano, máme alien, který by měl umožnit přechod mezi těmito dvěma formáty, ale tento přístup má dva problémy:kromě rpm a deb existují i ​​jiné formáty balíčků a kromě toho alien ne vždy funguje podle očekávání . Takže problém stále existuje, nebo bych měl říci, byl. Vstupte do snap, univerzálního linuxového
formátu balíčků, který se snaží uživatelům a vývojářům nabídnout jednotný formát balíčků a snadnost, pokud jde o vytváření nových balíčků s aplikacemi a knihovnami
, které jsou potřeba, a zajišťuje, že uvedené balíčky lze snadno sdílet mezi distribucemi. Dell, Samsung a Linux Foundation jsou uváděni jako přispěvatelé, zatímco mezi
podporované distribuce patří Fedora, Ubuntu, Arch nebo OpenSUSE.

Tento článek podrobně popisuje, jak používat snapy jako jednoduchý uživatel, a také pokyny pro vývojáře/balíčky
jak vytvářet snapy pro ostatní. Operační systém, který budeme používat, je Ubuntu 16.04, ale níže uvedené pokyny by nemělo být těžké přizpůsobit jiným distribucím.

Snímky jako jednoduchý uživatel

Tato část vám poskytne prohlídku snapu z pohledu uživatele:jak nainstalovat potřebné nástroje a jak je používat pro základní, každodenní
použití. Nejprve musíte nainstalovat snapcraft, balíček, který poskytuje snap, hlavní nástroj pro výše uvedené každodenní operace:

 $ sudo apt install snapcraft

To je vše. Než půjdeme dále, pojďme si promluvit o některých detailech:za prvé, aplikace nabízené jako snapy jsou izolované kontejnery, což hodně pomáhá z hlediska
spotřeby zdrojů i bezpečnostních záležitostí. Vše nainstalované snapem najdete v /snap/ , který má zase svou vlastní hierarchii:/snap/bin , /snap/lib a tak dále. Za druhé,
budete automaticky dostávat aktualizace. Zatřetí, uvažujte o snapech jako o doplňcích ke stávajícím linuxovým balíčkům, ne jako o náhradách (no, teď už ne).

A konečně, snapy se snadno
integrují s nainstalovaným softwarem a využívají existující knihovny prostřednictvím rozhraní.
Jak jsme již řekli v minulosti, manuál nic nenahradí. Takže když vám poskytneme prohlídku, pokud se chcete ponořit hlouběji, budete si muset něco přečíst sami. Takže
začněme se základními operacemi uchopení:pokud chcete vyhledat balíček, udělejte to

 $ snap find hello

Zde je „ahoj“ vzorový řetězec, který hledáme. Jdeme dále se stejným řetězcem, pojďme něco nainstalovat:

 $ sudo snap install hello

Nainstalované snapy můžete zobrazit pomocí ‚seznam‘:

 $ snap list

Aktualizujte s aktualizací, buď vše, co jste nainstalovali, nebo pouze určité snapy:

 $ sudo snap refresh
OR
 $ sudo snap refresh hello

Co je poněkud nové (ano, vrátit se můžete například pomocí yum a nejen to, ale ne vždy to funguje tak, jak chcete), je příkaz „revert“ :

$ sudo snap revert hello

Používání aplikace snap jako vývojáře

Nastavení

Nejprve se podívejme, co potřebujete, abyste mohli začít vytvářet snímky. Obchodní nástroj se
nazývá snapd a na Ubuntu a Debianu je stejně jednoduchý jako

$ sudo apt install snapd snapcraft

zatímco na Fedoře můžete

 $ sudo dnf copr enable zyga/snapcore
 $ sudo dnf install snapd
 $ sudo systemctl enable --now snapd.service
 $ sudo setenforce 0
 $ sudo $editor /etc/selinux/config #set SELINUX=permissive and reboot to make SELINUX settings permanent

a to je vše. Má to však háček. I když tyto nástroje fungují s většinou hlavních linuxových distribucí, snapcraft, nástroj, který
nainstalujeme a použijeme, abychom se mohli naučit vytvářet snapy, je dostupný z repozitářů Ubuntu a AUR, pokud víme. Zbytek
uživatelů Linuxu bude muset pouze naklonovat úložiště git (https://github.com/snapcore/snapcraft) a sestavit jej.

Provedení prohlídky a vytvoření snímku

Než budeme pokračovat, mějte na paměti, že vaše snapy (nebo ty stávající) budou a jsou mnohem
větší než odpovídající balíčky úložiště. Proč? Protože také obsahují všechny závislosti potřebné pro fungování programů,
jsou svým způsobem soběstačné. Jakmile budete mít snapcraft nainstalovaný, doporučujeme vám absolvovat prohlídku:

 $ snapcraft tour

Tento příkaz inicializuje některé adresáře a podadresáře (ve výchozím nastavení pod ./snapcraft-tour ) a získáte zdrojový kód
ukázky, pokyny a očíslované kroky, které vás provedou základy. Prvním krokem je například, jak jinak?,
ahoj světe. Typ

 $ cd snapcraft-tour/00-SNAPCRAFT/01-easy-start

a uvidíte tam pouze soubor .yaml, což je v podstatě soubor, který popisuje snap. Podívejte se na něj, uvidíte
že definuje název, co načíst, odkud, jaká aplikace bude výsledkem atd. Poté stačí spustit

 $ snapcraft

uvnitř výše uvedeného adresáře a udělá vše potřebné a udělá vám snímek. Uvedený snap lze nainstalovat za předpokladu, že jste stále
v adresáři, který jsme zmínili výše, s

 $ sudo snap install ./hello*.snap

Udělejte si čas a pohrajte si se souborem .yaml – vytvoření kopie je vždy dobrý nápad – podívejte se, co se stane, když tam změníte některé
proměnné, a zjistěte, jak vaše změny ovlivní vytvoření snímku. Pamatujte, že svůj snímek můžete kdykoli distribuovat
svým přátelům nebo pro něj vytvořit úložiště. Poslední poznámka:Sekce ‘zdroj’ v .yaml má jako hodnotu adresu URL, ale můžete
mít také místní hodnotu, např. ./src/my_dep/ .

Poslední slova

Sotva jsme poškrábali povrch pomocí snapů, pozor, ale s
snapy se dá hodně učit a dělat skvělé věci! Zdá se, že nekončící problém mít software zabalený pouze jako, řekněme, RPM a způsobovat uživatelům bolesti hlavy, když je to potřeba v Debianu, například
se zdá být u konce. Jako vždy vám doporučujeme, abyste si hráli se snímky, vytvořili nějaké a nezapomeňte je sdílet! Bavte se!


Ubuntu
  1. Úvod do používání tcpdump na příkazovém řádku Linuxu

  2. Jak vypsat seznam závislostí balíčku v Linuxu

  3. Úvod do příkazu alternatives v Linuxu

  1. Úvod do linuxových příkazů chgrp a newgrp

  2. Úvod do linuxového příkazu chmod

  3. Úvod do linuxového příkazu chown

  1. Porovnání správců linuxových balíčků – AppImage vs Snap vs Flatpak

  2. Úvod do souboru Linux /etc/fstab

  3. Kompletní průvodce LVM v Linuxu pro začátečníky