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