私はFedora26で snapper を使用してbtrfsシステムのスナップショットを作成しましたが、最初からやり直そうとしています(つまり、snapperとそれが行ったすべてのものを削除します)が、表示されたとおりに削除できないスナップショットが1つあります私のデフォルトのサブボリュームになります(なぜこれが行われたのか覚えていません。おそらくロールバックを試みました)。
# snapper delete 535
Deleting snapshot failed.
# btrfs subvolume get-default /
ID 1630 gen 112224 top level 275 path .snapshots/535/snapshot
# btrfs subvolume show /
/
Name: root
UUID: 544f9215-4537-fe4b-b1b5-4da21d9abb9c
Parent UUID: -
Received UUID: -
Creation time: 2017-07-19 21:28:42 +0100
Subvolume ID: 257
Generation: 112591
Gen at creation: 8
Parent ID: 5
Top level ID: 5
Flags: -
Snapshot(s):
ここで質問していることが理にかなっているかどうかはわかりませんが、デフォルトのサブボリュームを、最初にシステムを上部にセットアップしたときに持っていた親(; master; root、正しいWordがわからない)ボリュームに戻したいと思います。 -デフォルトの変更前のファイルシステムのレベル、つまり/。
# btrfs subvolume list / -a -p -t
ID gen parent top level path
-- --- ------ --------- ----
257 112604 5 5 <FS_TREE>/root
258 112604 5 5 <FS_TREE>/home
263 112214 257 257 root/var/lib/machines
275 112593 257 257 root/.snapshots
276 112577 258 258 <FS_TREE>/home/.snapshots
1630 112224 275 275 <FS_TREE>/root/.snapshots/535/snapshot
1639 112604 257 257 root/var/log
1641 111548 257 257 root/mnt/virtualbox
これを実現するために、これらの1つに対してbtrfs subvolume set-default
を実行できますか。/...の意味がよくわからないので、デフォルトをID 257のルートに変更する必要があると思っていたのですが、これで気が遠くなりました。
このスナップショット内のファイルは/内のファイルと比較して古くなっているため、スナップショットの内容で/を上書きすることは考えていません。
BTRFSファイルシステムをマウントすると、マウントするサブボリュームを指定するかどうかを指定できます。
Btrfsファイルシステムにはデフォルトのサブボリュームがあります。これは最初はトップレベルのサブボリューム[IDは常に5]に設定されており、subvolまたはsubvolidオプションが指定されていない場合にマウントされます。 - https://btrfs.wiki.kernel.org/index.php/SysadminGuide#Snapshots
ファイルシステムをマウントするときにsubvol
オプションを使用すると、デフォルトのサブボリュームをオーバーライドできます。
mount /dev/sda / -o subvol=root/.snapshots/535/snapshot
あなたの場合、ロールバックを実行したときにサブボリューム275がデフォルトになるように変更されました。
ロールバック[オプション] [番号]
2つの新しいスナップショットを作成し、デフォルトのサブボリュームを設定します。 デフォルトでは、システムはルートファイルシステムのデフォルトのサブボリュームから起動します。http://snapper.io/manpages/snapper.html
Snapperマップページがここで暗黙的に言っていることは、ルートファイルシステムのマウントポイントがサブボリュームをnot指定しないことを期待しているということです。そうしないと、ロールバックコマンドはsubvol
オプションによって上書きされるため、効果がありません。
元のデフォルトのサブボリュームはトップレベル(ID 5)でした。確かにbtrfs subvolume set-default
を使用して再びデフォルトにすることはできますが、おそらくそうすべきではありません。
535サブボリュームから起動している場合は、そのサブボリュームで時間の経過とともに膨大な数の変更が蓄積されている可能性があります。トップレベルのサブボリュームに戻すと、これらの変更の損失を意味します。変更がまだ存在し、別のサブボリュームにあることを考えると、ここではWordlossを大まかに使用しています。