Удаляем старые версии snap пакетов

Как известно, в новых Ubuntu некоторый софт ставится из snap

Данное ПО автоматически обновляется и старые версии занимают место

# df -h
/dev/loop0       56M   56M     0 100% /snap/core18/2066
/dev/loop2      9.2M  9.2M     0 100% /snap/canonical-livepatch/98
/dev/loop1      100M  100M     0 100% /snap/core/10958
/dev/loop3      9.2M  9.2M     0 100% /snap/canonical-livepatch/99
/dev/loop4       99M   99M     0 100% /snap/core/11081
/dev/loop5       56M   56M     0 100% /snap/core18/1997

Как их удалить?

Получаем список с ключем --all

# snap list --all
Name                 Version    Rev    Tracking       Publisher   Notes
canonical-livepatch  9.6.1      98     latest/stable  canonical✓  disabled
canonical-livepatch  9.6.2      99     latest/stable  canonical✓  -
core                 16-2.49.2  10958  latest/stable  canonical✓  core,disabled
core                 16-2.50    11081  latest/stable  canonical✓  core
core18               20210309   1997   latest/stable  canonical✓  base,disabled
core18               20210507   2066   latest/stable  canonical✓  base

И удаляем snap пакеты которые помечены как disabled указывая ключ --revision=

# snap remove canonical-livepatch --revision=98
canonical-livepatch (revision 98) removed
# snap remove core --revision=10958
core (revision 10958) removed
# snap remove core18 --revision=1997
core18 (revision 1997) removed

Также настраивается политика хранения версий

# snap set system refresh.retain=1
# snap get system refresh.retain
1

Необходимо на системах с малым количеством места в /snap

https://forum.snapcraft.io/t/managing-updates/7022

The refresh.retain value can be a number between 2 and 20. The default is refresh.retain=3 on Ubuntu Core systems and refresh.retain=2 on classic Ubuntu systems, such as those running Ubuntu 18.04 LTS (Bionic Beaver) and Ubuntu 16.04 LTS (Xenial Xerus).

Отключить обновления

# snap set system refresh.metered=hold

Включить обновления

# snap set system refresh.metered=null