GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

Einfache Möglichkeit, Snap-Paketversionen in Ubuntu zu bereinigen

Über den Snap-Paketmanager

Snap ist ein Softwarepaketierungs- und -bereitstellungssystem, das von Canonical für Betriebssysteme entwickelt wurde, die den Linux-Kernel verwenden. Die Pakete, genannt Snaps , und das Tool zu ihrer Verwendung, snapd , arbeiten über eine Reihe von Linux-Distributionen hinweg und ermöglichen es Upstream-Softwareentwicklern, ihre Anwendungen direkt an Benutzer zu verteilen. Snaps sind eigenständige Anwendungen, die in einer Sandbox mit vermitteltem Zugriff auf das Hostsystem ausgeführt werden. Snap wurde ursprünglich für Cloud-Anwendungen veröffentlicht, wurde aber später portiert, um auch für Geräte des Internets der Dinge und Desktop-Anwendungen zu funktionieren.

Snap-Pakete sind nicht jedermanns Favorit, aber sie sind ein integraler Bestandteil des Ubuntu-Ökosystems.

Es hat seine Vor- und Nachteile. Einer der Nachteile ist, dass Snap-Pakete normalerweise größer sind und viel Speicherplatz beanspruchen.

Dies könnte ein Problem sein, wenn Ihnen der Speicherplatz ausgeht, insbesondere auf der Root-Partition.

Lassen Sie mich Ihnen einen netten Trick zeigen, mit dem Sie den von Snap-Paketen verwendeten Speicherplatz verringern können.

Bereinigung alter Snap-Paketversionen, um Speicherplatz freizugeben

Die Snap-bezogenen Systemdateien werden im Verzeichnis /var/lib/snapd gespeichert. Basierend auf der Anzahl der von Ihnen installierten Snap-Pakete kann diese Verzeichnisgröße mehrere GB betragen.

$ sudo du -sh /var/lib/snapd
5.4G	/var/lib/snapd
Code language: JavaScript (javascript)

Das ist viel, oder? Sie könnten hier Speicherplatz freigeben.

Snap behält standardmäßig mindestens eine ältere Version der Pakete, die Sie auf Ihrem System installiert haben.

Sie können dieses Verhalten sehen, indem Sie den Snap-Befehl verwenden:

$ snap list --all
Code language: PHP (php)

Sie sollten dasselbe Paket zweimal mit unterschiedlicher Versions- und Revisionsnummer sehen.

Um Speicherplatz freizugeben, können Sie die zusätzlichen Paketversionen löschen. Woher wissen Sie, welche Sie löschen müssen? Sie können sehen, dass diese älteren Pakete als „deaktiviert“ gekennzeichnet sind.

Mach dir keine Sorgen. Sie müssen es nicht manuell tun. Dank eines raffinierten Bash-Skripts, das von Alan Pope geschrieben wurde, als er im Snapcraft-Team arbeitete, gibt es eine Art automatische Möglichkeit, dies zu tun.

Ich hoffe, Sie wissen, wie man ein Bash-Shell-Skript erstellt und ausführt. Erstellen Sie im Grunde eine neue Datei mit dem Namen clean-snap.sh und fügen Sie ihr die folgenden Zeilen hinzu.

#!/bin/bash
# Removes old revisions of snaps
# CLOSE ALL SNAPS BEFORE RUNNING THIS
set -eu
snap list --all | awk '/disabled/{print $1, $3}' |
    while read snapname revision; do
        snap remove "$snapname" --revision="$revision"
    done
Code language: PHP (php)

Speichern Sie es und schließen Sie den Editor.

Um dieses Skript auszuführen, bewahren Sie es in Ihrem Home-Verzeichnis auf und öffnen Sie dann das Terminal in Ubuntu und führen Sie diesen Befehl aus:

sudo bash clean-snap.sh
Code language: CSS (css)

Sie können sehen, dass die ältere Version von Paketen entfernt wird. Wenn Sie jetzt den von Snap verwendeten Speicherplatz überprüfen, werden Sie sehen, dass die Verzeichnisgröße jetzt reduziert ist.

Schlussfolgerung

In diesem Tutorial haben wir einen Weg gefunden, unseren Speicherplatz von den nicht benötigten Snap-Paketen zu bereinigen, indem wir ein einfaches Bash-Skript verwenden …


Ubuntu
  1. Installieren Sie RPM-Pakete auf Ubuntu 11.10 und Ubuntu 11.04

  2. So bereinigen Sie Snap-Paketversionen in Linux [Kurztipp]

  3. Die empfohlene Methode zum Bereinigen des Paketcaches in Arch Linux

  4. Unterstützung für Snap-Pakete für Ubuntu 14.04 Lts?

  5. So entfernen Sie ein Snap-Paket unter Ubuntu

So führen Sie ein Downgrade von Paketen auf Ubuntu durch

Einfache Möglichkeit, SciTE auf Ubuntu 21.04 LTS zu installieren

Eine einfache Möglichkeit, PSensors in Ubuntu zu installieren

Eine einfache Möglichkeit, MySQL unter Ubuntu Linux zu installieren

Eine einfache Möglichkeit, TeamSpeak unter Ubuntu Linux zu installieren

Wie verwende ich APT, um Pakete unter Ubuntu zu verwalten?