openSUSEでSnapperを使ってスナップショットを使用する方法

SnapperはopenSUSE上でファイルシステムのスナップショットを管理します。サポートされているBtrfsルートファイルシステムでは、変更点の比較、選択したシステムファイルの復元、または正常なスナップショットへのロールバックが可能です。スナップショットは同じファイルシステム上に保持されるため、アップデートの不具合からの復旧に役立ちますが、デバイス外のバックアップではないため、ホームディレクトリや個別のサブボリュームは含まれない場合があります。

rootこれらの例では、ルートファイルシステムのみを対象としたデフォルト設定を使用しています。

Snapperが設定されているかどうかを確認してください。

ターミナルを開き、マウントされているファイルシステムを確認して/から、Snapperの設定を一覧表示します。

findmnt -no FSTYPE /
sudo snapper list-configs
openSUSEにSnapperの設定が存在するかどうかを確認するためのターミナルコマンド
コマンド例:ルートSnapper設定が利用可能かどうかを確認します。

最初のコマンドが を報告しbtrfs、2 番目のコマンドrootが をリストする場合は/、以下の例に進んでください。ルート構成が存在しない場合は、むやみに作成しないでください。サポートされているレイアウトを使用する Btrfs ルートでは、openSUSE のドキュメントで を使って作成する方法が説明されていますsudo snapper -c root create-config /。その後、 を使って構成を確認してくださいsudo snapper -c root get-config。これは Ext4 ルートには適用されず、ブート可能なロールバックはシステムの Btrfs とブートローダーのレイアウトに依存します。

同じファイルシステム上にスナップショット用の領域を確保してください。Btrfsは変更されていないブロックを共有しますが、変更されたデータは古いブロックを保持します。スナップショットは大きくなり、空き領域を消費する可能性があります。

変更前に手動でスナップショットを作成する

ドライバーを変更したり、システム構成を編集したり、リスクの高いシステムレベルの調整をテストしたりする前に、名前付きの単一のスナップショットを作成してください。

sudo snapper -c root create --description "Before driver change"
Snapperコマンドは、ドライバ変更前に名前付きルートファイルシステムのスナップショットを作成します。
コマンド例:手動で撮影したスナップショットに、後で認識できる説明文を付ける。

1つのスナップショットは、ある時点の記録です。一般的なラベルではなく、「ファイアウォール変更前」など、作成理由を示す説明を使用してください。割り当てられた番号と他のスナップショットを確認するには、次のコマンドを実行します。

sudo snapper -c root list
ルートファイルシステムのスナップショットを確認するためのSnapper listコマンド
コマンド例:スナップショットの一覧を表示し、必要なスナップショットの番号と説明をメモします。

一般的な設定では、Snapper は YaST および Zypper トランザクション用のペアpre/postスナップショットを作成します。手動操作を括弧で囲むには、変更前にこれを実行し、表示される ID をメモしてください。

sudo snapper -c root create --type pre --print-number --description "Before manual change"

その後、投稿のスナップショットを作成し、123その ID に置き換えます。 とペアを表示しますsudo snapper -c root list -t pre-post。

sudo snapper -c root create --type post --pre-number 123 --description "After manual change"

スナップショットを比較してファイルを復元する

スナップショット42と現在のルートファイルシステムを比較するには、以下を使用します。

sudo snapper -c root status 42..0
Snapper のステータス コマンドで、スナップショット 42 と現在のルート ファイルシステムを比較しています。
コマンド例:スナップショットと現在のシステム間で異なるパスを一覧表示します。

ここに42スナップショット番号の例を示します。ご自身のリストにある番号に置き換えてください。Snapper の比較では、0現在のファイルシステムの状態を表します。pre/post のペアについては、で表示される 2 つの番号を比較してくださいlist -t pre-post。1 つのファイルのテキストの差分を調べるには、以下を実行します。

sudo snapper -c root diff 42..0 /etc/example.conf
Snapperのdiffコマンドは、ある設定ファイルとそのスナップショットバージョンを比較します。
コマンド例:復元前に単一ファイルを検査する。

スナップショット42からそのファイルを復元したい場合は、undochange同じ比較方法を使用してください。

sudo snapper -c root undochange 42..0 /etc/example.conf
Snapperのundochangeコマンドで選択した設定ファイルを復元します
コマンド例:以前のスナップショットから選択したファイルのみを復元します。

まず、ステータスと差分を確認してください。ルートスナップショットでは、個別のサブボリュームや除外されたサブボリュームが省略される場合があります。完全なロールバックを行うには、ブート可能なスナップショットの手順を使用してください。Snapperはデータを書き込むアプリケーションとは連携しないため、データベースは独自のバックアップ手順で保護してください。

起動可能なスナップショットからシステムをロールバックする

広範囲にわたるアップデートやシステム変更を元に戻す必要がある場合は、システム全体のロールバックを使用してください。これには、root構成用の起動可能なスナップショットが必要です。すべてのSnapper構成またはディスクレイアウトがこれをサポートしているわけではありません。作業内容を保存してから、再起動してください。

sudo reboot
読み取り専用のリカバリースナップショットを選択する前にopenSUSEを再起動するためのターミナルコマンド
コマンド例:再起動後、インストール時にGRUBスナップショットエントリが提供されている場合はそれを使用します。
  1. GRUBメニューで、「読み取り専用スナップショットからブートローダーを起動する」を選択します。
  2. 問題が発生する前の日付のスナップショットを選択して、それを使って起動してください。
  3. システムが想定どおりに動作することを確認してください。スナップショットビューは読み取り専用なので、リカバリのプレビューとして機能します。
  4. 問題がなければ、を実行してsudo snapper rollbackから再起動し、通常のデフォルトの起動エントリを選択してください。
Snapperのロールバックコマンドを使用して、確認済みのリカバリスナップショットを新しいシステムデフォルトにします。
コマンド例:テスト済みのスナップショットを新しい読み書き可能なシステム状態としてコミットします。

ロールバックを行わない場合は、再起動して現在のシステムに戻してください。サポートされているレイアウトでは、snapper rollbackロールバック前の状態が保存され、選択した状態から読み書き可能なルートスナップショットが作成されます。個別のサブボリュームはロールバックされません。

不要になったスナップショットを削除してください

まずスナップショットの一覧を表示し、数と説明を確認してから、削除したいスナップショットのみを削除してください。

sudo snapper -c root delete 42

42削除するスナップショット番号に置き換えてください。スナップショットを削除すると、そのリカバリポイントが削除されますが、稼働中のシステムは削除されません。Snapperは設定済みのクリーンアップポリシーを適用することもあるため、リストのクリーンアップ列を確認し、必要な期間だけ重要なスナップショットを保持するようにしてください。

公式資料

コメントを残す

失われたパーティションとハードディスクデータを安全に復元する方法

失われたパーティションとハードディスクデータを安全に復元する方法

TestDiskとPhotoRecを使って、失われたパーティションやファイルを復元する方法を学びましょう。ソースドライブを保護し、安全にスキャンを行い、復元したデータを別のディスクに保存します。

LinuxデスクトップでQRコードをスキャンする方法

LinuxデスクトップでQRコードをスキャンする方法

CoBangを使えば、Webカメラまたは画像ファイルでLinux上でQRコードをスキャンできます。インストールオプション、セットアップ手順、Flatpakカメラへのアクセスに関する修正方法については、こちらをご覧ください。

Cameractrlsを使ってLinuxでウェブカメラの設定を変更する方法

Cameractrlsを使ってLinuxでウェブカメラの設定を変更する方法

Cameractrlsを使用してLinux上でウェブカメラの設定を変更しましょう。露出、色、フリッカー低減などのサポートされているコントロールを調整し、互換性のあるビデオモードを確認できます。

LinuxにPhpStormをインストールする方法:ツールボックス、Tar.gz、Snap、およびAUR

LinuxにPhpStormをインストールする方法:ツールボックス、Tar.gz、Snap、およびAUR

LinuxにPhpStormをインストールするには、JetBrains Toolboxを使用するか、スタンドアロンのtar.gzアーカイブを使用するか、SnapおよびArch AURオプションを選択してください。Javaは既にバンドルされています。

LinuxにCisco Packet Tracerをインストールする方法

LinuxにCisco Packet Tracerをインストールする方法

Cisco Packet Tracer 9.0.1 を Ubuntu 64 ビット版にダウンロードし、APT を使用して DEB パッケージをインストールし、ターミナルでライセンスに同意してサインインすると、ラボを開始できます。

LinuxでCD-ROMをISOイメージとしてバックアップする方法

LinuxでCD-ROMをISOイメージとしてバックアップする方法

Linux上でGNOME Disksまたはddコマンドを使用してCD-ROM ISOイメージを作成します。光学ドライブを識別し、コピーを監視し、イメージを検証し、破損したディスクやオーディオディスクに別のツールが必要な場合を把握できます。

XFCE 4でデュアルパネルを設定する方法

XFCE 4でデュアルパネルを設定する方法

各ディスプレイごとに個別のXFCE 4パネルを作成し、2番目のパネルを右側の出力に割り当て、位置とサイズを調整し、必要なランチャーとステータス項目を追加します。

LinuxでGIMPを使って画像を切り抜く方法

LinuxでGIMPを使って画像を切り抜く方法

LinuxでGIMPを使って写真の背景を削除する方法:被写体をトレースし、選択した背景を削除し、透明度を保持して、再利用可能なPNG形式でエクスポートします。

FlightGearを無料でダウンロード:公式インストールガイド

FlightGearを無料でダウンロード:公式インストールガイド

FlightGearは公式サイトから無料でダウンロードできます。Windows、macOS、Linuxの各パッケージを比較し、データファイルをインストールして、最初のフライトを開始しましょう。

OKSampler:キーボードビートのための無料かつシンプルな音楽サンプラー

OKSampler:キーボードビートのための無料かつシンプルな音楽サンプラー

OKSamplerはMP3クリップをキーボードのキーにマッピングし、音声をループ再生できます。この旧型フリーウェアの機能、旧機能が失われた箇所、ダウンロード前に確認すべき点について解説します。