目次
概要
Linux でファイルシステムのスナップショットを採取し、後からその時点に巻き戻し
(ロールバック) できるようにする機能は、以前から必要とされてきた機能でした。
現在は Snapper と Btrfs
ファイルシステムを組み合わせる
ことで、それを実現しています。
Btrfs
は、 Linux 向けに作られた新しいコピーオンライト型の
ファイルシステムで、ファイルシステムのスナップショット (特定の時点でのサブ
ボリューム (物理的なパーティション内に設定された、 1 つまたは複数のマウント
可能なファイルシステム) の状態をコピーしておく機能) に対応しています。
Snapper はこれらのスナップショットを管理するための機能を提供します。
Snapper はコマンドラインから利用できるほか、 YaST のインターフェイスから
利用することもできます。
既定では、 openSUSE で Snapper と Btrfs
を設定すると、
YaST や zypper を利用したシステム変更の際に 「取り消しツール」
として機能します。具体的に言えば、 YaST モジュールや zypper を実行した場合、
その前後でそれぞれスナップショットを採取します。これにより、 2 つのスナップ
ショットを比較し、システムに対して実施した変更を取り消すことができるように
なります。また、このツールではシステムのサブボリュームに対して、毎時の
スナップショットを作成することで、システムのバックアップとしても利用できる
機能が用意されています。
openSUSE では Btrfs
がスナップショットに対応した
唯一のファイルシステムであるため、 「スナップショット機能」 を
利用したい全てのパーティションやサブボリュームに対して、このファイルシステムを
使用する必要があります。
スナップショットを作成すると、スナップショットとスナップショット元のファイルは、
いずれもファイルシステム内の同じ場所を指し示します。そのため、
スナップショットを採取してすぐの状態では、余分のディスク領域を必要とすることは
ありません。ファイルシステム内の元のファイルに対して変更が行なわれると、
変更された部分のデータブロックが異なる場所にコピーされ、元のデータブロックは
スナップショット用に保存されます。このような仕組みであるため、時間が経過する
につれて、スナップショットの領域は大きくなっていきます。また、このような
仕組みから、スナップショットを含む Btrfs
ファイルシステム
でファイルを削除しても、 空き容量が増えない 場合が
あります。
スナップショットの場所 | |
---|---|
スナップショットは、採取元のパーティションやサブボリュームと同じ領域内に 保存されます。異なるパーティションやサブボリュームに保存することはできません。 |
そのため、スナップショットを含むパーティションは、 「通常の」 パーティションに比べ、大きく設定する必要があります。具体的に必要となる容量は、 スナップショットの保持数やデータの修正頻度によって変わります。一般的には、 通常のファイルシステムの約 2 倍程度を設定してください。
空き容量/ディスクの使用率 | |
---|---|
スナップショットを含む
また、 |
インストール時にルートパーティションを Btrfs
に設定する
と、 YaST や zypper の変更点を取り消すことができるツール Snapper が
自動的にインストールおよび設定されます。これにより、 YaST のモジュールや
zypper のトランザクションが始まると、 「事前スナップショット」
としてモジュールの起動前の状態を、 「事後スナップショット」
としてモジュール完了後の状態をそれぞれ採取します。
YaST の Snapper モジュールや snapper コマンドライン ツールを使用することで、 YaST や zypper が実施した変更を取り消し、 「事前スナップショット」 のファイル状態に戻すことができます。 また、 2 つのスナップショットを比較することで、どのファイルが変更された のかを調べることもできるほか、それらのファイルの違いを表示する (diff) こともできます。
なお、 Linux はマルチタスク型のシステムであるため、事前および事後の スナップショットに YaST や zypper が実施したもの以外の変更が混入する 場合があります。このような場合、事前のスナップショットに戻してしまうと、 他のプロセスが実施した変更点までも元に戻すことになってしまいます。 多くの場合、これは期待どおりの動作ではありません。そのため、巻き戻し (ロールバック) を実施する場合は、あらかじめ 2 つのスナップショット間での 変更をよくご確認ください。もしも予想外の変更点が存在した場合は、巻き戻す ファイルを選択して実施してください。
制限事項 | |
---|---|
ロールバックの仕組みを導入する前に、 Snapper の制限事項をご確認ください。 詳しくは 4.7項 「制限事項」 をお読みください。 |
スナップショットの保持数について | |
---|---|
既定では、 YaST と zypper のスナップショットは最大 100 個までを保持する 設定になっています。この数量を超えてスナップショットが作成されると、 古いスナップショットから順に削除されます。 |
手順4.1 YaST ¶
モジュールによる変更点の取り消しYaST を起動し、 yast2 snapper と入力します。
のセクション内にある モジュールを起動するか、もしくはまずは
が に なっていることを確認します。これは Snapper を手作業で設定した場合を 除いて、常に設定しておくべき項目です。
一覧から事前と事後の各スナップショットを選択します。 YaST と zypper
のスナップショット対の両方が yast
と書かれるほか、
zypper のスナップショットは モジュール名
zypp (zypper)
と
書かれます。
2 つのスナップショットの間で差異のあるファイルを一覧表示するには、
tester
を追加した後の
ファイル変更を示しています。
ファイルの一覧を確認した後、特定のファイルについて前後の
「差分」 を表示するには、一覧からファイルを選択します。
下記の図では、ユーザ tester
を追加した後の /etc/passwd
の変更を表示しています。
ファイルを復元したい場合は、まずファイルやディレクトリの左側に表示された チェックボックスにチェックを入れます。あとは
を押して確認メッセージに と答えると、ファイルを復元することができます。ファイルを 1 つだけ復元したい場合は、対象となるファイルをマウスで選択 し、差分を表示します。あとは
を 押して確認メッセージに と答えると、ファイルを 復元することができます。手順4.2 snapper コマンドによる変更点の取り消し¶
snapper list -t pre-post
を実行する
ことで、 YaST や zypper の作成したスナップショットを一覧表示することが
できます。 YaST のスナップショットには
内に yast
と書かれるほか、
zypper のスナップショットは モジュール名
zypp (zypper)
と
書かれます。
~ # snapper list -t pre-post 前 # | 後 # | 前日付 | 後日付 | 説明 -----+------+-----------------------------+-----------------------------+----------------------+ 4 | 5 | 2012年01月10日 14時39分14秒 | 2012年01月10日 14時39分33秒 | yast system_settings 65 | 66 | 2012年01月12日 17時18分10秒 | 2012年01月12日 17時18分23秒 | zypp(zypper) 68 | 69 | 2012年01月12日 17時25分46秒 | 2012年01月12日 17時27分09秒 | zypp(zypper) 73 | 74 | 2012年01月12日 17時32分55秒 | 2012年01月12日 17時33分13秒 | yast system_settings 75 | 76 | 2012年01月12日 17時33分56秒 | 2012年01月12日 17時34分42秒 | yast users 77 | 92 | 2012年01月12日 17時38分36秒 | 2012年01月12日 23時13分13秒 | yast snapper 83 | 84 | 2012年01月12日 22時10分33秒 | 2012年01月12日 22時10分39秒 | zypp(zypper) 85 | 86 | 2012年01月12日 22時16分58秒 | 2012年01月12日 22時17分09秒 | zypp(zypper) 88 | 89 | 2012年01月12日 23時10分42秒 | 2012年01月12日 23時10分46秒 | zypp(zypper) 90 | 91 | 2012年01月12日 23時11分40秒 | 2012年01月12日 23時11分42秒 | zypp(zypper) 108 | 109 | 2012年01月13日 13時01分06秒 | 2012年01月13日 13時01分10秒 | zypp(zypper)
スナップショットの対の間で、変更されたファイルの一覧を取得するには、
snapper status
事前#
..事後#
を実行します。それぞれ内容が変更されたファイルには
のマークが、追加されたファイルには のマークが、
削除されたファイルには のマークが表示されます。
下記の例では、 ncftp
パッケージをインストールした場合の、スナップショット対の例を示しています。
~ # snapper status 108..109 +... /usr/bin/ncftp +... /usr/bin/ncftpbatch +... /usr/bin/ncftpget +... /usr/bin/ncftpls [...] +... /usr/share/man/man1/ncftpspooler.1.gz c... /var/cache/zypp/solv/@System/cookie c... /var/cache/zypp/solv/@System/solv c... /var/lib/rpm/Basenames c... /var/lib/rpm/Dirnames c... /var/lib/rpm/Filemd5s c... /var/lib/rpm/Group c... /var/lib/rpm/Installtid c... /var/lib/rpm/Name c... /var/lib/rpm/Packages c... /var/lib/rpm/Providename c... /var/lib/rpm/Provideversion c... /var/lib/rpm/Requirename c... /var/lib/rpm/Requireversion c... /var/lib/rpm/Sha1header c... /var/lib/rpm/Sigmd5 c... /var/lib/zypp/SoftLocks
特定のファイルに対して差分を表示するには、 snapper diff
事前#
..事後#
ファイル名
を実行します。
ファイル名
を指定しない場合は、すべての
ファイルに対する差分が表示されます。
~ # snapper diff 108..109 /var/lib/zypp/SoftLocks --- /.snapshots/108/snapshot/var/lib/zypp/SoftLocks 2012-01-12 23:15:22.408009164 +0100 +++ /.snapshots/109/snapshot/var/lib/zypp/SoftLocks 2012-01-13 13:01:08.724009131 +0100 @@ -1,4 +1,2 @@ -# zypp::SoftLocksFile generated Thu Jan 12 23:10:46 2012 -# -ncftp -# +# zypp::SoftLocksFile generated Fri Jan 13 13:01:08 2012 +##
1 つまたは複数のファイルを復元するには、 snapper -v undochange
事前#
..事後#
ファイル名 (複数可)
を実行します。
ファイル名 (複数可)
を指定しない場合は、
変更されたすべてのファイルが復元されます。
~ # snapper -v undochange 108..109 create:0 modify:16 delete:21 undoing change... deleting /usr/share/man/man1/ncftpspooler.1.gz deleting /usr/share/man/man1/ncftpput.1.gz [...] deleting /usr/bin/ncftpls deleting /usr/bin/ncftpget deleting /usr/bin/ncftpbatch deleting /usr/bin/ncftp modifying /var/cache/zypp/solv/@System/cookie modifying /var/cache/zypp/solv/@System/solv modifying /var/lib/rpm/Basenames modifying /var/lib/rpm/Dirnames modifying /var/lib/rpm/Filemd5s modifying /var/lib/rpm/Group modifying /var/lib/rpm/Installtid modifying /var/lib/rpm/Name modifying /var/lib/rpm/Packages modifying /var/lib/rpm/Providename modifying /var/lib/rpm/Provideversion modifying /var/lib/rpm/Requirename modifying /var/lib/rpm/Requireversion modifying /var/lib/rpm/Sha1header modifying /var/lib/rpm/Sigmd5 modifying /var/lib/zypp/SoftLocks undoing change done
YaST や zypper のスナップショット以外にも、 Snapper ではシステムの
パーティション (/
) に対して毎時スナップショットを
採取します。これらバックアップ用のスナップショットを利用することで、
不用意に削除してしまったり、書き換えてしまったりしたファイルを復元する
ことができます。 Snapper の差分抽出機能を併用することで、ある時点で
どのファイルが書き換えられたのかを知ることも可能です。
1 時間ごとのバックアップスナップショットは、 単一 (Single)
というタイプで採取され、 timeline
という説明文が
設定されます。これらのスナップショットからファイルを復元したい場合は、
手順4.1「YaST や
モジュールによる変更点の取り消し」手順4.2「snapper コマンドによる変更点の取り消し」 の手順に従ってください。
スナップショットの保持数について | |
---|---|
既定では、もっとも新しい 10 個までのスナップショットが毎日保存され、 さらに 10 日、 10 ヶ月、 10 年分のスナップショットがそれぞれ最大 10 個 保存されます。詳しくは 例4.1「タイムラインの設定例」 をお読みください。 |
Snapper はスナップショットの作成や削除を行なうだけのものではありません。
Snapper はメタデータの設定や修正も行なうことができます。 Snapper での
すべての制御は設定ファイルを通して行ないます。設定ファイルを指定しない
場合は、既定値 (root
) が使用されます。独自の設定で
スナップショットを管理したい場合 (詳しくは
4.6項 「Snapper の設定作成」 をお読みください) は、
snapper のグローバルオプション -c
を利用して指定します:
snapper -c myconfig list
snapper について、さらに詳しく知るには、マニュアル ページ (man 1 snapper) をお読みください。
それぞれのスナップショットには、スナップショット本体とメタデータが 含まれています。 Snapper を利用することで、メタデータを設定したり 修正したりすることができます。それぞれのスナップショットに対して 設定可能なメタデータは、下記のとおりです:
種類 (Type): スナップショットの種類 を表す値です。詳しくは 4.4.1.1項 「スナップショットの種類」 をお読みください。なお、このデータは変更できません。
番号 (#): スナップショットに対する 独自の値です。なお、このデータは変更できません。
前番号 (前 #): 事後スナップショットに のみ設定される項目で、対応する事前スナップショットの番号を示します。 このデータは変更できません。
説明 (Description): スナップショットに 対する説明文です。
ユーザデータ (Userdata): 全く独自の
データを設定したり、カンマ区切りでキー=値のリスト形式を設定したりする
ことができる、拡張用項目です。たとえば下記のような値を設定します:
reason=testing_stuff, user=tux
クリーンアップアルゴリズム (Cleanup-Algorithm): スナップショットに対するクリーンアップアルゴリズムです。
Snapper では 3 種類のスナップショットが存在します。それぞれ事前 (pre) と 事後 (post), および単一 (Single) です。これらは物理的には同じものですが、 Snapper 側では扱いが異なります。
事前 (pre)
ファイルシステムの 変更前 に採取した
スナップショットです。それぞれの 事前 (pre)
スナップショットには、対応する 事後 (post)
スナップショットが存在します。これは例えば、 YaST や zypper を
実行した場合の自動スナップショットで利用します。
事後 (post)
ファイルシステムの 変更後 に採取した
スナップショットです。それぞれの 事後 (post)
スナップショットには、対応する 事前 (pre)
スナップショットが存在します。これは例えば、 YaST や zypper を
実行した場合の自動スナップショットで利用します。
単独で採取したスナップショットです。 1 時間ごとの定期スナップショット などで利用します。スナップショットを作成する場合、これが既定値です。
Snapper では、古いスナップショットを削除するクリーンアップアルゴリズム として、 3 種類のものを用意しています。このアルゴリズムはそれぞれ日次の cron ジョブとして実行します。クリーンアップの頻度そのものは、 パーティションごとまたはサブボリュームごとに、 Snapper の設定ファイルで 設定します (詳しくは 4.6.1項 「設定ファイルの調整」 を お読みください) 。
ある一定のスナップショット数を超過した場合に、削除を行ないます。
ある一定の時間を経過した場合に削除を行ないますが、時単位/日単位/ 月単位/年単位のスナップショットは残しておきます。
差分が何もない場合に、事前/事後のスナップショット対を削除します。
スナップショットを作成するには、 snapper create コマンド
を実行します。あとからスナップショットの目的を確認できるようにするため、
-d
でわかりやすい説明を指定しておくことをお勧めします。
-d "Apache の設定整理前"
説明文付きの単独のスナップショット (Single タイプ) を、既定の設定
(root
) で作成します。クリーンアップアルゴリズムを
指定していないため、このスナップショットは自動では削除されません。
-c home
create -d
"~tux 内のファイル整理"
説明文付きの単独のスナップショット (Single タイプ) を、独自の設定
home
で作成します。クリーンアップアルゴリズムを
指定していないため、このスナップショットは自動では削除されません。
-c home
create -d "日々の
HOME バックアップ" -c timeline
説明文付きの単独のスナップショット (Single タイプ) を、独自の設定
home
で作成します。スナップショットにはタイムライン
(timeline) 型のクリーンアップアルゴリズムを設定し、条件に合致した
場合に自動で削除するようにしています。
Snapper ではスナップショットの説明文やクリーンアップアルゴリズム、そして ユーザデータをそれぞれ修正することができます。それ以外のメタデータは、 変更することはできません。
-c "timeline"
10
既定 (root
) の設定内にある番号 10 のスナップショット
に対して、メタデータの修正を行ないます。クリーンアップアルゴリズムを
timeline
に設定する修正です。
-c home
modify -d "日々の
バックアップ" -c ""
120
home
という名称の設定内にある番号 120 の
スナップショットに対して、メタデータの修正を行ないます。新しい説明文を
設定し、クリーンアップアルゴリズムを無しに設定する修正です。
スナップショットを削除するには、まずその番号を知らなければなりません。
番号を調べるには、 snapper list コマンドで行ないます。
番号が判明したら、 snapper delete 番号
で削除を行ないます。なお、 事前 (pre)
スナップショットを
削除する場合、対応する 事後 (post)
スナップショットも
あわせて削除されることに注意してください (逆も同様です)。
既定 (root
) の設定内にある番号 65 のスナップショットを
削除します。
-c home
delete 89 90
home
という名称の設定内にある番号 89, 90 の各
スナップショットを削除します。
snapper delete 65 snapper -c myconfig delete 89 90
スナップショットによるディスク容量の圧迫について | |
---|---|
お使いのハードディスクの空き容量を増やす目的で、スナップショットを削除する 場合 (詳しくは 4.1.1項 「スナップショットとディスク領域」 をお読み ください) 、古いスナップショットから先に削除することをお勧めします。これは、 古いスナップショットほどより大きい容量を占有するためです。 |
スナップショットは日々の cron ジョブでも自動的に削除されます。詳しくは 4.4.1.2項 「クリーンアップアルゴリズム」 をお読みください。
インストール時にルートパーティションを Btrfs
に設定すると、
Snapper は自動的にシステムに対する毎時スナップショットを作成するほか、
YaST や zypper の処理の前後でそれぞれ事前と事後のスナップショットを採取
します。それぞれの処理は、下記の手順で無効化することができます:
/etc/snapper/configs/root
ファイルを編集し、
TIMELINE_CREATE
を no
に設定します:
TIMELINE_CREATE="no"
snapper-zypp-plugin
パッケージをアンインストールします。
/etc/sysconfig/yast2
ファイルを編集し、
USE_SNAPPER
を no
に設定します:
USE_SNAPPER="no"
Snapper の動作は、パーティションや Btrfs
のサブボリューム
単位に、設定ファイルで設定することができます。これらの設定ファイルは、
/etc/snapper/configs/
内に配置します。なお、 Snapper を
インストールすると、 /
ディレクトリに対して既定で
用意される設定が root
です。これは YaST や zypper の
スナップショットを作成し管理するほか、 /
ディレクトリに
対する毎時のバックアップスナップショットも作成します。
Btrfs
でフォーマットされた他のパーティションや、
Btrfs
パーティション内の既存のサブボリュームに対して、
それぞれ独自の設定ファイルを作成することができます。下記の例では、
/srv/www
にマウントされた Btrfs
のファイルシステムに対して、 Web サーバデータのバックアップ用に Snapper の
設定を作成しています。
これらのスナップショットからファイルを復元する場合は、 snapper
コマンドから行なうことができるほか、 YaST
モジュールを利用することもできます。 YaST の場合は、
で設定を選択する必要がありますし、 snapper であれば
-c
で設定を指定する必要があります (例: snapper -c
myconfig
list) 。
新しい Snapper 設定を作成するには、 snapper create-config を実行します:
snapper -c www-data create-config /srv/www
このコマンドを実行すると、
/etc/snapper/config-templates/www-data
というファイル名の
新しい設定ファイルが作成され、
/etc/snapper/config-templates/default
内に書かれた各既定値が
書き込まれます。
既定値について | |
---|---|
既定値は snapper -c www-data create-config -t my_defaults /srv/www |
設定ファイルを調整するには、エディタを利用して行ないます。設定項目はそれぞれ
の形式で記述し、 キー
=値
値
のほうを修正して調整します。
SUBVOLUME
スナップショットを採取するパーティションやサブボリュームの、マウントポイントを 指定します。変更しないでください。
FSTYPE
パーティションのファイルシステムを指定します。変更しないでください。
NUMBER_CLEANUP
NUMBER_LIMIT
で指定したスナップショット数を超過し、
かつ NUMBER_MIN_AGE
で指定した
時間を超えた古いスナップショットを、自動的に削除するかどうかを指定します。
yes
(はい) または no
(いいえ)
で指定します。
制限と世代 | |
---|---|
|
NUMBER_LIMIT
NUMBER_CLEANUP
が yes
に設定されている場合、
保持するスナップショット数を指定します。
NUMBER_MIN_AGE
スナップショットを自動削除する際の時間を秒単位で指定します。この秒数を超えた スナップショットだけが、自動削除の対象となります。
TIMELINE_CREATE
yes
(はい) に設定すると、 1 時間ごとの定期スナップショットを
作成します。現時点では、これがスナップショットを自動作成するための唯一の
方法があるため、 yes
を設定しておくことを強くお勧めします。
yes
(はい) または no
(いいえ) で指定します。
TIMELINE_CLEANUP
で指定した
数以上であり、 かつ TIMELINE_LIMIT_*
TIMELINE_MIN_AGE
で指定した時間を超えたスナップショットを、自動的に削除するかどうかを指定します。
yes
(はい) または no
(いいえ) で指定します。
TIMELINE_MIN_AGE
スナップショットを自動削除する際の時間を秒単位で指定します。この秒数を超えた スナップショットだけが、自動削除の対象となります。
TIMELINE_LIMIT_HOURLY
,
TIMELINE_LIMIT_DAILY
,
TIMELINE_LIMIT_MONTHLY
,
TIMELINE_LIMIT_YEARLY
それぞれ時間単位、日単位、月単位、年単位に、保持しておくべきスナップショット数を 指定します。
例4.1 タイムラインの設定例¶
TIMELINE_CREATE="yes" TIMELINE_CLEANUP="yes" TIMELINE_MIN_AGE="1800" TIMELINE_LIMIT_HOURLY="10" TIMELINE_LIMIT_DAILY="10" TIMELINE_LIMIT_MONTHLY="10" TIMELINE_LIMIT_YEARLY="10"
この例では、 1 時間ごとの定期スナップショットを自動的に削除します。
TIMELINE_MIN_AGE
と TIMELINE_LIMIT_*
は
常に両方とも評価されます。この例では、 30 分 (1800 秒) を経過したものが
自動削除の対象となるため、常に新しいものだけが残る形になっています。
また、 TIMELINE_LIMIT_DAILY
をゼロに設定すると、
1 日のうち最初のスナップショットだけが保持されることになります。
スナップショットの保持期限
1 時間ごと: 最新の 10 個分のスナップショットが保持されます。
1 日ごと: それぞれ 1 日のうち最初のスナップショットが、最新の 10 日分 だけ保持されます。
1 ヶ月ごと: それぞれ 1 ヶ月のうち最初のスナップショットが、最新の 10 ヶ月分 だけ保持されます。
1 年ごと: 12 月 31 日に採取された最初のスナップショットが、最新の 10 年分 だけ保持されます。
Btrfs
と Snapper ツールは、本番環境での使用も想定されていますが、
定期的に開発が続けられているものです。そのため、現時点では下記の制限事項が存在
することに注意してください。これらはいずれも、将来のリリースで解決される予定です。
スナップショットを作成する際、データの一貫性を確保するための機構が用意されていません。 スナップショットの作成時にファイルへの書き込みが発生した場合 (たとえばデータベース システムなど) 、そのファイルは壊れてしまうか、部分的に書き込みが行なわれた状態に なります。このようなファイルを復元すると、問題が発生してしまいます。そのため、 ファイルの復元にあたっては、 必ず 変更されたファイルと差分を よくご確認ください。また、巻き戻しを行ないたいファイルのみを復元するようにして ください。
通常、 /home
は個別のパーティション内に存在しています。
このように別途のパーティションに存在するものは、既定の設定や YaST のロールバック
機構では巻き戻すことができません。そのため、このような状況で Snapper でユーザの
追加を取り消しても、そのユーザのホームディレクトリの内容まで削除することは
できません。ユーザを削除する場合は、 YaST の
をお使いください。
/boot
やブートローダの設定の取り消しについて¶
現時点では、 openSUSE は Btrfs
パーティションからの起動には
対応していません。そのため、システムパーティションに Btrfs
を指定
しても、 /boot
用に個別のパーティションが設定されます。
そのため、 /boot
はスナップショット機能に対応できないことになる
ため、 YaST/zypper での巻き戻しにあたっては下記の制限事項が存在することに注意して
ください:
巻き戻すことができるファイルは、 /etc
内に存在するブートローダの
設定ファイルだけです。メインの設定ファイルは /boot
内に存在する
ため、巻き戻すことはできません。
カーネルそれ自身と initrd は、それぞれ /boot
内にインストールされ、
カーネルモジュールやソースコードは /var/lib
と
/usr/src
にインストールされます。また、カーネルをインストールすると
/boot 内にあるブートローダの設定ファイルを変更する作業もあわせて行なわれます。
そのため、カーネルのインストール作業を含む処理を取り消す場合、 /boot からインストールした
カーネルと対応する initrd の削除、そしてインストールしていたカーネルに対応する
ブートローダの設定を、それぞれ手作業で削除してください。
/var/log
, /tmp
などのディレクトリの
変更を表示しませんが、なぜですか?
/var/log
などの特定のディレクトリについては、スナップショットの
対象から外しています。これらのディレクトリにはログファイルなどが含まれるため、
ログを削除してしまうと問題の追跡が困難になってしまうためです。スナップショット対象から
外す目的で、これらのディレクトリにはサブボリュームを設定して対応しています。
openSUSE では、 それぞれ下記のマウントポイントが除外対象です:
/opt
/srv
/tmp
/var/crash
/var/log
/var/run
/var/spool
/var/tmp
現時点では対応していません。 openSUSE のブートローダは、現時点では
Btrfs
パーティションからの起動には未対応です。