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

230 lines
7.4 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 💻 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
```
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 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
```
4. 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
```
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.