最近、重大なクラッシュが発生した後、OppenSuSE Leap 15.5ベースのホームサーバーを再インストールする必要がありました。インストーラでは、「トランザクションサーバー」オプションを選択することをお勧めしました。ただし、システムを再利用する準備ができたら、新しいパッケージを追加できなくなることがわかりました。
valen:~ # transactional-update pkg install afio-2.5.1-lp154.39.1.x86_64.rpm
Checking for newer version.
transactional-update 4.1.0 started
Options: pkg install afio-2.5.1-lp154.39.1.x86_64.rpm
ERROR: no snapshots for root file system configured!
transactional-update finished
YaSTを使用してシステムアップデートを実行しようとすると、同じエラーメッセージが表示されました。問題は、ルートファイルシステムが読み取り専用であり、スナップショットを作成できないことです。少なくともこれを試みると、次のエラーメッセージが表示されます。
valen:~ # snapper -c root create-config /
Creating config file failed (creating btrfs subvolume .snapshots failed).
ちなみに、YaSTでは、対応するチェックボックスは無効になっています。
/etc/fstab
アイテムを変更して/
(ro
に置き換えてdefaults
)再起動しても役に立ちませんでした。また、ユーティリティを使用して書き込み可能btrfs
にすることもできません。/
valen:~ # btrfs property set -tf / ro false
ERROR: object is not compatible with property: ro
現在私のファイルシステムは次のとおりです。
││Gerät │Größenlimit│Refer. Größe│Exkl. Größe│Mountpoint ││
││───Btrfs 0p1 │ │ │ │/ ││
|| ├──@/opt │ │ │ │/opt ││
││ ├──@/root │ │ │ │/root ││
││ ├──@/tmp │ │ │ │/tmp ││
││ ├──@/usr/local│ │ │ │/usr/local ││
││ └──@/var │ │ │ │/var ││
したがって、私のシステムは、ヘビが自分の尾を噛んでいるのと同じです。
/
インストーラがスナップショットなしで設定されました。このプロセスでは、スナップショットをどこで開くべきかわかりません。- スナップショットがオフの状態ではシステムを更新できません。
- ドキュメントには、
btrfs
いつでも既存のボリュームにスナップショットを追加できることが記載されています。ただし、/
読み取り専用なので動作しません。 btrfs
サブボリュームを追加する以外に、読み取り専用ボリュームを書き込み可能にする方法は明らかにありません。- スナップショットなしでは意味がありませんが、OpenSuSEインストーラがトランザクションサーバーにルートファイルシステムを作成するのはなぜですか?いいえスナップショットはサポートされていますか?
/
それでは、システム全体を再インストールせずにスナップショットを開くことができるように書き込み保護をバイパスするにはどうすればよいですか?たとえば、書き込み可能なサブボリュームにスナップショットを保存することを検討しましたが、/opt/.snapshots
それを行う方法が見つかりませんでした。