GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak odstranit staré verze Snapu, abyste uvolnili místo

Nedávno jsem používal Disk Usage Analyzer, abych zjistil, zda mohu uvolnit místo na ploše Ubuntu 18.10, když jsem si všiml /var/lib/snapd/snaps/ Složka byla docela velká.

Zatímco jsem zjišťoval, jak uvolnit místo / vymazat mezipaměť snapu /var/lib/snapd/snaps/ Složka bez odebrání snap balíčků, které jsem nainstaloval, jsem zjistil, že po aktualizacích snap balíčků jsou systémem standardně uloženy 3 snap verze. To znamená, že na každý balíček Snap, který jsem nainstaloval s alespoň 2 aktualizacemi, jsem měl v systému uloženy 3 revize, které zabíraly docela dost místa na disku.

K dispozici je možnost přichycení (od verze Snapd 2.34), s názvem refresh.retain , pro nastavení maximálního počtu revizí snapů uložených systémem po příští aktualizaci, které jsou nastaveny na číslo mezi 2 a 20. lze upravit . Toto můžete změnit z výchozí 3 na 2 pomocí:

sudo snap set system refresh.retain=2

Související, ale pro balíčky Flatpak:Jak odstranit nepoužívaná runtime Flatpak, abyste uvolnili místo

Co když ale chcete odstranit všechny verze všech snap balíčků s aktualizacemi v systému? To je skript vytvořený Popeyem, komunitním manažerem v Ubuntu Engineering ve společnosti Canonical, aby odstranil VŠECHNY staré verze Snaps a ponechal pouze aktuální aktivní verzi (aktualizovanou LANG=en_US.UTF-8 takže to funguje s neanglickými lokalitami, díky Williamovi v komentářích):

#!/bin/bash
# Removes old revisions of snaps
# CLOSE ALL SNAPS BEFORE RUNNING THIS
set -eu
LANG=en_US.UTF-8 snap list --all | awk '/disabled/{print $1, $3}' |
    while read snapname revision; do
        snap remove "$snapname" --revision="$revision"
    done

Použití tohoto skriptu by mělo uvolnit značné místo na disku (v závislosti na počtu balíčků Snap nainstalovaných ve vašem systému a na tom, zda pro ně byly od jejich instalace k dispozici nějaké aktualizace). V mém případě má skript velikost /var/lib/snapd/snaps/ Složka o více než 50 %.

Aktualizace:Zdá se, že tento skript funguje pouze s angličtinou. Pro ostatní jazyky musíte nahradit /disabled/ v příkazu s jeho překladem do vašeho jazyka.

Chcete-li použít tento skript, vytvořte soubor s názvem remove-old-snaps , vložte obsah z bloku kódu výše, uložte soubor do svého domovského adresáře a udělejte jej spustitelný pomocí:

chmod +x remove-old-snaps


Spusťte skript pomocí sudo k odstranění starých revizí snap (před spuštěním skriptu nezapomeňte zavřít všechny spuštěné snapy):

sudo ./remove-old-snaps

Toto je skript, který běží na mém systému a odstraňuje staré revize balíčku Snap:

$ sudo ./remove-old-snaps
atom (revision 223) removed
atom (revision 222) removed
bitwarden (revision 15) removed
bitwarden (revision 16) removed
canonical-livepatch (revision 50) removed
canonical-livepatch (revision 54) removed
chromium (revision 607) removed
chromium (revision 660) removed
core (revision 6531) removed
core (revision 6405) removed
core18 (revision 719) removed
core18 (revision 731) removed
gallery-dl (revision 36) removed
gallery-dl (revision 167) removed
gimp (revision 110) removed
gimp (revision 113) removed


Ubuntu
  1. Jak odstranit balíček snap na Ubuntu

  2. Jak odebrat nepoužívaná runtime Flatpak, abyste uvolnili místo

  3. Jak uvolnit místo na disku na serverech cPanel

  1. Jak odstranit telegram?

  2. Jak uvolnit místo na disku na dedikovaném serveru

  3. Jak na to:Uvolněte místo na disku Snížením rezervovaných bloků

  1. Jak odstranit stará jádra na Ubuntu 16.04, 18.04 a 19.04

  2. Jak odstranit stará jádra na Ubuntu

  3. Jak odstranit starou verzi nainstalovaných snapů