サブディレクトリから親ディレクトリへのBtrfsスナップショットの復元

サブディレクトリから親ディレクトリへのBtrfsスナップショットの復元

/root一番上にサブボリューム()があるBtrfsパーティションがあります。subvol=root/ etc / fstabにオプションがあります。

毎週/root/snapshots/...読み取り専用のスナップショットを撮ります。

btrfs subvolume snapshot -r / /snapshots/"$(date --rfc-3339=date)"

/root(でインストールされているため、パスはありませんsubvol=root。)

これで問題が発生し、スナップショットからルートサブボリュームを復元したいとし、USBディスクから起動し、パーティションが/mnt/diskないかのようにマウントしますsubvol=root。実行しようとすると:

btrfs subvolume snapshot /mnt/disk/root/snapshots/2015-05-01 /mnt/disk/root

/mnt/disk/root/2015-05-01交換する代わりに、新しいサブボリュームを作成します/mnt/disk/root/。まず実行して削除しようとすると

btrfs subvolume delete /mnt/disk/root

エラーメッセージが表示されます。

ERROR: cannot delete '/mnt/disk/root' - Directory not empty

これを行う方法はありますか?それとも、スナップショットを作成する習慣を身に付ける必要がありますか?外部サブボリュームはスナップショットされていますか?

答え1

私はこれがあなたが間違っていると思う:

実行しようとすると:

btrfs subvolume snapshot /mnt/disk/root/snapshots/2015-05-01 /mnt/disk/root

/mnt/disk/root/ を置き換える代わりに、/mnt/disk/root/2015-05-01 で新しいサブボリュームを作成します。

btrfs subvolume snapshotに慣れる作る最初のパラメータのスナップショットを作成し、それを2番目のパラメータで指定されたディレクトリに保存します。期待しているようですね。変える /mnt/disk/root代わりに。

上書きしようとする/mnt/disk/root前に、サブボリューム(たとえば)を移動または削除する必要がありますmv /mnt/disk/root /mnt/disk/root-backup-during-restore。次に、次のようにします。

btrfs subvolume snapshot /mnt/disk/root/snapshots/2015-05-01 /mnt/disk/

それから:

mv /mnt/disk/2015-05-01 /mnt/disk/root

関連情報