
/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