11.7. 更新されたオペレーティングシステムからのロールバックの実行
bootc rollback コマンドを使用すると、以前のブートエントリーにロールバックして変更を元に戻すことができます。このコマンドは、rollback 対象のデプロイメントを次回の起動のキューに追加することで、ブートローダーエントリーの順序を変更します。現在のデプロイメントはロールバックになります。キュー内の適用されなかったアップグレードなどのステージングされた変更は、すべて破棄されます。
ロールバックが完了すると、システムが再起動し、更新タイマーが 1 - 3 時間以内に実行され、ロールバックしたイメージにシステムが自動的に更新されて再起動されます。
ロールバックを実行すると、自動更新をオフにしない限り、システムは自動的に再度更新されます。自動更新の無効化 を参照してください。
たとえば、bootc rollback コマンドを使用してロールバックを実行すると、/etc ディレクトリー内のファイルに加えられた変更は、ロールバックされたデプロイメントには引き継がれません。代わりに、/etc ディレクトリー内のファイルは、以前のデプロイメント時の状態に戻ります。
bootc rollback コマンドは既存のデプロイメントの順序を変更しますが、新しいデプロイメントは作成しません。新しいデプロイメントが作成されると、/etc ディレクトリーがマージされます。
ロールバック後に使用できるように、変更された /etc ファイルを保持するには、/var (特定の <user> の /var/home/<user> など) または root ユーザーの /var/root/ のディレクトリーに /etc の内容をコピーします。これらのディレクトリーにはユーザーコンテンツが保存されるため、ロールバックの影響を受けません。
一時的なロールバックまたは別の bootc ロールバックによって元の状態に戻ると、/etc ディレクトリーは元のデプロイメントの状態に戻ります。
または、ロールバックする問題が /etc ディレクトリー内の設定ファイルに関係しておらず、古いデプロイメントに戻す場合は、bootc switch コマンドを使用します。このコマンドは、必要な /etc マージを実行し、ソフトウェアの以前のバージョンをデプロイします。
前提条件
- システムの更新を実行した。
手順
以下のコマンドを実行します。
bootc rollback [-h|--help] [-V|--version]
$ bootc rollback [-h|--help] [-V|--version]Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
systemd journalを使用して、検出されたロールバック呼び出しに関するログに記録されたメッセージを確認します。journalctl -b
$ journalctl -bCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次のようなログが表示されます。
MESSAGE_ID=26f3b1eb24464d12aa5e7b544a6b5468
MESSAGE_ID=26f3b1eb24464d12aa5e7b544a6b5468Copy to Clipboard Copied! Toggle word wrap Toggle overflow