Старые версии оснастки ядра Ubuntu заполняют дисковое пространство

24

Я использую Ubuntu 16.10 с snapdустановленной базовой coreоснасткой с момента ее выпуска.
Через некоторое время я заметил, что /snap/coreкаталог заполняется несколькими более старыми версиями.
Чтобы удалить их мне придется выполнить sudo snap remove core --revision <number>вручную.

В нескольких версиях раздела Snaps и сборки мусора в документации Snaps и Snapcraft объясняется, что после каждого обновления пакета Snap устанавливаются текущая и предыдущая версии, а старые версии автоматически удаляются (как это было раньше).

Поскольку я не могу найти дополнительную информацию snap help, я спрашиваю, есть ли параметр или команда переключения snapdдля автоматического удаления этих старых coreпакетов моментальных снимков.
Дополнительная информация: То, что я описал, действительно для 3 машин с одинаковой конфигурацией.

сл-NetBox
источник
1
По умолчанию в snapd сохраняются 3 версии, текущая и две предыдущие. Сколько вы видели?
Попей
2
Спасибо за эту информацию @popey! Всякий раз, когда я находил более двух coreверсий, я удалял самую старую версию вручную, и в большинстве случаев я видел три установленные версии, но я не уверен, что я также нашел четыре версии ранее. Почему в документации содержится другая информация? Могу ли я изменить настройки по умолчанию, чтобы сохранить только текущий и предыдущий? Может быть, вы можете объяснить это, написав ответ? :)
cl-netbox
Если вы видите больше 3, то это ошибка, на мой взгляд, поэтому я бы отправил ее на bugs.launchpad.net/ubuntu/+source/snapd . Нужно будет увидеть вывод «Snap Changes» и показать список каталогов, возможно, в / snap / <appname>, чтобы показать несколько установленных версий.
Попей

Ответы:

6

В посте /superuser/1310825/how-to-remove-old-version-of-installed-snaps перечислены несколько решений для удаления более старой версии Snap:

Ручной скрипт от popey для удаления «всех старых версий снимков» - /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

И параметр «snap set system refresh.retain» для Mustapha Hadid для «snap 2.34 и более поздних версий» для хранения только 2 ревизий каждой привязки /superuser//a/1361201 :

$ sudo snap set system refresh.retain=2 

Значение refresh.retain может быть числом от 2 до 20 и имеет значение по умолчанию 3

osgx
источник
3
я запустил эту систему наборов оснасток sudo refresh.retain = 2, но есть еще три копии некоторых снимков, что делать?
Кролик