Sou novato no uso de snap, tenho poucos aplicativos instalados no meu sistema, algo que noto ao executar o comando df -h
que encontrei montando versões diferentes do mesmo snap
/dev/loop0 143M 143M 0 100% /var/lib/snapd/snap/gravit-designer/7
/dev/loop1 82M 82M 0 100% /var/lib/snapd/snap/core/4110
/dev/loop7 198M 198M 0 100% /var/lib/snapd/snap/polarr/3
/dev/loop2 82M 82M 0 100% /var/lib/snapd/snap/core/4206
/dev/loop3 143M 143M 0 100% /var/lib/snapd/snap/gravit-designer/6
/dev/loop10 137M 137M 0 100% /var/lib/snapd/snap/gravit-designer/5
minha pergunta é por que eles ficam lá, a única maneira que encontrei para remover o antigo é remover e instalar novamente o snap, existe algo como prune
manter meu sistema?
Respostas:
Aqui está um script curto que removerá todas as versões antigas dos snaps. Isso manterá apenas a versão ativa atual, que deve recuperar algum espaço em disco:
fonte
/var/lib/snapd/snaps/
antes e depois de executar este script. Deveria liberar algum espaço - se realmente removeu alguns snaps. Deve mostrar mensagens comosnap-name removed
, por exemplogtk-common-themes removed
./var/lib/snapd/cache
portanto você deve excluí-los também para liberar espaço. Você pode remover com segurança o cache comsudo rm /var/lib/snapd/cache/*
A partir do snap 2.34 e posterior, é possível definir o número máximo de revisões de um snap armazenadas pelo sistema, configurando a opção refresh.retain .
O valor refresh.retain pode ser apenas um número entre 2 e 20 e tem um valor padrão 3.
fonte
refresh.retain=3
é bom para 4Gb RAM ou precisa de mais?Uma versão do script de outra resposta , como uma linha, sem a
awk
dependência:Isso provavelmente requer
bash
ou um shell compatível com a[[
construção.fonte
sudo -i
sessão pode ser necessária ousnap remove
pode ser executadasudo
.export LC_ALL=en_US.UTF-8
antemão deve garantir isso. (Também pode ser definido antes do comando snap, mas não tenho certeza se as remoções mais tarde também precisam ser traduzidas)LANG=c
antes que toda a linha funcione bem nos consoles alemãesLANG=C
(ouLC_ALL=C
) o local padrão. Letras minúsculasc
podem funcionar devido aoC
padrão de um código de idioma inválido. (LC_MESSAGES
é provavelmente a configuração mínima) (não quero editar a postagem para uma configuração que muitos usuários não precisam ...) (você compara os erros deLANG=c locale
comLANG=C locale
)Os documentos snapd nas versões afirmam que as revisões desatualizadas devem ser removidas automaticamente para que não sejam instaladas mais do que as duas últimas. No entanto, também vi mais de duas versões dos meus snaps instalados.
Você pode listar todas as revisões com
snap list --all
para ver algo como:Você pode remover revisões individuais com
snap remove spotify --revision=5
.Isso é seguro mesmo para as revisões desabilitadas
core
e outras dependências e,snap remove
com um explícito--revision=...
, impede a remoção de non-disabled
snaps.fonte