btrfs 하위 볼륨을 삭제하는 방법은 무엇입니까?

btrfs 하위 볼륨을 삭제하는 방법은 무엇입니까?

삭제하고 싶은 스냅샷이 있습니다.

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 @

@badroot라는 사람은 끔찍해서 가야 합니다. 하지만:

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

그래서 어디서부터 시작해야할지 모르겠습니다. 도움말 파일을 읽으려고 합니다.

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

    Delete subvolume(s)

하지만 그것도 소용없습니다. 어쩌면 인터넷상의 몇몇 좋은 사람들이 아이디어를 가지고 있을 수도 있습니다.

답변1

첫 번째 가능성

@badroot잘못된 경로를 사용 하고 계신 것 같습니다 .

쉘 프롬프트를 올바르게 읽었다면 현재 디렉토리는 ~홈 디렉토리이며 아마도 /home/mlissner비슷하거나 비슷할 것입니다. 하위 볼륨에 대한 경로를 상대 경로( 로 시작하지 않음)로 지정하므로 실제로는 ... 과 같이 존재하지 않는 항목을 /삭제하도록 요청하는 것입니다 ./home/mlissner/@badroot

절대 경로를 사용해 보세요.

sudo btrfs subvolume delete /@badroot

두 번째 가능성

에 기본이 아닌 하위 볼륨( /예: 422) 이 마운트되어 있을 수 있습니다 @. 이 경우 아래에는 하위 볼륨만 나타나며 /다른 두 개의 하위 볼륨과 Btrfs 루트 디렉터리에 있는 일반 파일을 포함하여 경로 위에는 아무것도 볼 수 없습니다.

이 경우 해당 내용에 액세스할 수 있도록 실제 Btrfs 루트를 다른 곳에 마운트하십시오. Btrfs의 실제 루트는 하위 볼륨 ID 0이라고 하며 나열되지 않습니다 btrfs subvolume list. 무료 마운트 지점을 찾거나 생성하고 다음과 같이 마운트합니다.

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

/mnt/@이제 아래에서 , /mnt/@badroot, /mnt/@home및 기타 파일을 볼 수 있습니다 /mnt. /mnt/@badroot평소대로 하위 볼륨을 삭제할 수 있습니다 .

관련 정보