Eu estava usando o Disk Usage Analyzer recentemente para ver se eu conseguia liberar algum espaço na minha área de trabalho Ubuntu 18.10, quando percebi que a pasta /var/lib/snapd/snaps/
era bem grande.
Ao investigar como eu poderia liberar espaço/limpar o cache de snap da pasta /var/lib/snapd/snaps/
sem remover os pacotes de snap que instalei, descobri que, por padrão, três versões de snap são armazenadas pelo sistema após as atualizações do pacote de snap. O que significa que para cada pacote de snap instalado que tinha pelo menos 2 atualizações, eu tinha 3 revisões armazenadas no meu sistema, ocupando um pouco de espaço em disco.
Existe uma opção no snap (começando com a versão 2.34 do snapd), chamada refresh.retain
, para definir o número máximo de revisões de um snap armazenadas pelo sistema após a próxima atualização, que pode ser definido para um número entre 2 e 20. Você pode alterar isso do valor padrão de 3 para 2 usando:
sudo snap set system refresh.retain=2
Relacionado, mas para pacotes Flatpak: Como remover runtimes Flatpak não utilizados para liberar espaço em disco
Mas e se você quiser remover todas as versões mantidas no sistema para todos os pacotes snap que tiveram atualizações? Este é um script criado por Popey, Gerente de Comunidade da Engenharia do Ubuntu na Canonical, para remover TODOS as antigos versões de snaps, mantendo apenas a versão ativa atual (atualizada com LANG=en_US.UTF-8
para que funcione com localidades diferentes do inglês, graças a William nos comentários):
#!/bin/bash
# Removes old revisions of snaps
# CLOSE ALL SNAPS BEFORE RUNNING THIS
set -eu
LANG=en_US.UTF-8 snap list --all | awk '/disabled/ {print $1, $3}' |
while read snapname revision; do
snap remove "$snapname" --revision="$revision"
done
O uso desse script deve liberar algum espaço em disco significativo (dependendo do número de pacotes snap instalados em seu sistema e se eles tiveram atualizações desde que foram instalados). No meu caso, o script reduziu o tamanho da pasta /var/lib/snapd/snaps/
em mais de 50%.
Atualização: Parece que este script só funciona em inglês. Para outros idiomas, você precisará substituir /disabled/
no comando pela tradução para o seu idioma.
Para usar este script, crie um arquivo chamado remove-old-snaps
, cole o conteúdo do bloco de código acima, salve o arquivo em seu diretório inicial e torne-o executável usando:
chmod +x remove-old-snaps
Execute o script com sudo
para remover as revisões de snap antigas (certifique-se de fechar todos os snaps em execução antes de executar o script):
sudo ./remove-old-snaps
Este é o script em execução no meu sistema, removendo revisões antigas do pacote snap:
$ sudo ./remove-old-snaps
atom (revision 223) removed
atom (revision 222) removed
bitwarden (revision 15) removed
bitwarden (revision 16) removed
canonical-livepatch (revision 50) removed
canonical-livepatch (revision 54) removed
chromium (revision 607) removed
chromium (revision 660) removed
core (revision 6531) removed
core (revision 6405) removed
core18 (revision 719) removed
core18 (revision 731) removed
gallery-dl (revision 36) removed
gallery-dl (revision 167) removed
gimp (revision 110) removed
gimp (revision 113) removed
Esse post foi traduzido do site LinuxUprising.com pela rtland.team.
Confira a versão original desse post em inglês:
How To Remove Old Snap Versions To Free Up Disk Space