名前
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 で定義する独自マウントでは以下のオプションをコンマで区切った一覧の形で受け付けます:- source=パス
- 指定した場合は保持用メディアのパスに保持内容の変更を保管します。パスは (その保持用メディアのルートからの) 相対パスを使う必要があり、空白文字や特別なパスである「.」や「..」については、「.」だけが単体で使われたときにはその保持用メディアのルートを指しますが、その例外を除いて含めることができません。このオプションが関連するのはほとんどが、これ以外ではエラーを引き起こす入り組んだ独自マウントにしたい場合、またはメディア全体のルートを利用できるようにしたい場合です (現在では非推奨となっている home-rw という種類の保持に似ています)。
- bind
- ソースディレクトリをディレクトリにバインドマウントします。これはデフォルトです。
- link
- ソースディレクトリのディレクトリ構造を保持用メディアのディレクトリに作成し、ディレクトリの対応する位置からソースディレクトリの各ファイルに向けてシンボリックリンクを作成します。リンクと同一名の既存のファイルやディレクトリは全て上書きされます。ディレクトリ内にあるリンクの削除はリンクを削除するだけで、ソースの対応するファイルは削除しないことに注意してください。削除したリンクは再起動後には再び現れます。ファイルを恒久的に追加、削除するにはソースディレクトリで直接その作業を行わないといけません。
- 事実上、link は既にソースディレクトリにあるファイルだけを保持し、 ディレクトリにあるそれ以外のファイルは保持しません。保持するファイルをこのオプションの対象とするには手作業によりソースディレクトリに追加する必要があり、そうすることでディレクトリに、既にそこにあるファイルに加えて現れるようになります。このオプションは特定のファイルだけを保持する必要があり、それがあるディレクトリ全体が必要ではない場合、例えばユーザのホームディレクトリにある設定ファイルの一部を保持する場合に有用です。
- union
- 結合ファイルシステムの rw ブランチを保持用メディアに保存するため、変更点だけを持続的に保管します。バインドマウントと比較するとこの方法は潜在的にディスク使用量を減らせる可能性があり、また読み取り専用メディアに追加したファイルを隠しません。1つ注意があり、結合後に実際のファイルシステムのルートではなくイメージの読み取り専用ファイルシステムから ディレクトリを使うため、(例えば live-config により) ブート後に作成されたファイルは結合後には見えなくなります。このオプションは live-boot の union ブートパラメータにより指定された結合ファイルシステムを使います。
ディレクトリ
- /live/persistence
- 保持用ボリュームは全てここで (デバイス名に対応するディレクトリで) マウントされます。 persistence.conf ファイルはこのマウントや任意のソースディレクトリから ( link オプションを使った独自マウントではこちらが特に実用的) 簡単に編集できます。
例
保持用ボリューム VOL があり、その persistence.conf ファイルに以下の4行を収録しているものとしましょう (番号は参照しやすいように付加しています):- 1.
- /home/user1 link,source=config-files/user1
- 2.
- /home/user2 link,source=config-files/user2
- 3.
- /home
- 4.
- /usr union
- 1.
- VOL/config-files/user1 (ただし source オプションを指定しない場合は VOL/home/user1)
- 2.
- VOL/config-files/user2 (ただし source オプションを指定しない場合は VOL/home/user2)
- 3.
- VOL/home
- 4.
- VOL/usr
- a.
- VOL/config-files/user1/.emacs
- b.
- VOL/config-files/user2/.bashrc
- c.
- VOL/config-files/user2/.ssh/config
- リンク:
- /home/user1/.emacs -> VOL/config-files/user1/.emacs (a の場合)
- リンク:
- /home/user2/.bashrc -> VOL/config-files/user2/.bashrc (b の場合)
- ディレクトリ:
- /home/user2/.ssh (from c)
- リンク:
- /home/user2/.ssh/config -> VOL/config-files/user2/.ssh/config (c の場合)
関連項目
live-boot(7) live-build(7) live-config(7) live-tools(7)ホームページ
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 < [email protected]>.作者
live-boot was originally written by Daniel Baumann < [email protected]>. Since 2016 development has been continued by the Debian Live team.2015-09-22 | 5.0~a5-1 |