Úvod
Ve srovnání s jinými běžnými operačními systémy má Linux jiný přístup ke správě softwaru. Software v Linuxu je tradičně organizován v repozitářích. Repozitáře obsahují aplikace a všechny závislosti nezbytné k jejich spuštění.
I když je používání repozitářů pohodlné z mnoha důvodů, často představuje překážku pro uživatele, kteří nejsou technicky zdatní. Během posledních několika let bylo vytvořeno několik alternativních balíčkových systémů, aby bylo prostředí Linuxu uživatelsky přívětivější.
V tomto srovnávacím článku se dozvíte o rozdílech mezi balíčkovacím systémem Snap a správcem balíčků APT.
Co je to Snap?
Snap je softwarový balíček a systém nasazení, který používá samostatné balíčky nazývané snaps k dodání softwaru uživatelům. Snaps zabalí všechny závislosti, které program vyžaduje, do jednoho balíčku. Tímto způsobem je aplikace systémově agnostická, což znamená, že ji lze nativně spustit na jakékoli distribuci Linuxu, která podporuje Snap.
Zatímco APT většinou získává balíčky z oficiálních repozitářů distribuce, Snap umožňuje vývojářům doručovat své aplikace přímo uživatelům prostřednictvím Snap Store. Vývojáři mohou také publikovat snímky přímo na svých webových stránkách.
Nástroj pro správu snapů se nazývá snapd . Je to démon, který umožňuje systému spouštět balíčky snap. Uživatelé interagují s snapdem pomocí snap
klient.
Níže je uveden příklad instalace Thunderbirdu pomocí snap
příkaz:
Co je APT?
APT (Advanced Package Tool) je správce softwarových balíčků pro instalaci a odstraňování balíčků na systémech založených na Debianu. APT automatizuje proces načítání, konfigurace, aktualizace, instalace a odstraňování balíčků. APT je front-end základního systému správy balíčků Debianu dpkg .
Jednou z hlavních výhod APT je způsob, jakým zpracovává softwarové závislosti. Poté, co uživatel vydá příkaz k instalaci balíčku, APT vyhledá v úložištích závislosti balíčku a nainstaluje ty, které ještě nebyly v systému nainstalovány.
Nástroj, který APT používá hlavně k propojení s uživateli, je apt
. Nástroj nabízí nejoblíbenější apt-get a apt-cache
příkazy, které jsou považovány za méně uživatelsky přívětivé.
Snímek obrazovky ukazuje instalaci Thunderbirdu pomocí apt
:
Snap vs. APT:Rozdíly
Než se dostaneme do podrobností o rozdílech mezi Snapem a APT, je nutné porozumět úrovním, na kterých je můžeme porovnávat.
Níže uvedená tabulka vysvětluje terminologii a poskytuje hlavní body srovnání:
Snap | APT | |
---|---|---|
Typ balíčku | .snap | .deb |
Název nástroje | snapd | APT |
Nástroj CLI | snap | apt |
Formát | Archiv SquashFS | archiv ar |
K dispozici v | Snap Store | Úložiště Debianu |
Velikost instalace | Větší | Menší |
Závislosti | Obsaženo v balení | Sdíleno |
Aktualizace | Automaticky | Manuální |
Bezpečnostní omezení | Omezeno | Omezené omezení |
Více instalací | Možné | Není možné |
Instalace více verzí | Možné | Není možné |
Formát balíčku
Snap používá .snap
soubory, které jsou k dispozici ke stažení v obchodě Snap Store nebo na webu jejich vývojáře. .snap
obsahuje aplikaci, její závislosti a metadata v komprimovaném systému souborů SquashFS.
Aplikace Snap jsou kontejnerizované, podobně jako Docker balí své kontejnery. Na rozdíl od kontejnerů Docker však mají aplikace snap omezený přístup k hostitelskému systému, zejména pro ukládání konfiguračních souborů a používání systémových I/O.
APT používá .deb
soubory z online úložišť softwaru pro každou distribuci Linuxu, která je podporuje. .deb
soubor je unixový archiv, který obsahuje dva archivy tar. Jeden archiv obsahuje řídicí informace, zatímco druhý obsahuje soubory používané pro instalaci balíčků.
Velikost balíčku
Snímky jsou samostatné, což má za následek poměrně značný .snap
soubor. Když uživatel nainstaluje snap, soubor je dekomprimován a připojen jako zařízení zpětné smyčky pouze pro čtení v domovském adresáři.
Aplikace nainstalovaná prostřednictvím APT má menší velikost než jeho protějšek snap, protože nepotřebuje svazovat závislosti balíčků.
Závislosti
Snap sbalí závislosti balíčku uvnitř balíčku. I když tento přístup negativně ovlivňuje velikost balíčku, hlavní výhodou je, že uživatelé mají vždy podporovanou a testovanou verzi balíčku.
APT využívá přístup sdílených závislostí. Když uživatel vydá apt install
APT přečte seznam závislostí, zkontroluje, zda systém již nemá nainstalované některé balíčky, a nainstaluje chybějící. Tato technika zachovává malou paměťovou stopu.
Snadné použití
Rozdíl ve snadnosti použití pro koncové uživatele není významný. Snap aplikace jsou univerzální a pro vývojáře praktičtější na údržbu a vydání aktualizace je přímočarý proces změny jednoho balíčku.
Na druhé straně APT kontroluje úložiště, aby našel aktualizace. Když je aktualizace připravena, systém úložiště vyžaduje samostatnou verzi pro každou distribuci (Ubuntu, Linux Mint, Pop! OS atd.) a každou verzi distribuce (Ubuntu 18.04, Ubuntu 20.04 atd.). Tato metoda je časově náročná a u určitých distribucí někdy vede ke zpožděním.
Rychlost
Snap má delší dobu spouštění než APT protože OS dekomprimuje snapy při prvním použití, aby se ušetřilo místo na disku. Zaskakování je však pomalejší pouze při prvním spuštění – rozdíl se při druhém spuštění zmenšuje nebo úplně zmizí.
Aktualizace
Snap proces aktualizace je automatický. Uživatelé nemohou zabránit aktualizaci aplikace snap, pouze proces oddálí. Vývojáři Snapu nejsou omezeni, pokud jde o to, kdy mohou vydat aktualizaci.
APT poskytuje uživateli úplnou kontrolu nad procesem aktualizace. Nicméně, když distribuce přeruší vydání, obvykle zamrzne debs a neaktualizuje je po dobu vydání. Proto je Snap lepším řešením pro uživatele, kteří preferují nejnovější verze aplikací.
Integrace GUI
Snímky jsou navrženy tak, aby byly univerzální. Jako takové se neintegrují dokonale s GUI různých distribucí.
V poslední době došlo v komunitě Snap k určitému vývoji týkajícímu se integrace témat. Zahrnuje zavedení služby na pozadí, která sleduje změny motivu a nabízí uživatelům úpravu aplikace tak, aby odpovídala motivu operačního systému. Na tomto se však stále pracuje a snapy se stále plně neintegrují do hostitelského OS.
Na druhé straně .deb
soubory používané APT jsou specifické pro distribuci a verzi, což vede k poskytování výchozího prostředí Linuxu, pokud jde o integraci témat.
Zabezpečení
Snímky podporují ověřování podpisů a vzhledem ke své omezené povaze jsou považovány za bezpečné řešení pro nasazení aplikací. Protože však vydavatel poskytuje aplikaci přímo uživateli, uživatel musí vydavateli důvěřovat. Nejsou prováděny žádné externí kontroly.
Na druhou stranu každá distribuce Linuxu kontroluje debs obsažené v jejím úložišti. Takže APT uživatelé si mohou být jisti, že aplikace pochází z důvěryhodného zdroje. To se netýká repozitářů nebo deb třetích stran dostupných na webech vydavatelů.
Snap vs. APT:Který si vybrat?
Zvolte Přichytit pokud:
- Nechcete, aby byly do vašeho systému integrovány zbytečné balíčky. U Snaps zůstávají balíčky uzavřeny v
.snap
balíček. - Chcete se ujistit, že máte nejaktuálnější verzi aplikace. Snap aktualizace automaticky a nepřetržitě, bez zamrzání funkcí pro konkrétní distribuce.
- Chcete izolovat aplikaci.
Vyberte APT pokud:
- Dáváte přednost tomu, aby aplikace byly kontrolovány distribucí, kterou používáte.
- Máte obavy o úsporu úložného prostoru. Aplikace nainstalované APT sdílejí své závislosti.
- Chcete, aby se aplikace správně integrovaly do prostředí GUI.