BTRFS はスナップショットを削除できません - 操作は許可されていません

BTRFS はスナップショットを削除できません - 操作は許可されていません

kubuntu インストーラーによって kubuntu ルートとして機能するように作成された「@」のスナップショットである btrfs サブボリューム「2014-07-28」を削除できません。

teneighty@teneighty-MS-7924:/$ sudo mount -o subvolid=5 /dev/sda5 /mnt
teneighty@teneighty-MS-7924:/$ sudo btrfs sub list /mnt
ID 257 gen 1782 top level 5 path @
ID 258 gen 1574 top level 5 path @home
ID 266 gen 1761 top level 5 path 2014-07-28
teneighty@teneighty-MS-7924:/$ ls /mnt
@  2014-07-28  @home
teneighty@teneighty-MS-7924:/$ sudo btrfs sub del /mnt/2014-07-28/
Delete subvolume '/mnt/2014-07-28'
ERROR: cannot delete '/mnt/2014-07-28' - Operation not permitted

apt-btrfs-snapshot 削除を試みました:

teneighty@teneighty-MS-7924:/$ sudo apt-btrfs-snapshot delete /mnt/2014-07-28/
Delete subvolume '/mnt/2014-07-28'
ERROR: cannot delete '/mnt/2014-07-28' - Device or resource busy

忙しい場合は、これを行うことはできないはずですよね?

teneighty@teneighty-MS-7924:/$ sudo umount /mnt

しかし、静かにアンマウントされます。テストしたところ、ファイル マネージャーで /mnt/2014-07-28 を開いている場合でもアンマウントされます。

Kubuntu 14.04 をインストールした後、スナップショットを作成し、その後、大幅なシステム アップデートを実行しました。アップデート後に別のスナップショットを作成し、問題なく削除できました。ただし、削除したいのはアップデート前のスナップショットです。アップデート後にはすべて正常に動作しているため、新規インストール段階にロールバックする必要はないと思います。

また、インストールしたKubuntu Live USBを使用して削除しようとしましたが、これも機能しませんでした。次にapt-btrfs-snapshot deleteを試しましたが、

このスナップショットは元々 @/snapshots/2014-07-28 にあったと思われますが、help.ubuntu.com のドキュメントから ubuntu BTRFS レイアウトについて理解が深まったため、スナップショットをルート BTRFS ボリュームに移動しました。元に戻そうとしましたが、同じエラーが返されました。

スナップショットでこのエラーが発生する原因は何でしょうか? apt-btrfs-snapshot がビジー状態であると表示するのはなぜでしょうか? ここからどうすればよいかわかりませんが、ファイル システムが変更されると、そのスペースを取り戻す必要があります。

答え1

まず、どのサブボリュームがデフォルトであるかを確認します。

$ sudo btrfs subvol list /mnt/
ID 319 gen 508029 top level 5 path @plasma
ID 326 gen 508633 top level 5 path @
$ sudo btrfs subvol get-default /mnt/
ID 319 gen 508029 top level 5 path @plasma

サブボリュームを削除したいのですが@plasma、削除しようとしたときに同じエラーが発生しました (操作は許可されていません)。デフォルトのサブボリュームを変更する必要があります:

$ sudo btrfs subvol set-default 326 /mnt/

ID で新しいデフォルトのサブボリュームを選択します。その後、サブボリュームを削除できるようになります。

$ sudo btrfs subvol delete -v /mnt/@plasma/
Transaction commit: none (default)
Delete subvolume (no-commit): '/mnt/@plasma'

答え2

読み取り専用でRWに設定されているかどうかを確認します

 btrfs property set -ts ./MyClone/@home  ro false  

参照https://linuxreviews.org/Btrfs#the_HOWTO

関連情報