Como excluir um instantâneo btrfs?

8

Eu sou novo no btrfs e estou tentando excluir alguns instantâneos que fiz alguns meses atrás. Eles estão ocupando cerca de 20 GB de espaço, e eu preciso desse espaço de volta.

Isso parece listar os instantâneos:

↪ sudo btrfs subvolume list /
ID 257 gen 82021 top level 5 path @
ID 258 gen 82021 top level 5 path @home
ID 263 gen 81983 top level 5 path @home/.ecryptfs/mlissner/.Private/ECRYPTFS_FNEK_ENCRYPTED.FWa8iOdaTukmNEROkGj4b5OZHZ0bKOqrvAQxu4dgX.2jUELJL22wpV94oU--/ECRYPTFS_FNEK_ENCRYPTED.FWa8iOdaTukmNEROkGj4b5OZHZ0bKOqrvAQxHunTlBS-30iHyukjeY9-EE--/root_post_install_2014-04-29
ID 364 gen 81986 top level 5 path @home/.ecryptfs/mlissner/.Private/ECRYPTFS_FNEK_ENCRYPTED.FWa8iOdaTukmNEROkGj4b5OZHZ0bKOqrvAQxu4dgX.2jUELJL22wpV94oU--/ECRYPTFS_FNEK_ENCRYPTED.FWa8iOdaTukmNEROkGj4b5OZHZ0bKOqrvAQxHunTlBS-30iHyukjeY9-EE--/root_post_install_2014-05-04
ID 376 gen 81996 top level 5 path @home/.ecryptfs/mlissner/.Private/ECRYPTFS_FNEK_ENCRYPTED.FWa8iOdaTukmNEROkGj4b5OZHZ0bKOqrvAQxu4dgX.2jUELJL22wpV94oU--/ECRYPTFS_FNEK_ENCRYPTED.FWa8iOdaTukmNEROkGj4b5OZHZ0bKOqrvAQxHunTlBS-30iHyukjeY9-EE--/root_post_install_2014-05-14

Como eu os apago? Quando tento o óbvio, recebo um erro:

↪ sudo btrfs subvolume delete root_post_install_2014-04-29
Delete subvolume '/home/mlissner/.btrfs/snapshots/root_post_install_2014-04-29'
ERROR: cannot delete '/home/mlissner/.btrfs/snapshots/root_post_install_2014-04-29' - Device or resource busy

Estou me sentindo um pouco perdido e o Google não está mostrando nenhuma ajuda real. Fico feliz em postar mais informações, se isso ajudar, mas por enquanto estou confuso sobre como proceder.

mlissner
fonte

Respostas:

9

A partir da saída, estou supondo que o subvolume do qual você possui capturas instantâneas seja na verdade um diretório privado ecryptfs. Se isso estiver correto, você pode tentar desmontar o diretório privado e tentar excluir os instantâneos?

A mensagem de erro informa que o dispositivo está em uso. Supondo que você não esteja usando esse diretório como um diretório de trabalho atual e que nenhum outro processo esteja usando ativamente os dados no instantâneo, isso deixa a camada de criptografia com que se preocupar.

EDIT: minha suposição original era que você só tinha uma pasta privada criptografada. Pelos seus comentários, acho que toda a sua casa está criptografada. Portanto, se queremos manipular isso, precisamos que sua casa esteja inativa. Para uma maneira conveniente de lidar com isso, você pode tentar o seguinte:

A. Adicione outro usuário ao sistema que conceda a ele outros direitos administrativos (ou seja, o direito de usar o sudo). Instruções de como fazer isso no Ubuntu: adicione um usuário e conceda direitos administrativos ao usuário

B. Faça logon com o usuário recém-criado. Agora tente listar e destruir os instantâneos. Certifique-se de que o usuário original não esteja logado, pois isso acionará a descriptografia (e, portanto, o uso) do seu diretório pessoal.

C. Remova o usuário criado na primeira etapa, a menos que você precise mantê-lo por perto.

Ah, e, certifique -se de ter um backup dos sistemas de arquivos que você manipula. Um erro é rapidamente cometido.

Vincent De Baere
fonte
Isso faz sentido. Eu não fiz nada explícito para montar o diretório criptografado. Você sabe desmontar?
mlissner
Tente usar ecryptfs-umount-private.
Vincent De Baere
OK, tentei fazer ecryptfs-umount-private --helpe, em vez de me fornecer documentos de ajuda, rapidamente montou meu diretório pessoal, uma coisa aterrorizante que estava rapidamente travando tudo. Consegui consertá-lo novamente, mas isso parece muito errado, já que não precisei fazer nada assim para fazer as capturas instantâneas. Eu adoraria uma explicação de por que isso é necessário agora, já que não era tão bem como fazer isso sem todo o meu sistema começar a desmoronar.
mlissner
A saída da lista de subvolumes btrfs mostra um caminho que inclui um diretório oculto (.ecryptfs). Esse diretório contém dados criptografados. Meu palpite é que você, de alguma forma, escolhe criptografar seu diretório pessoal durante a instalação do sistema operacional. Estou editando minha resposta com uma possível maneira de contornar isso.
Vincent De Baere
Infelizmente, o processo acima não funciona. Quando o usuário não está logado, o caminho para o diretório parece não existir. Parece que a criptografia + btrfs é super difícil de usar.
mlissner