GNU/Linux >> Znalost Linux >  >> Ubuntu

Snap vs APT:Jaký je rozdíl?

Ú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.

Ubuntu
  1. Ubuntu Server a Desktop:Jaký je rozdíl?

  2. Rozdíl mezi [[ $a ==Z* ]] a [ $a ==Z* ]?

  3. Rozdíl mezi lokalizací/kde je/který?

  1. Jaký je rozdíl mezi úkolovými a normálními metodami?

  2. Rozdíl mezi Lubuntu a Lxde?

  3. Cloud Hosting vs. VPS Hosting:Jaký je rozdíl?

  1. Kontejnery vs virtuální stroje (VM):Jaký je rozdíl?

  2. Docker CMD vs. Entrypoint Commands:Jaký je rozdíl?

  3. APT vs APT-GET:Jaký je rozdíl?