it-swarm.com.de

Alte Versionen von Ubuntu Core Snap füllen den Speicherplatz

Ich verwende Ubuntu 16.10 mit snapd und dem grundlegenden core Snap, der seit der Veröffentlichung installiert wurde.
Nach einiger Zeit stellte ich fest, dass das Verzeichnis /snap/core mit mehreren älteren Versionen gefüllt ist.
Um sie zu entfernen, muss ich Sudo snap remove core --revision <number> manuell ausführen.

Mehrere Versionen von Snaps & Garbage Collection Abschnitt in Snaps- und Snapcraft-Dokumentation erklärt, dass nach jedem Update eines Snap-Pakets die aktuelle und die vorherige Version installiert werden und ältere Versionen erhalten automatisch entfernt (so wie es früher der Fall war).

Da ich in snap help keine weiteren Informationen finden kann, frage ich, ob es in snapd eine Einstellung oder einen Schaltbefehl gibt, um das automatische Entfernen dieser älteren core Snap-Pakete zu ermöglichen.
Zusätzliche Informationen: Was ich beschrieben habe, gilt für 3 Maschinen mit derselben Konfiguration.

23
cl-netbox

Im Moment glaube ich nicht, dass es möglich ist, die Anzahl der alten Versionen eines Snaps zu ändern, der auf 3 gesetzt ist. Wenn Sie mehr als das sehen, handelt es sich wahrscheinlich um einen Fehler, der bei https: // bugs.launchpad.net/ubuntu/+source/snapd

6
popey

Der Beitrag https://superuser.com/questions/1310825/how-to-remove-old-version-of-installed-snaps listet verschiedene Lösungen für das Entfernen älterer Snaps auf:

Manuelles Skript von popey zum Löschen "aller alten Versionen von Snaps" - https://superuser.com/a/133059

#!/bin/bash
# https://superuser.com/a/1330590
# 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

Und die Einstellung "snap set system refresh.retain" für "snap 2.34 und höher" von Mustapha Hadid, um nur 2 Revisionen jedes Snaps zu speichern https://superuser.com/a/1361201 :

$ Sudo snap set system refresh.retain=2 

Der refresh.retain-Wert kann nur eine Zahl zwischen 2 und 20 sein und hat den Standardwert 3

5
osgx