Como remover a versão antiga dos snaps instalados

11

Sou newbiew com uso de snap, tenho poucos apps instalados no meu sistema, algo que percebo quando executo o comando df -h encontrei montado diferentes versões 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 continuam lá, a única maneira que eu encontrei para remover o antigo é remover e instalar novamente o snap, há algo como prune para manter meu sistema?

    
por rkmax 04.04.2018 / 20:37

4 respostas

12

Aqui está um pequeno script que removerá todas as versões antigas de snaps. Isso manterá apenas a versão ativa atual, o que deve recuperar algum espaço em disco.

#!/bin/bash
# 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
    
por 12.06.2018 / 10:24
7

A partir do snap 2.34 e posterior, você pode definir o número máximo de revisões de um snap armazenadas pelo sistema definindo uma opção refresh.retain.

$ sudo snap set system refresh.retain=2 

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

    
por 25.09.2018 / 13:46
6

Os documentos digitados nas versões indicam que as revisões desatualizadas devem ser removidas automaticamente para que não ultrapassem as duas últimas revisões estão instalados. No entanto, também vi mais de duas versões dos meus snapshots instalados.

Você pode listar todas as revisões com snap list --all para ver algo como:

Name     Version                  Rev   Tracking  Developer  Notes
core     16-2.31.2                4206  stable    canonical  core,disabled
core     16-2.32.3                4407  stable    canonical  core,disabled
core     16-2.32.5                4486  stable    canonical  core
spotify  1.0.70.399.g5ffabd56-26  5     stable    spotify    disabled
spotify  1.0.72.117.g6bd7cc73-35  6     stable    spotify    disabled
spotify  1.0.77.338.g758ebd78-41  13    stable    spotify    -

Você pode remover revisões individuais com snap remove spotify --revision=5 .

Isso é seguro mesmo para as revisões desativadas de core e outras dependências, e snap remove com um --revision=... explícito até mesmo impede a remoção de não disabled snaps.

    
por 28.04.2018 / 15:06
0

Uma versão do script de outra resposta , como uma linha direta, sem a awk dependency:

snap list --all | while read snapname ver rev trk pub notes; do if [[ $notes = *disabled* ]]; then snap remove "$snapname" --revision="$rev"; fi; done

Isso provavelmente requer bash ou um shell compatível com a construção [[ .

    
por 10.09.2018 / 10:47

Tags