Live manual Debian Live

# Debian Live Manual

# 設定の管理

328

# 6. 設定の管理

329

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

330

6.1 設定変更への対応

331

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

332

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

333

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

334

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

335

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

336

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

337

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

338

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

339

#!/bin/sh
lb config noauto \
--distribution stable \
--binary-images hdd \
--mirror-bootstrap http://ftp.ch.debian.org/debian/ \
--mirror-binary http://ftp.ch.debian.org/debian/ \
"${@}"

340

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

341

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

342

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

343

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.

344

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

345

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

346

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

347

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

348

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

349

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:

350

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

351

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

352

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