LIVE-BOOT(5) | Debian Live Project | LIVE-BOOT(5) |
persistence.conf - live-boot 状態保持用メディアの設定ファイル
live-boot が「persistence」というラベル (GPT の名前やファイル名も含みますがここからは「ラベル」と呼びます) を付けられた保持用ボリュームを調査するとき、そのボリュームの保持方法はそのファイルシステムの最上部に置かれた persistence.conf ファイルにより全面的に独自化できます。こういったラベルを付けられたボリュームにはそういったファイルがないといけません。ない場合は無視します。
persistence.conf の形式では空行や「#」で始まる行 (コメント用) を両方とも利用でき、そういった行は解釈されず無視されます。いわゆる「独自マウント」は
の形式で、大まかに言い換えると「オプション一覧により指示した方法でディレクトリを保持する」ということになります。
独自マウントそれぞれについてディレクトリには絶対パスを使う必要があり、空白文字や特別なパスである「.」や「..」を含めること、/live (やそのサブディレクトリ) を使うことはできません。Live ファイルシステムのディレクトリに対するあらゆる変更 (ファイルの削除や作成、変更) はそれを有効にした段階でソースディレクトリと呼ばれる保持用メディアのディレクトリに相当するパスに持続的に保管されます。保持を実現するデフォルトの方法は対応するソースディレクトリをディレクトリに対して単純にバインドマウントする方法ですが、これはオプションを使うことで変更できます。
独自マウントは全て順番に行われるため、2つの独自マウントで互いに「隠す」ようなことはできません。例えば2つのディレクトリ /a と /a/b があるとすると、この場合は常にまず /a がマウントされ、それから /a/b がマウントされます。これは persistence.conf の他の行の順を問わず成り立ち、異なる保持用メディアにある複数の persistence.conf ファイルを同時に使う場合でも同様です。しかし、独自マウントではソースディレクトリを別の独自マウントのソースディレクトリ内にすることは禁止されているため、live-boot により自動生成されたソースディレクトリは同一のメディアでの /a と /a/b のような「入り組んだ」マウントをサポートしません。この場合は source オプション (以下参照) を使い、対象ディレクトリが必ず異なるソースディレクトリにあるようにしないといけません。
特定の独自マウントのソースディレクトリが保持用メディアに存在しない場合は自動的に作成され、そのディレクトリにふさわしい権限と所有がセットされます。ディレクトリの内容を保持用メディアのソースディレクトリにコピーすることでもこの自動処理は行われます。link や union オプション (以下参照) を使った場合はこの自動処理は行われません。
persistence.conf で定義する独自マウントでは以下のオプションをコンマで区切った一覧の形で受け付けます:
以下のオプションは相互に排他です (効果があるのは最後に指定したものだけです):
保持用ボリューム VOL があり、その persistence.conf ファイルに以下の4行を収録しているものとしましょう (番号は参照しやすいように付加しています):
それぞれに対応するディレクトリ:
1と2の例では source オプションをセットする必要があります。そうしないと3のソースと入り組んでしまい不正となるためです。
1行目と2行目の独自マウントが3行目によって隠されるのを回避するため3行目は1行目と2行目よりも先に処理されます。3行目が処理された時点で VOL/home は単純に /home に対してバインドマウントした状態になります。1行目と2行目で起きたことを説明するため、以下のファイルが存在するとしましょう:
それにより作成されるリンクやディレクトリ:
別の主張があるかもしれませんが、上記の persistence.conf ファイルの例では3行目が既に /home の全てを保持対象としているため1行目と2行目は不要です。link オプションはディレクトリ全体を保持したいのではなく、そのディレクトリ中やサブディレクトリにある特定のファイルを保持したいという状況を対象としています。
4行目はそのディレクトリ (とソースディレクトリ) が他のどの独自マウントとも完全に分離しているためいつでもマウントできます。マウントすると、VOL/usr は union オプションが指定されているため rw ブランチになり、元の読み取り専用ファイルシステムと比較した差分だけが収録されます。そのため、バインドマウントと比較すると容量の面で非常に効率良くパッケージを /usr にインストールできます。これは後者では初期の自動処理で /usr 全体を VOL/usr にコピーする必要があるためです。
More information about live-boot and the Debian Live project can be found on the homepage at <https://wiki.debian.org/DebianLive> and in the manual at <https://live-team.pages.debian.net/live-manual/>.
Bugs can be reported by submitting a bugreport for the live-boot package in the Bug Tracking System at <http://bugs.debian.org/> or by writing a mail to the Debian Live mailing list at <debian-live@lists.debian.org>.
live-boot was originally written by Daniel Baumann <mail@daniel-baumann.ch>. Since 2016 development has been continued by the Debian Live team.
2015-09-22 | 5.0~a5-1 |