As versões antigas do snap do núcleo do Ubuntu estão ocupando espaço em disco

23

Estou executando o Ubuntu 16.10 com snapde o coresnap básico instalado desde que foi lançado.
Depois de algum tempo, observei que o /snap/corediretório se enche de várias versões mais antigas.
Para removê-los, terei que executar sudo snap remove core --revision <number>manualmente.

A seção Várias versões de snaps e coleta de lixo na documentação Snaps e snapcraft explica que após cada atualização de um pacote de snap, a versão atual e a anterior são instaladas e as versões mais antigas são removidas automaticamente (exatamente como no caso anterior).

Como não consigo encontrar mais informações snap help, estou perguntando se existe uma configuração ou um comando switch snapdpara permitir a remoção automática desses corepacotes de snap mais antigos .
Informações adicionais: O que descrevi é válido para 3 máquinas com a mesma configuração.

cl-netbox
fonte
1
O padrão no snapd é manter 3 versões, atual e duas anteriores. Quantos você estava vendo?
22417 popey
2
Obrigado por esta informação @popey! Sempre que encontrei mais de duas coreversões, desinstalei a mais antiga manualmente e, na maioria dos casos, vi três versões instaladas, mas não tenho certeza se também encontrei quatro versões antes. Por que a documentação fornece uma informação diferente? Posso alterar as configurações padrão para manter apenas a atual e a anterior? Talvez você possa explicar isso escrevendo uma resposta? :)
cl-netbox
Se você estiver vendo mais de 3, é um erro em minha mente, então eu o arquio em bugs.launchpad.net/ubuntu/+source/snapd . Seria necessário ver a saída de "snap changes" e mostrar a lista de diretórios talvez em / snap / <appname> para mostrar várias versões instaladas.
31417 popey

Respostas:

5

A publicação /superuser/1310825/how-to-remove-old-version-of-installed-snaps lista várias soluções para remoção de versões de snap mais antigas:

Script manual de popey para excluir "todas as versões antigas dos 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

E a configuração "snap set system refresh.retain" para "snap 2.34 e posterior" de Mustapha Hadid para armazenar apenas 2 revisões de cada snap /superuser//a/1361201 :

$ sudo snap set system refresh.retain=2 

O valor refresh.retain pode ser apenas um número entre 2 e 20 e tem um valor padrão 3

osgx
fonte
3
Eu executei o sistema sudo snap set refresh.retain = 2, mas ainda existem três cópias de alguns snaps, o que fazer?
Rabbit