Files
KankysLinuxWorld/Ubuntu/návody/💻JakOdinstalovatSnapZUbuntu.md
2025-11-24 22:56:44 +01:00

7.4 KiB
Raw Blame History

💻 Jak odinstalovat Snap z Ubuntu 24.04.

Proč odinstalovat Snap z Ubuntu?

Ubuntu od verze16.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 UbuntuLTS

UbuntuLTS (od verze16.04) používá snapd démon, který spravuje balíčky typuSnap. 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
  1. 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
  1. Přepněte GNOME zSnap na *debzaloženou instalaci

Je potřeba si zjistit že Gdm3 je aktivní.

Jak zjistit, že máte gdm3 (GNOMEDisplay 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 20251120 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 debverzi 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
  1. Pokud se rozhodnete zcela odstranit Snapd

Po úspěšném přechodu na debGNOME můžete odstranit Snapdémon:

sudo apt purge snapd
sudo rm -rf ~/snap /snap /var/snap /var/lib/snapd
sudo apt autoremove --purge
  1. 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.

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