Como excluir o subvolume btrfs?

2

Eu tenho um instantâneo que gostaria de excluir:

04:03:21::mlissner@pounamu::~ 
↪ sudo btrfs subvolume list /
ID 257 gen 267078 top level 5 path @badroot
ID 258 gen 267151 top level 5 path @home
ID 422 gen 267151 top level 5 path @

O chamado @badroot é ruim e deve ir. Mas:

04:03:23::mlissner@pounamu::~ 
↪ sudo btrfs subvolume delete \@badroot
ERROR: error accessing '@badroot'
04:03:31::mlissner@pounamu::~ 

Então eu não sei onde proceder. Eu tentei ler o arquivo de ajuda:

↪ sudo btrfs subvolume delete --help
usage: btrfs subvolume delete <subvolume> [<subvolume>...]

    Delete subvolume(s)

Mas isso é inútil também. Talvez as pessoas amáveis da Internet tenham idéias.

    
por mlissner 07.03.2015 / 01:08

1 resposta

10

Primeira possibilidade

Parece que você está se referindo a @badroot usando o caminho errado.

Se eu estiver lendo seu prompt de shell corretamente, seu diretório atual é ~ , seu diretório inicial - que provavelmente é /home/mlissner ou similar. Você está especificando o caminho para o subvolume como um caminho relativo (não começa com / ), portanto, você está efetivamente pedindo para excluir algo como /home/mlissner/@badroot ... que não existe.

Tente um caminho absoluto:

sudo btrfs subvolume delete /@badroot

Segunda possibilidade

Talvez você tenha um subvolume não padrão montado em / , por exemplo, número 422, @ . Nesse caso, apenas esse subvolume aparece sob / e você não pode ver nada acima desse caminho, incluindo os outros dois subvolumes mais quaisquer arquivos regulares localizados na raiz do Btrfs.

Nesse caso, monte a raiz Btrfs verdadeira em outro lugar para poder acessar seu conteúdo. A raiz verdadeira do Btrfs é conhecida como ID de subvolume 0 (e não está listada por btrfs subvolume list ). Encontre ou crie um ponto de montagem livre e monte da seguinte forma:

mount -o subvolid=0 /dev/some-device /mnt

Agora, você poderá ver /mnt/@ , /mnt/@badroot , /mnt/@home e talvez alguns outros arquivos em /mnt . Você pode excluir subvolume /mnt/@badroot como de costume.

    
por 08.03.2015 / 13:41

Tags