BTRFS로 몇 가지 테스트를 수행하는 동안 이름 타임스탬프(예: 특수 문자 포함)가 있는 읽기 전용 스냅샷을 만들었습니다. 이제 삭제할 수 없습니다.
$ sudo btrfs subvolume list /test
...
ID 387 gen 289 top level 5 path snapshots/2022-08-22 20:41:00
ID 388 gen 293 top level 5 path snapshots/2022-08-23 07:55:00
...
하나를 제거해 보세요:
$ btrfs subvolume snapshot delete /test/snapshots/'2022-08-23 07:55:00'
ERROR: Could not statfs: No such file or directory
이 파일에 대한 통계를 얻을 수 있으며 스냅샷을 완전히 사용할 수 있습니다.
$ stat /test/snapshots/'2022-08-23 07:55:00'
File: /test/snapshots/2022-08-23 07:55:00
Size: 50 Blocks: 0 IO Block: 4096 directory
Device: 51h/81d Inode: 256 Links: 1
Access: (0755/drwxr-xr-x) Uid: ( 1000/ que) Gid: ( 1000/ que)
Access: 2022-08-23 00:00:04.349592125 -0500
Modify: 2022-08-23 00:00:02.257592094 -0500
Change: 2022-08-23 00:00:02.257592094 -0500
Birth: 2022-08-16 12:14:14.154459488 -0500
파일 이름을 이스케이프하는 다양한 조합을 시도했지만 아무 것도 작동하지 않는 것 같습니다. 목록 에 하나가 있는데 ID
ID별로 스냅샷을 삭제할 수 없는 것 같습니다. 이름에 특수 문자가 포함된 스냅샷을 삭제하는 방법에 대한 아이디어가 있습니까?
답변1
문제는 문자(특수 여부)와 관련이 없습니다. 다음은 실패한 명령입니다.
btrfs subvolume snapshot delete /test/snapshots/'2022-08-23 07:55:00'
btrfs subvolume snapshot …
만들다스냅 사진. 하위 명령은 입니다 snapshot
. delete
이는 하위 명령이 아니라 피연산자 입니다 snapshot
.
명령은 에서 스냅샷을 생성하려고 시도합니다 delete
. 불행히도 No such file or directory
이 경우에는 모호합니다. 오류가 장황하고 이름이 "파일 또는 디렉터리"임을 의미한다고 말하면 delete
더 좋을 것입니다 . 그러면 delete
하위 명령이 아닌 경로 이름으로 해석되는 프롬프트가 표시됩니다 . 아 글쎄.
삭제하려는 항목을 삭제하는 올바른 구문은 다음과 같습니다.
btrfs subvolume delete /test/snapshots/'2022-08-23 07:55:00'
당신이 한때 있던 곳에는 어디에 delete
있었습니까 snapshot
? delete
이제 하위 명령입니다.