# 💻 Jak odinstalovat Snap z Ubuntu 24.04. **Proč odinstalovat Snap z Ubuntu?** Ubuntu od verze 16.04 začal intenzivně propagovat svůj vlastní formát Snap. Někteří uživatelé kritizovali pomalejší start aplikací, vyšší spotřebu paměti a fakt, že Snapy jsou distribuovány přes centrální server společnosti Canonical, což podle nich narušuje otevřenost ekosystému. **Nejdříve jsi vše zálohujte, když něčemu nerozumíte co děláte raději se s někým poraďte nebo pomoc hledejte na fórech a podobně.** **Po odstranění Snapu z Ubuntu vám nebude fungovat Livepatch!!** **Předpokládáme že používáte Gnome z důvodu přepnutí Gnome Snap na Gnome deb založenou instalaci.** U jiných prostředí místo Gnome nainstalujete vámi používané prostředí. ## Jak odstranit Snapy z Ubuntu LTS Ubuntu LTS (od verze 16.04) používá **snapd** – démon, který spravuje balíčky typu Snap. Pokud chcete Snapy úplně odstranit a vrátit se k tradičnímu systému DEB, postupujte podle následujících kroků. Všechny příkazy spouštějte v terminálu s právy administrátora (přidejte sudo). 1. Zjistěte, které Snapy máte nainstalované ``` snap list ``` 2. Odstraňte všechny Snapy mimo Snap, Gnome, Core příkazem: ``` sudo snap remove ``` Příklad u mě (pozor u Vás budou baličky jiné ty si ověříte pomocí příkazu – **snap list**): ``` sudo snap remove bare sudo snap remove canonical-livepatch sudo snap remove celeste sudo snap remove firefox sudo snap remove firmware-updater sudo snap remove proton-mail sudo snap remove proton-pass sudo snap remove snap-store sudo snap remove vlc ``` Tyto balíčky odstraníme později: ``` sudo snap remove gnome-42-2204 sudo snap remove gnome-46-2404 sudo snap remove gtk-common-themes sudo snap remove mesa-2404 sudo snap remove core22 sudo snap remove core24 sudo snap remove core20 sudo snap remove core18 ``` 3. Přepněte GNOME z Snap na *deb‑založenou instalaci Je potřeba si zjistit že Gdm3 je aktivní. Jak zjistit, že máte **gdm3** (GNOME Display Manager) nainstalovaný a aktivní Zkontrolujte, jestli je balíček nainstalovaný ``` dpkg -l | grep ^ii | grep gdm3 ``` Výstup obsahuje řádek podobný tomuto ``` i gdm3 3.40.0-1ubuntu5.2 amd64 GNOME Display Manager ``` Pokud se nic nevrátí, balíček není nainstalovaný – můžete jej nainstalovat: ``` sudo apt update sudo apt install gdm3 ``` Ověřte, že je **gdm3** nastavený jako výchozí display manager: ``` cat /etc/X11/default-display-manager ``` Očekávaný výstup ``` /usr/sbin/gdm3 ``` Zjistěte, zda běží jako služba ``` systemctl status gdm3.service ``` Typický výstup (zkrácený): ``` ● gdm3.service - GNOME Display Manager Loaded: loaded (/lib/systemd/system/gdm3.service; enabled; vendor preset: enabled) Active: active (running) since Mon 2025‑11‑20 08:12:34 CET; 2h 15min ago Docs: man:gdm3(8) Main PID: 1234 (gdm3) Tasks: 5 (limit: 4915) Memory: 28.3M CGroup: /system.slice/gdm3.service └─1234 /usr/sbin/gdm3 ``` Klíčové informace: **Loaded** – enabled znamená, že se spustí při bootu. **Active** – active (running) potvrzuje, že je momentálně spuštěná. Ubuntu 22.04 a novější používají GNOME Shell jako Snap, ale můžete **nainstalovat plnou deb‑verzi GNOME** a poté Snap Shell odstranit. Postup: ``` sudo apt update sudo apt install ubuntu-desktop gnome-shell gnome-session gnome-control-center ``` Nyní odstraníme ostatní balíčky **a jeden nainstalujeme** (pozor u Vás budou baličky jiné ty si ověříte pomocí příkazu – **snap list**): ``` sudo snap remove gnome-42-2204 sudo snap remove gnome-46-2404 sudo snap remove gtk-common-themes sudo snap remove mesa-2404 sudo snap remove core22 sudo snap remove core24 sudo snap remove core20 sudo snap remove core18 sudo apt install mesa-utils libgl1-mesa-dri ``` 4. Pokud se rozhodnete **zcela** odstranit Snapd Po úspěšném přechodu na deb‑GNOME můžete odstranit Snap‑démon: ``` sudo apt purge snapd sudo rm -rf ~/snap /snap /var/snap /var/lib/snapd sudo apt autoremove --purge ``` 5. Zamezení zpětné instalace Snapd 🛑 Ubuntu má nastavené některé meta-balíčky tak, že jako závislost instalují snapd (např. při instalaci desktopového prostředí nebo nějakého softwaru). Pro úplnou ochranu před nechtěnou re-instalací je nejlepší **držet balíček snapd v zablokovaném stavu.** a) Nastavení priority v APT (Doporučeno) Vytvoříte konfigurační soubor, který dá balíčku snapd nízkou prioritu (-10), což znamená, že ho systém nebude chtít nainstalovat. ``` echo 'Package: snapd Pin: release a=* Pin-Priority: -10 ' | sudo tee /etc/apt/preferences.d/nosnap.pref ``` b) Volitelně: Uzamknutí balíčku (apt-mark hold) Toto je přímé uzamčení balíčku, které zamezí jeho aktualizaci, instalaci nebo odebrání, dokud ho neuvolníte (unhold). ``` sudo apt-mark hold snapd ``` Pokud byste ho někdy v budoucnu chtěl/a odemknout: ``` sudo apt-mark unhold snapd ``` Po provedení těchto kroků je váš systém **zcela zbaven Snapd** a souvisejících repozitářů a zbytků. Pro jistotu můžete systém restartovat: sudo reboot. 6. Nejlepší způsob, jak ověřit, že je Snap zcela pryč, je pomocí **terminálu**, kde zkontrolujete, zda se **odebral balíček snapd**, zda **neexistuje příkaz snap** a zda byly **odstraněny klíčové adresáře**. Zde jsou kroky, které byste měl/a provést: Ověření stavu balíčku snapd 📦 Tento příkaz zkontroluje, zda systém správy balíčků **APT** považuje snapd za odinstalovaný. ``` apt list --installed snapd ``` **Očekávaný výstup:** Balíček by se neměl objevit v seznamu, nebo by měl být označen jako **[odstraněno]** ([removed]). Pokud se zobrazí stav [nainstalováno] ([installed]), znamená to, že nebyl balíček správně odinstalován a měli byste zopakovat příkaz sudo apt autoremove --purge snapd. Kontrola dostupnosti příkazu snap ❌ Pokud byl snapd odebrán, hlavní příkaz pro práci se Snapem by měl být nefunkční. ``` snap version ``` **Očekávaný výstup**: Měla by se zobrazit chybová hláška jako např. bash: snap: command not found (příkaz nebyl nalezen) nebo snapd unavailable (snapd nedostupný). Ověření, že služba neběží 🛑 Zkontrolujte, zda systémová služba snapd není spuštěna nebo zda není povolena. ``` systemctl status snapd ``` **Očekávaný výstup:** Měl by se zobrazit stav Active: inactive (dead) nebo zpráva, že služba nebyla nalezena, např. Unit snapd.service could not be found.. Pokud by služba běžela (active (running)), je to známka neúplného odstranění. Kontrola odstranění adresářů 🗑️ Snap ukládá svá data na několika místech. Ty by měly být po použití volby --purge a ručním smazání pryč. **Systémový adresář:** ``` ls -d /var/lib/snapd ``` **Očekávaný výstup:** Mělo by se zobrazit: ls: cannot access '/var/lib/snapd': No such file or directory (Adresář neexistuje). **Uživatelský adresář:** ``` ls -d ~/snap ``` **Očekávaný výstup:** Mělo by se zobrazit: ls: cannot access '/home/vas_uzivatel/snap': No such file or directory Pokud všechny tyto kontroly potvrdí, že balíček neexistuje, příkaz je neznámý a adresáře chybí, můžete si být jisti, že je **Snap zcela pryč** z vašeho systému.