É seguro excluir apt-snapshot- *?

8

Acho que cometi um erro quando decidi usar o Btrfs. Não estou usando nenhum de seus recursos, mas agora tenho problemas com pouco espaço. eu fiz

sudo btrfs balance start / -v

conforme sugerido em algumas fontes, mas ainda tem pouco espaço disponível:

$ sudo btrfs fi df /    
Data, single: total=102.00GiB, used=99.55GiB
System, single: total=32.00MiB, used=16.00KiB
Metadata, single: total=2.00GiB, used=762.44MiB
unknown, single: total=256.00MiB, used=0.00

Uma fonte sugere remover instantâneos. Encontrei um candidato:

$ sudo btrfs subvolume list /
ID 257 gen 390597 top level 5 path @
ID 258 gen 390597 top level 5 path @home
ID 317 gen 390480 top level 5 path @apt-snapshot-release-upgrade-utopic-2014-10-23_20:38:40

É seguro excluir o @apt-snapshot-release-upgrade-utopic-*instantâneo?

Nota: Estou usando o eCryptFS (não tenho certeza se isso importa neste caso).

warvariuc
fonte

Respostas:

5

Eu já vi muitos tutoriais sobre como reverter para um desses instantâneos, no entanto, nas versões mais recentes do ubuntu (testadas no 15.04), você não precisa mais montar o sistema de arquivos para reverter para um instantâneo criado por meio dele apt-btrfs-snapshot.

Novamente, execute esses comandos a partir de um sistema em execução, não de uma partição montada, como faria normalmente ao gerenciar snapshots btrfs.

Apenas corra:

sudo apt-btrfs-snapshot list

para listar os instantâneos disponíveis e execute o seguinte para reverter para um instantâneo mais antigo:

sudo apt-btrfs-snapshot set-default @<name-of-snapshot>

Nesse caso, convém definir o padrão para o instantâneo existente.

Reinicialize para que as alterações tenham efeito.

Além disso, a exclusão de snapshots agora é muito mais confiável e simples. Novamente, para listar instantâneos, execute:

sudo apt-btrfs-snapshot list

Em seguida, para excluir um instantâneo, execute:

sudo apt-btrfs-snapshot delete @<name-of-snapshot>

Para listar por data anterior a dois dias, por exemplo, execute:

sudo apt-btrfs-snapshot list-older-than 2d

Para excluir todos os instantâneos com mais de dois dias, por exemplo, execute:

sudo apt-btrfs-snapshot delete-older-than 2d

O legal é que seu padrão antigo não será excluído, portanto você ainda poderá reverter para esse se tiver um conjunto.

A exclusão de instantâneos deve entrar em vigor imediatamente.


Se você receber um erro "sem espaço no dispositivo" após a inicialização, poderá anexar um pendrive USB em branco ou uma unidade externa e usar a linha de comando para montar a unidade em / tmp.

Depois de montar a unidade em / tmp, você deverá ter espaço disponível suficiente para executar:

sudo apt-btrfs-snapshot delete-older-than 
mchid
fonte
1

Parece que é seguro. Eu já vi outras tentativas de fazer isso e acabou não sendo tão simples.

Primeiro, execute o seguinte comando para ver qual partição é sua partição btrfs (supondo que você tenha apenas uma partição btrfs):

lsblk -o NAME,FSTYPE | grep btrfs| grep -o sda.

O seguinte usa /dev/sda3como exemplo.

Aqui está como eu fiz isso:

# mkdir /mnt/tmp
# mount /dev/sda3 /mnt/tmp
# ls /mnt/tmp         
@  
@apt-snapshot-release-upgrade-utopic-2014-10-23_20:38:40  
@home

Aqui está a partição correta:

# btrfs subvol delete /mnt/tmp/@apt-snapshot-release-upgrade-utopic-2014-10-23_20:38:40 
Transaction commit: none (default)
Delete subvolume '/mnt/tmp/@apt-snapshot-release-upgrade-utopic-2014-10-23_20:38:40'

# btrfs subvol list /
ID 257 gen 397869 top level 5 path @
ID 258 gen 397869 top level 5 path @home

Pouco espaço foi liberado:

vic-UX32VD# df
Filesystem         1K-blocks      Used Available Use% Mounted on
/dev/sda3          120729076 117384216   1996232  99% /

Uma reinicialização ajudou:

Filesystem         1K-blocks      Used Available Use% Mounted on
/dev/sda3          120729076 109894736   9187296  93% /
warvariuc
fonte
Pode só precisa de um HDD maior;)
seanlano
1
@ Seanlano Eu tenho SSD, que é caro para tamanhos maiores.
warvariuc 23/02
Os comandos apt-btrfs-snapshot falharam ao listar subvolumes após minha última atualização e foi assim que excluí meu inchaço manualmente. Obrigado!
Mchid 22/12/19