# 💻 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 <název-snapu>
```

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.