.\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH LIVE\-BOOT 5 2015\-09\-22 5.0~a5\-1 "Debian Live Project" .SH 名前 \fBpersistence.conf\fP \- live\-boot 状態保持用メディアの設定ファイル .SH 説明 live\-boot が「persistence」というラベル (GPT の名前やファイル名も含みますがここからは「ラベル」と呼びます) を付けられた保持用ボリュームを調査するとき、そのボリュームの保持方法はそのファイルシステムの最上部に置かれた \fBpersistence.conf\fP ファイルにより全面的に独自化できます。こういったラベルを付けられたボリュームにはそういったファイルがないといけません。ない場合は無視します。 .PP \fBpersistence.conf\fP の形式では空行や「#」で始まる行 (コメント用) を両方とも利用でき、そういった行は解釈されず無視されます。いわゆる「独自マウント」は .PP .RS \fIディレクトリ\fP [\fIオプション\fP]... .RE .PP の形式で、大まかに言い換えると「\fIオプション\fP一覧により指示した方法で\fIディレクトリ\fPを保持する」ということになります。 .PP 独自マウントそれぞれについて\fIディレクトリ\fPには絶対パスを使う必要があり、空白文字や特別なパスである「.」や「..」を含めること、/live (やそのサブディレクトリ) を使うことはできません。Live ファイルシステムの\fIディレクトリ\fPに対するあらゆる変更 (ファイルの削除や作成、変更) はそれを有効にした段階でソースディレクトリと呼ばれる保持用メディアの\fIディレクトリ\fPに相当するパスに持続的に保管されます。保持を実現するデフォルトの方法は対応するソースディレクトリを\fIディレクトリ\fPに対して単純にバインドマウントする方法ですが、これは\fIオプション\fPを使うことで変更できます。 .PP 独自マウントは全て順番に行われるため、2つの独自マウントで互いに「隠す」ようなことはできません。例えば2つの\fIディレクトリ\fP /a と /a/b があるとすると、この場合は常にまず /a がマウントされ、それから /a/b がマウントされます。これは \fBpersistence.conf\fP の他の行の順を問わず成り立ち、異なる保持用メディアにある複数の \fBpersistence.conf\fP ファイルを同時に使う場合でも同様です。しかし、独自マウントではソースディレクトリを別の独自マウントのソースディレクトリ内にすることは禁止されているため、live\-boot により自動生成されたソースディレクトリは同一のメディアでの /a と /a/b のような「入り組んだ」マウントをサポートしません。この場合は \fBsource\fP オプション (以下参照) を使い、対象ディレクトリが必ず異なるソースディレクトリにあるようにしないといけません。 .PP 特定の独自マウントのソースディレクトリが保持用メディアに存在しない場合は自動的に作成され、その\fIディレクトリ\fPにふさわしい権限と所有がセットされます。\fIディレクトリ\fPの内容を保持用メディアのソースディレクトリにコピーすることでもこの自動処理は行われます。\fBlink\fP や \fBunion\fP オプション (以下参照) を使った場合はこの自動処理は行われません。 .SH オプション \fBpersistence.conf\fP で定義する独自マウントでは以下のオプションをコンマで区切った一覧の形で受け付けます: .IP \fBsource\fP=\fIパス\fP 4 指定した場合は保持用メディアの\fIパス\fPに保持内容の変更を保管します。\fIパス\fPは (その保持用メディアのルートからの) 相対パスを使う必要があり、空白文字や特別なパスである「.」や「..」については、「.」だけが単体で使われたときにはその保持用メディアのルートを指しますが、その例外を除いて含めることができません。このオプションが関連するのはほとんどが、これ以外ではエラーを引き起こす入り組んだ独自マウントにしたい場合、またはメディア全体のルートを利用できるようにしたい場合です (現在では非推奨となっている \fBhome\-rw\fP という種類の保持に似ています)。 .PP 以下のオプションは相互に排他です (効果があるのは最後に指定したものだけです): .IP \fBbind\fP 4 ソースディレクトリを\fIディレクトリ\fPにバインドマウントします。これはデフォルトです。 .IP \fBlink\fP 4 ソースディレクトリのディレクトリ構造を保持用メディアの\fIディレクトリ\fPに作成し、\fIディレクトリ\fPの対応する位置からソースディレクトリの各ファイルに向けてシンボリックリンクを作成します。リンクと同一名の既存のファイルやディレクトリは全て上書きされます。\fIディレクトリ\fP内にあるリンクの削除はリンクを削除するだけで、ソースの対応するファイルは削除しないことに注意してください。削除したリンクは再起動後には再び現れます。ファイルを恒久的に追加、削除するにはソースディレクトリで直接その作業を行わないといけません。 .IP 事実上、\fBlink\fP は既にソースディレクトリにあるファイルだけを保持し、\fIディレクトリ\fPにあるそれ以外のファイルは保持しません。保持するファイルをこのオプションの対象とするには手作業によりソースディレクトリに追加する必要があり、そうすることで\fIディレクトリ\fPに、既にそこにあるファイルに加えて現れるようになります。このオプションは特定のファイルだけを保持する必要があり、それがあるディレクトリ全体が必要ではない場合、例えばユーザのホームディレクトリにある設定ファイルの一部を保持する場合に有用です。 .IP \fBunion\fP 4 結合ファイルシステムの rw ブランチを保持用メディアに保存するため、変更点だけを持続的に保管します。バインドマウントと比較するとこの方法は潜在的にディスク使用量を減らせる可能性があり、また読み取り専用メディアに追加したファイルを隠しません。1つ注意があり、結合後に実際のファイルシステムのルートではなくイメージの読み取り専用ファイルシステムから\fIディレクトリ\fPを使うため、(例えば live\-config により) ブート後に作成されたファイルは結合後には見えなくなります。このオプションは live\-boot の \fBunion\fP ブートパラメータにより指定された結合ファイルシステムを使います。 .SH ディレクトリ .IP \fB/live/persistence\fP 4 保持用ボリュームは全てここで (デバイス名に対応するディレクトリで) マウントされます。\fBpersistence.conf\fP ファイルはこのマウントや任意のソースディレクトリから (\fBlink\fP オプションを使った独自マウントではこちらが特に実用的) 簡単に編集できます。 .SH 例 保持用ボリューム \fIVOL\fP があり、その \fBpersistence.conf\fP ファイルに以下の4行を収録しているものとしましょう (番号は参照しやすいように付加しています): .TP 7 1. /home/user1 link,source=config\-files/user1 .TP 2. /home/user2 link,source=config\-files/user2 .TP 3. /home .TP 4. /usr union .PP それぞれに対応するディレクトリ: .TP 7 1. \fIVOL\fP/config\-files/user1 (ただし \fBsource\fP オプションを指定しない場合は \fIVOL\fP/home/user1) .TP 2. \fIVOL\fP/config\-files/user2 (ただし \fBsource\fP オプションを指定しない場合は \fIVOL\fP/home/user2) .TP 3. \fIVOL\fP/home .TP 4. \fIVOL\fP/usr .PP 1と2の例では \fBsource\fP オプションをセットする必要があります。そうしないと3のソースと入り組んでしまい不正となるためです。 .PP 1行目と2行目の独自マウントが3行目によって隠されるのを回避するため3行目は1行目と2行目よりも先に処理されます。3行目が処理された時点で \fIVOL\fP/home は単純に /home に対してバインドマウントした状態になります。1行目と2行目で起きたことを説明するため、以下のファイルが存在するとしましょう: .TP 7 a. \fIVOL\fP/config\-files/user1/.emacs .TP b. \fIVOL\fP/config\-files/user2/.bashrc .TP c. \fIVOL\fP/config\-files/user2/.ssh/config .PP それにより作成されるリンクやディレクトリ: .TP 7 リンク: /home/user1/.emacs \-> \fIVOL\fP/config\-files/user1/.emacs (a の場合) .TP リンク: /home/user2/.bashrc \-> \fIVOL\fP/config\-files/user2/.bashrc (b の場合) .TP ディレクトリ: /home/user2/.ssh (from c) .TP リンク: /home/user2/.ssh/config \-> \fIVOL\fP/config\-files/user2/.ssh/config (c の場合) .PP 別の主張があるかもしれませんが、上記の \fBpersistence.conf\fP ファイルの例では3行目が既に /home の全てを保持対象としているため1行目と2行目は不要です。\fBlink\fP オプションはディレクトリ全体を保持したいのではなく、そのディレクトリ中やサブディレクトリにある特定のファイルを保持したいという状況を対象としています。 .PP 4行目はその\fIディレクトリ\fP (とソースディレクトリ) が他のどの独自マウントとも完全に分離しているためいつでもマウントできます。マウントすると、\fIVOL\fP/usr は \fBunion\fP オプションが指定されているため rw ブランチになり、元の読み取り専用ファイルシステムと比較した差分だけが収録されます。そのため、バインドマウントと比較すると容量の面で非常に効率良くパッケージを /usr にインストールできます。これは後者では初期の自動処理で /usr 全体を \fIVOL\fP/usr にコピーする必要があるためです。 .SH 関連項目 \fIlive\-boot\fP(7) .PP \fIlive\-build\fP(7) .PP \fIlive\-config\fP(7) .PP \fIlive\-tools\fP(7) .SH ホームページ More information about live\-boot and the Debian Live project can be found on the homepage at <\fIhttps://wiki.debian.org/DebianLive\fP> and in the manual at <\fIhttps://live\-team.pages.debian.net/live\-manual/\fP>. .SH バグ Bugs can be reported by submitting a bugreport for the live\-boot package in the Bug Tracking System at <\fIhttp://bugs.debian.org/\fP> or by writing a mail to the Debian Live mailing list at <\fIdebian\-live@lists.debian.org\fP>. .SH 作者 live\-boot was originally written by Daniel Baumann <\fImail@daniel\-baumann.ch\fP>. Since 2016 development has been continued by the Debian Live team.