Snap verbraucht viel Speicherplatz

Alte Snap-Versionen werden nicht automatisch gelöscht und verbrauchen viel Spiecherplatz. Gibt es eine Möglichkeit die alten Versionen zu deinstallieren?

vorlesen Druckansicht
Snap verbraucht viel Speicherplatz
Lesezeit: 2 Min.

Die über Snap installierten Linux-Anwendungen sind in mehreren Versionen installiert und verbrauchen unnötig viel Speicherplatz. Bei Updates wird die ältere Version lediglich deaktiviert statt deinstalliert. Wie kann ich dem Einhalt gebieten und alte Versionen deinstallieren?

Der Snap-Dienst hält mehrere Revisionen der installierten Pakete vor. Eine Revision ist die fortlaufende Nummer, die bei jedem neuen Upload eines Paketes in den Snap-Store vergeben wird und ist unabhängig von der Softwareversion. Die Anzahl der vom Snap-Dienst vorgehaltenen Revisionen können Sie mit der Variablen refresh.retain festlegen, wobei 2 schon der niedrigste erlaubte Wert und Vorgabe bei klassischen Ubuntu-Systemen wie Ubuntu Desktop 20.04 LTS ist. Den Wert legen Sie auf 2 fest, indem Sie in einem Terminal sudo snap set system refresh.retain=2 eingeben.

Um eine bestimmte Revision zu entfernen, ermitteln Sie zunächst mit snap list --all den Namen und die Revisionsnummer. Unbenutze Revisionen erkennen Sie am Zusatz „deaktiviert“ oder „disabled“. Geben Sie dann den folgenden Befehl im Terminal ein und ersetzen NAME und REV mit den gewünschten Angaben:

snap remove NAME --revision=REV

Möchten Sie regelmäßig unbenutzte Snap-Pakete aufräumen, dann speichern Sie das folgende Skript unter beispielsweise /usr/local/bin/ und machen es ausführbar. Tragen Sie es dann als Cron-Job ein oder rufen es von Zeit zur Zeit manuell auf.

#!/bin/bash

set -eu
snap list --all |
awk '/deaktiviert/{print $1, $3}' |
while read name rev
do
snap remove "$name" \
--revision="$rev"
done

Achten Sie auf die Pipes (|) und Backslashes (`\`) am Zeilenende. Ersetzen Sie bei englischer Lokalisation „deaktiviert“ durch „disabled“.

(ktn)