Website-Suche

So bereinigen Sie Snap-Versionen, um Speicherplatz freizugeben


Diese Kurzanleitung mit einem Skript hilft dabei, alte Snap-Versionen zu bereinigen und Speicherplatz auf Ihren Ubuntu-Systemen freizugeben.

In meinem Testsystem mit Ubuntu ging mir der Speicherplatz aus.

Deshalb habe ich mit dem Disk Usage Analyzer von GNOME nachgeforscht, welches Paket den wertvollen SSD-Speicherplatz belegt. Abgesehen vom üblichen Cache und Home-Verzeichnis stellte ich zu meiner Überraschung fest, dass Snap und Flatpak eine beträchtliche Menge Speicherplatz verbrauchen.

Snap-Größe – vor dem Aufräumen

Allerdings behalte ich immer eine Regel bei – Snap oder Flatpak nicht zu verwenden, es sei denn, es ist notwendig. Dies liegt vor allem an der Installationsgröße und anderen Problemen. Ich bevorzuge Vanilla-Deb- und RPM-Pakete. Im Laufe der Jahre habe ich in diesem Testsystem eine gewisse Anzahl an Snap-Paketen installiert und entfernt.

Das Problem tritt nach der Deinstallation auf; Snap behält einige Restdateien im System, die den allgemeinen Benutzern unbekannt sind.

Also habe ich den Snap-Ordner /var/lib/snapd/snaps geöffnet und festgestellt, dass Snap ältere Versionen zuvor installierter/deinstallierter Pakete verfolgt.

Im Bild unten sehen Sie beispielsweise GNOME 3.28, 3.34 und Wine – alle wurden vor langer Zeit entfernt. Aber sie sind immer noch da. Dies geschieht aufgrund des Snap-Designs, das Versionen deinstallierter Pakete nach einer ordnungsgemäßen Deinstallation behält.

Dateien im Snaps-Verzeichnis

Alternativ können Sie dasselbe auch im Terminal erhalten, indem Sie Folgendes verwenden:

snap list --all

Schnappliste alle

Der Standardwert ist 3 für mehrere Revisionen zur Aufbewahrung. Das bedeutet, dass Snap drei ältere Versionen jedes Pakets behält, einschließlich der aktiven Version. Dies ist in Ordnung, wenn Ihr Speicherplatz nicht begrenzt ist.

Bei Servern und anderen Anwendungsfällen kann dies jedoch leicht zu Kostenproblemen führen und Ihren Speicherplatz verbrauchen.

Sie können die Anzahl jedoch problemlos mit dem folgenden Befehl ändern. Der Wert kann zwischen 2 und 20 liegen.

sudo snap set system refresh.retain=2

Bereinigen Sie Snap-Versionen

In einem Beitrag in SuperUser stellte Popey, der ehemalige Engineering Manager bei Canonical, ein einfaches Skript zur Verfügung, mit dem alte Snaps-Versionen bereinigt und die neueste Version beibehalten werden kann.

Hier ist das Skript, mit dem wir den Snap bereinigen.

#!/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

Speichern Sie das obige Skript als .sh in einem Verzeichnis (z. B. clean_snap.sh), erteilen Sie ihm die Ausführungsberechtigung und führen Sie es aus.

chmod +x clean_snap.sh

Als ich das Skript ausführte, reduzierte es viel Speicherplatz. Das Skript würde auch den Namen des zu entfernenden Pakets anzeigen.

Ausführen des Skripts

Snaps-Größe nach der Bereinigung

Schlussbemerkungen

Es gibt immer Debatten darüber, wie effizient das Design von Snap ist. Viele sagen, es sei vom Design her kaputt, aufgebläht und systemlastig. Ein Teil dieses Arguments ist wahr, ich würde es nicht leugnen. Das gesamte Konzept der Sandboxing-Anwendungen ist großartig, wenn es richtig implementiert und verbessert wird. Ich glaube, dass Flatpak im Vergleich zu Snap einen besseren Job macht.

Trotzdem hoffe ich, dass dies Ihnen hilft, etwas Speicherplatz freizugeben. Obwohl es in Ubuntu getestet wurde, sollte es in allen Linux-Distributionen funktionieren, die Snap unterstützen.

Sehen Sie sich auch unsere Anleitung zum Bereinigen von Ubuntu mit zusätzlichen Schritten an.

Wenn Sie schließlich Flatpak-Apps bereinigen möchten, lesen Sie diese Anleitung.

Verwandte Artikel