Stare wersje snapowych rdzeni Ubuntu wypełniają miejsce na dysku

23

Korzystam z Ubuntu 16.10 z zainstalowaną snapdpodstawową coreprzystawką od czasu jej wydania.
Po pewnym czasie zauważyłem, że /snap/corekatalog wypełnia się wieloma starszymi wersjami.
Aby je usunąć, będę musiał wykonać sudo snap remove core --revision <number>ręcznie.

Wiele wersji sekcji snap i odśmiecania w dokumentacji Snaps i snapcraft wyjaśnia, że ​​po każdej aktualizacji pakietu snap bieżąca i poprzednia wersja są instalowane, a starsze wersje są automatycznie usuwane (tak jak wcześniej).

Ponieważ nie mogę znaleźć dalszych informacji snap help, pytam, czy istnieje ustawienie lub polecenie przełączania snapdumożliwiające automatyczne usuwanie tych starszych corepakietów przystawek.
Informacje dodatkowe: To, co opisałem, dotyczy 3 komputerów o tej samej konfiguracji.

cl-netbox
źródło
1
Domyślnie w snapd jest zachowanie 3 wersji, bieżącej i dwóch poprzednich. Ile widziałeś
popey
2
Dzięki za te informacje @popey! Ilekroć znalazłem więcej niż dwie corewersje, odinstalowałem najstarszą ręcznie i w większości przypadków widziałem trzy zainstalowane wersje, ale nie jestem pewien, czy wcześniej znalazłem również cztery wersje. Dlaczego dokumentacja zawiera inne informacje? Czy mogę zmienić ustawienia domyślne, aby zachować tylko bieżące i poprzednie? Może możesz to wyjaśnić, pisząc odpowiedź? :)
cl-netbox
Jeśli widzisz więcej niż 3, to moim zdaniem jest to błąd, więc zapisałbym go na stronie bugs.launchpad.net/ubuntu/+source/snapd . Musiałbym zobaczyć wynik „zmian przyciągania” i pokazać listę katalogów może w / snap / <nazwa aplikacji>, aby pokazać wiele zainstalowanych wersji.
popey

Odpowiedzi:

5

W poście /superuser/1310825/how-to-remove-old-version-of-installed-snaps wymieniono kilka rozwiązań dla usuwania starszych wersji snap:

Ręczny skrypt popeya, aby usunąć „wszystkie stare wersje snapów” - /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

I ustawienie „Snap Snap System Refresh.retain” dla „Snap 2.34 i późniejszych” autorstwa Mustapha Hadid do przechowywania tylko 2 wersji każdej przystawki /superuser//a/1361201 :

$ sudo snap set system refresh.retain=2 

Wartość refresh.retain może być liczbą od 2 do 20 i ma wartość domyślną 3

osgx
źródło
3
uruchomiłem system sudo set snap refresh.retain = 2, ale nadal są trzy kopie niektórych snapów, co robić?
Królik