btrfsファイルシステムパーティション「/dev/sda1」にArch Linuxをインストールしました。
[root@larch ~]# mount | grep sda
/dev/sda1 on / type btrfs (rw,relatime,ssd,space_cache,subvolid=266,subvol=/subvol_root)
ご覧のとおり、ルートボリュームをマウントするのではなく、「subvol_root」というサブボリュームをマウントしました。パーティション全体を次の場所にマウントすると、/root/BTRFSROOT
現在のサブボリュームを表示できます。
[root@larch ~]# pwd
/root
[root@larch ~]# mount -o subvol=/ /dev/sda1 BTRFSROOT/
[root@larch ~]# btrfs sub list -apt BTRFSROOT/
ID gen parent top level path
-- --- ------ --------- ----
257 3239 5 5 subvol_root_borked
264 3350 5 5 snapshots
266 3358 5 5 subvol_root
267 3223 264 264 <FS_TREE>/snapshots/20190103-fresh-arch
268 302 264 264 <FS_TREE>/snapshots/20190104-pre-graphics
272 2275 264 264 <FS_TREE>/snapshots/20190106-pre-intel-driver
276 3250 264 264 <FS_TREE>/snapshots/20190107-pre-vbox
[root@larch ~]#
削除したいのですが、subvol_root_borked
次のエラーが発生します。
[root@larch ~]# btrfs sub delete BTRFSROOT/subvol_root_borked/
Delete subvolume (no-commit): '/root/BTRFSROOT/subvol_root_borked'
ERROR: Could not destroy subvolume/snapshot: Operation not permitted
[root@larch ~]#
subvol_root_borked
私が作成したスナップショットで作成しましたsubvol_root
が、作成後に名前を変更しました。元のスナップショットの名前がわかりません。もともとサブボリュームから作成された可能性がありますが、snapshots
わかりません。
サブボリューム内のすべてのコンテンツを削除できますが、次のようになります。
[root@larch ~]# ls -lah BTRFSROOT/subvol_root_borked/
total 16K
drwxr-xr-x 1 root root 0 Jan 7 20:13 .
drwxr-xr-x 1 root root 94 Jan 4 00:24 ..
このサブボリュームにはどのような問題がありますか?どのように詳細を分析できますか?
答え1
問題のサブボリュームが次のread-only
場合直接削除できません(と同様にroot
)writable
最初に実行する必要がある作業は次のとおりです。
sudo su
btrfs property set -ts /BTRFSROOT/subvol_root_borked/ ro false
btrfs sub delete BTRFSROOT/subvol_root_borked/