:B~ 収録内容の独自化

1~customization-overview 独自化の概要

この章では Live システムを独自化できる様々な方法について概要を示します。

2~ ビルド時とブート時の設定

Live
システムの設定オプションはビルド時に適用されるビルド時オプションとブート時に適用されるブート時オプションとに分けられます。ブート時オプションはさらに、live-boot
パッケージにより適用され、ブートの早い段階で起きるものと live-config
パッケージにより適用され、ブートの遅い段階で起きるものとに分けられます。ブート時オプションはどれも、ユーザがブートプロンプトで指定することで変更できます。イメージは、デフォルトのブートパラメータを指定してビルドし、デフォルト値を全て適応する場合オプションをユーザが何も指定せずに普通に
Live システムを直接ブートするようにもできます。特に、#{lb --bootappend-live}#
への引数は設定の維持やキーボードレイアウト、タイムゾーン等、Live
システムのカーネルコマンドラインオプションのデフォルト値で構成されます。例については{ロケールと言語の独自化}#customizing-locale-and-language
を見てください。

ビルド時設定オプションは #{lb config}# の man ページで説明されています。ブート時オプションは live-boot と
live-config の man ページで説明されています。live-boot 及び live-config パッケージはビルドする Live
システム内にインストールされますが、設定作業時に参照しやすいようにビルドシステムにもインストールすることを勧めます。収録されているスクリプトはどれも、そのシステムが
Live システムとして設定されていないと実行されないため、ビルドシステムへのインストールは安全です。

2~stages-of-the-build ビルド段階

ビルドプロセスは段階ごとに分けられ、様々な独自化がそれぞれ順に適用されます。実行の最初の段階は*{パッケージ収集}*段階です。この初期段階では
chroot ディレクトリを作成して Debian システムの骨子を構成するパッケージを集めます。引き続いて*{chroot}*段階があり、chroot
ディレクトリの構成を完了させ、他の内容とともに設定に列挙されているパッケージを全て収集します。収録内容の独自化はほとんどがこの段階で起こります。Live
イメージの準備の最終段階は*{バイナリ}*段階で、ブート可能なイメージをビルドします。chroot ディレクトリの内容を使って Live
システムのルートファイルシステムを作成し、インストーラと 対象メディアの Live
システムのファイルシステム外に配置する、他の追加の内容を全て収録します。Live イメージをビルドした後は、有効化されている場合はソースの tar
アーカイブを*{ソース}*段階で作成します。

各段階で、コマンドの適用には特定の順序があります。そのように配置することで、独自化を合理的に階層化できるようになります。例えば *{chroot}*
段階ではどのパッケージをインストールするよりも前に preseed
が適用され、ローカルに収録したどのファイルをコピーするよりも前にパッケージをインストールし、フックはその後に、収録内容を全て配置してから実行されます。

2~ ファイルによる lb config の補完

#{lb config}# は設定の骨格を #{config/}# ディレクトリに作成しますが、目標を実現するには #{config/}#
サブディレクトリ以下に追加のファイルを提供する必要があるかもしれません。設定のどこにファイルを置くかにより、Live
システムのファイルシステムやバイナリイメージのファイルシステムにコピーされるか、コマンドラインオプションとして渡す方法では扱いにくいビルド時のシステム設定を提供することになります。独自のパッケージ一覧やアートワーク、あるいはビルド時またはブート時に実行するフックスクリプト等を収録し、debian-live
は既にかなりの柔軟性がありますが、自身のコードでそれを後押しすることができます。

2~ 独自化タスク

以下の章ではユーザがよく行う類の独自化タスクをほんの一部ですがまとめています:
{インストールするパッケージの独自化}#customizing-package-installation
{収録内容の独自化}#customizing-contents
{ロケールと言語の独自化}#customizing-locale-and-language
