Les anciennes versions de snap de base d'Ubuntu remplissent l'espace disque

24

J'utilise Ubuntu 16.10 avec snapdet le corecomposant logiciel enfichable de base installé depuis sa sortie.
Après un certain temps, j'ai observé que le /snap/corerépertoire se remplit de plusieurs anciennes versions.
Pour les supprimer, je dois exécuter sudo snap remove core --revision <number>manuellement.

La section des versions multiples de snaps & garbage collection dans Snaps et la documentation de snapcraft explique qu'après chaque mise à jour d'un package snap, la version actuelle et la précédente sont installées et les anciennes versions sont automatiquement supprimées (comme c'était le cas auparavant).

Comme je ne peux pas trouver plus d'informations dans snap help, je demande s'il y a un paramètre ou une commande de commutateur snapdpour permettre la suppression automatique de ces anciens corepackages d'accrochage.
Informations supplémentaires: ce que j'ai décrit est valable pour 3 machines avec la même configuration.

cl-netbox
la source
1
La valeur par défaut dans snapd est de conserver 3 versions, en cours et deux précédentes. Combien en voyiez-vous?
popey
2
Merci pour cette information @popey! Chaque fois que j'ai trouvé plus de deux coreversions, j'ai désinstallé la plus ancienne manuellement et dans la plupart des cas, j'ai vu trois versions installées, mais je ne sais pas si j'ai également trouvé quatre versions auparavant. Pourquoi la documentation fournit-elle des informations différentes? Puis-je modifier les paramètres par défaut pour ne conserver que l'actuel et le précédent? Peut-être pouvez-vous l'expliquer en écrivant une réponse? :)
cl-netbox
Si vous en voyez plus de 3, c'est un bug dans mon esprit, donc je le déposerais sur bugs.launchpad.net/ubuntu/+source/snapd . Aurait besoin de voir la sortie de "snap changes" et d'afficher la liste des répertoires peut-être dans / snap / <appname> pour afficher plusieurs versions installées.
popey

Réponses:

6

Pour le moment, je ne pense pas qu'il soit possible de modifier le nombre d'anciennes versions de n'importe quel composant logiciel enfichable, qui est fixé à 3. Si vous voyez plus que cela, c'est probablement un bogue, donc devrait être classé sur https: //bugs.launchpad. net / ubuntu / + source / snapd

popey
la source
6

Le post /superuser/1310825/how-to-remove-old-version-of-installed-snaps répertorie plusieurs solutions pour la suppression de l'ancienne version de snap:

Script manuel de popey pour supprimer "toutes les anciennes versions de snaps" - /superuser//a/1330590

#!/bin/bash
# /superuser//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

Et le paramètre "snap set system refresh.retain" pour "snap 2.34 et versions ultérieures" par Mustapha Hadid pour ne stocker que 2 révisions de chaque snap /superuser//a/1361201 :

$ sudo snap set system refresh.retain=2 

La valeur refresh.retain ne peut être qu'un nombre compris entre 2 et 20 et a une valeur par défaut de 3

osgx
la source
3
J'ai exécuté ce système de snap set sudo refresh.retain = 2, mais il y a encore trois copies de certains snaps, que faire?
Lapin