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
...
1つを削除してみてください:
$ 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
ファイル名をエスケープするさまざまな組み合わせを試しましたが、何も機能しないようです。リストには1つありますが、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
これでサブコマンドです。