Live manual

Debian Live

<< previous toc next >>

Debian Live Manual

設定の管理

6. 設定の管理

この章では live-build ソフトウェアと Live イメージ自体の両方について、最初の作成から継続的な改訂、継続的なリリースを通して Live 設定を管理する方法を説明します。

6.1 設定変更への対応

Live 設定が最初の試行で全て上手くいくのはまれです。一度だけビルドするのならコマンドラインから lb config オプションを渡すだけで済むかもしれませんが、満足のいくまでオプションを改訂してビルドを繰り返す方が標準的です。そうした変更を支援するには設定を確実に一貫した状態に保つ自動化スクリプトが必要となるでしょう。

6.1.1 自動化スクリプトを使う理由は? それは何をするもの?

lb config コマンドに渡されたオプションはされている他の多数のオプションと共にデフォルト値として config/* ファイルに保管されます。その後に lb config を実行した場合最初のオプションを基にしてデフォルトのオプションはリセットされません。そのため、例えば --binary-images に新しい値を指定して再び lb config を実行した場合以前指定していた種類のイメージに依存しているオプションのデフォルト値は新しく指定した種類のイメージでは使えなくなるかもしれません。そのファイルが読み取りや変更の対象からも外れているかもしれません。これを使うと100以上のオプションの値を保管するため、実際に指定されたオプションを誰でも確認できます。最後に、lb config を実行した後に live-build をアップグレードして、オプションの名前が変更されていた場合、config/* には古いオプションが有効ではなくなった後に名付けられた変数も収録されます。

以上に挙げた理由により auto/* スクリプトにより楽が出来るようになります。このスクリプト群は lb configlb buildlb clean コマンドの単純なラッパーで、設定の管理を支援するように設計されています。auto/config スクリプトは lb config コマンドと希望したオプションを全て保管し、auto/clean スクリプトは設定用変数値を収録するファイルを削除し、auto/build スクリプトは各ビルドの build.log を維持します。このスクリプト群はそれぞれ対応する lb コマンドの実行時に自動的に実行されます。このスクリプト群を利用することで設定が見やすくなり、改訂を越えて内部的に一貫した状態が維持されます。また、更新された文書を読んだ後に live-build をアップグレードすれば変更の必要があるオプションを識別、修正するのははるかに容易になるでしょう。

6.1.2 自動化スクリプトの使用例

便宜のため live-build には例の自動化シェルスクリプトが付属していてコピーして編集できるようになっています。デフォルトの設定を新しく作成してから例をコピーしましょう:

$ mkdir mylive && cd mylive && lb config
$ mkdir auto
$ cp /usr/share/doc/live-build/examples/auto/* auto/

auto/config を編集して、希望に合わせてオプションを追加します。例えば:

#!/bin/sh
lb config noauto \
     --architectures i386 \
     --linux-flavours 686-pae \
     --binary-images hdd \
     --mirror-bootstrap http://ftp.ch.debian.org/debian/ \
     --mirror-binary http://ftp.ch.debian.org/debian/ \
     "${@}"

これで、lb config を使うたびに auto/config がそのオプションを基にして設定をリセットします。オプションを変更したいときには lb config に渡すのではなくこのファイルに書かれているものを編集します。lb clean を使うと auto/cleanconfig/* ファイルを、ビルドした他のものとあわせて削除します。最後に、lb build を使うとビルド時のログは auto/build により build.log に書かれます。

注意: ここで特別な noauto パラメータを使い、auto/config を別に呼び出すことのないようにして無限再帰を回避しています。編集時に不注意で削除することのないようにしてください。また、読みやすくするために上記の例で示したように lb config コマンドを複数行に分割する場合は次の行に続く各行末のバックスラッシュ (\) を忘れることのないようにしてください。

6.2 Git経由で公開されている設定の複製

Use the lb config --config option to clone a Git repository that contains a live system configuration. If you would like to base your configuration on one maintained by the Debian Live Project, look at ‹https://salsa.debian.org/live-team/› for the repository named live-images in the category Subgroups and projects. This repository contains the configurations for the live systems prebuilt images.

例えば標準的なイメージをビルドするには live-images リポジトリを使って

$ mkdir live-images && cd live-images
$ lb config --config https://salsa.debian.org/live-team/live-images.git::debian
$ cd images/standard

のようにし、必要に応じて auto/config やその他 config ツリーにあるものを必要なだけ編集します。例えば非公式の non-free ビルド済みイメージは単純に --archive-areas "main contrib non-free" を追加することで作成されます。

オプションとしてGit設定でショートカットを定義することもできます。${HOME}/.gitconfig

[url "https://salsa.debian.org/live-team/"]
         insteadOf = lso:

This enables you to use lso: anywhere you need to specify the address of a salsa.debian.org git repository. If you also drop the optional .git suffix, starting a new image using this configuration is as easy as:

$ lb config --config lso:live-images::debian

live-images リポジトリ全体を複製すると数種類のイメージの設定を取得します。最初のイメージが出来上がってから異なるイメージをビルドしたい場合は別のディレクトリに移動して繰り返し、必要に応じて変更を加えてください。

どの場合も、イメージのビルド lb build は毎回スーパーユーザで行う必要があることを覚えておいてください。


<< previous toc next >>