Live manual

Live Systems


<< previous toc next >>

Live システムマニュアル

About

このマニュアルについて

1. このマニュアルについて

1.1 せっかちな人向け
1.2 用語
1.3 著者
1.4 この文書への貢献
1.4.1 変更の適用
1.4.2 翻訳

Live Systems Projectへの貢献

2. Live Systems Projectについて

2.1 動機
2.1.1 現在の Live システムの問題点
2.1.2 自身の Live システムを作成する理由
2.2 哲学
2.2.1 Debian「main」の変更しないパッケージしか使いません
2.2.2 Live システム固有のパッケージ設定はありません
2.3 連絡先

ユーザ

インストール

3. インストール

3.1 要件
3.2 live-build のインストール
3.2.1 Debian リポジトリから
3.2.2 ソースから
3.2.3 「スナップショット」から
3.3 live-boot と live-config のインストール
3.3.1 Debian リポジトリから
3.3.2 ソースから
3.3.3 「スナップショット」から

基本

4. 基本

4.1 Live システムとは何?
4.2 ビルド済みイメージのダウンロード
4.3 ウェブ Live イメージビルダーの利用
4.3.1 ウェブビルダーの使い方と注意
4.4 最初の段階: ISO hybrid イメージのビルド
4.5 ISO hybrid Live イメージの利用
4.5.1 ISOイメージの実際のメディアへの書き込み
4.5.2 ISO hybrid イメージのUSBメモリへのコピー
4.5.3 USBメモリの空きスペースの利用
4.5.4 Live メディアのブート
4.6 仮想マシンを利用したテスト
4.6.1 QEMU でのISOイメージのテスト
4.6.2 VirtualBox でのISOイメージのテスト
4.7 HDDイメージのビルド及び利用
4.8 netboot イメージのビルド
4.8.1 DHCP サーバ
4.8.2 TFTP サーバ
4.8.3 NFSサーバ
4.8.4 ネットワーク経由のブートをテストする方法
4.8.5 Qemu
4.9 ウェブブート
4.9.1 ウェブブートファイルの取得
4.9.2 ウェブブートイメージの起動

ツールの概要

5. ツールの概要

5.1 live-build パッケージ
5.1.1 lb config コマンド
5.1.2 lb build コマンド
5.1.3 lb clean コマンド
5.2 live-boot パッケージ
5.3 live-config パッケージ

設定の管理

6. 設定の管理

6.1 設定変更への対応
6.1.1 自動化スクリプトを使う理由は? それは何をするもの?
6.1.2 自動化スクリプトの使用例
6.2 Git経由で公開されている設定の複製

収録内容の独自化

7. 独自化の概要

7.1 ビルド時とブート時の設定
7.2 ビルド段階
7.3 ファイルによる lb config の補完
7.4 独自化タスク

インストールするパッケージの独自化

8. インストールするパッケージの独自化

8.1 パッケージソース
8.1.1 ディストリビューション、アーカイブ領域とモード
8.1.2 ディストリビューションミラー
8.1.3 ビルド時に利用するディストリビューションミラー
8.1.4 実行時に利用するディストリビューションミラー
8.1.5 追加リポジトリ
8.2 インストールするパッケージの選択
8.2.1 パッケージ一覧
8.2.2 メタパッケージの利用
8.2.3 ローカルパッケージ一覧
8.2.4 ローカルバイナリパッケージ一覧
8.2.5 生成されたパッケージ一覧
8.2.6 条件付き内部パッケージ一覧の利用
8.2.7 インストール時のパッケージの削除
8.2.8 デスクトップ及び言語タスク
8.2.9 カーネルのフレーバー (種類) とバージョン
8.2.10 独自のカーネル
8.3 変更したあるいはサードパーティ製パッケージのインストール
8.3.1 packages.chroot を利用した独自のパッケージのインストール
8.3.2 APTリポジトリを利用した独自パッケージのインストール
8.3.3 独自パッケージとAPT
8.4 ビルド時のAPT設定
8.4.1 apt と aptitude の選択
8.4.2 APTでのプロキシの利用
8.4.3 APTの調整による容量節約
8.4.4 apt や aptitude へのオプションの受け渡し
8.4.5 APTのピン止め

収録内容の独自化

9. 収録内容の独自化

9.1 Includes
9.1.1 Live/chroot ローカルインクルード
9.1.2 バイナリローカルインクルード
9.2 フック
9.2.1 Live/chroot ローカルフック
9.2.2 ブート時フック
9.2.3 バイナリローカルフック
9.3 Debconf 質問の preseed

実行時の挙動の独自化

10. 実行時の挙動の独自化

10.1 live ユーザの独自化
10.2 ロケールと言語の独自化
10.3 保持機能
10.3.1 persistence.conf ファイル
10.3.2 保持先を複数使いたい場合
10.3.3 暗号化した保持先の利用

バイナリイメージの独自化

11. バイナリイメージの独自化

11.1 ブートローダ
11.2 ISO メタ情報

Debian インストーラの独自化

12. Debian インストーラの独自化

12.1 Debian インストーラの種類
12.2 preseed による Debian インストーラの独自化
12.3 Debian インストーラの収録内容の独自化

プロジェクト

プロジェクトへの貢献

13. プロジェクトへの貢献

13.1 変更を加える

バグの報告

14. バグの報告

14.1 既知の問題
14.2 最初から再ビルド
14.3 最新のパッケージを使う
14.4 情報収集
14.5 可能であれば失敗している状況を分離する
14.6 正しいパッケージに対してバグを報告する
14.6.1 ビルド時のパッケージ収集中
14.6.2 ビルド時のパッケージインストール中
14.6.3 ブート時
14.6.4 実行時
14.7 調査してください
14.8 バグの報告先

コーディングスタイル

15. コーディングスタイル

15.1 互換性
15.2 インデント
15.3 改行
15.4 変数
15.5 その他

手順

16. 手順

16.1 主要リリース
16.2 ポイントリリース
16.2.1 ある Debian リリースの最後のポイントリリース
16.2.2 ポイントリリース告知用テンプレート

Gitリポジトリ

17. Gitリポジトリ

17.1 リポジトリを複数処理

18. 例

18.1 例の使用
18.2 チュートリアル 1: デフォルトイメージ
18.3 チュートリアル 2: ウェブブラウザユーティリティ
18.4 チュートリアル 3: 私的イメージ
18.4.1 最初の改訂
18.4.2 2回目の改訂
18.5 VNC 公衆クライアント
18.6 128MB USB メモリ向けの基本イメージ
18.7 地域化した GNOME デスクトップとインストーラ

付録

スタイルガイド

19. スタイルガイド

19.1 著者向けガイドライン
19.1.1 言語特性
19.1.2 手順
19.2 翻訳者向けガイドライン
19.2.1 翻訳の手がかり

Metadata

SiSU Metadata, document information

Live システムマニュアル

収録内容の独自化

9. 収録内容の独自化

この章では収録するパッケージを単に選択だけにとどまらない、微調整まで含めた Live システムの収録内容の独自化について説明します。インクルードにより Live システムイメージの任意のファイルを追加、置換できるようになり、フックによりビルド時及びブート時の異なる段階で任意のコマンドを実行できるようになり、preseed が debconf の質問に対する回答を提供することでパッケージのインストール時に設定できるようになります。

9.1 Includes

理想的なのは変更されていないパッケージにより提供されるファイルを Live システムで完全に収録することではありますが、ファイルを使って内容をいくらか提供あるいは変更することが便利なこともあります。インクルードを使うと Live システムイメージ中の任意のファイルを追加 (または置換) することができるようになります。live-build ではこれを使う仕組みを2つ提供しています:

「Live」及び「バイナリ」イメージの違いについてのさらなる情報は、 用語 を見てください。

9.1.1 Live/chroot ローカルインクルード

chroot ローカルインクルードを使って chroot/Live ファイルシステム中のファイルの追加や置換を行い、それを Live システムで利用することができます。代表的な使い方として Live システムで利用するユーザディレクトリ (/etc/skel) の骨格を構成させ、live ユーザのホームディレクトリを作成するということがあります。別の使い方としては設定ファイルを提供し、そのまま加工せずイメージ中に追加または置換するということがあります。加工が必要な場合は Live/chroot ローカルフック を見てください。

ファイルを収録するには config/includes.chroot ディレクトリに単純に追加します。このディレクトリが Live システムのルートディレクトリ / に対応します。例えば Live システムにファイル /var/www/index.html を追加する場合:

$ mkdir -p config/includes.chroot/var/www
$ cp /path/to/my/index.html config/includes.chroot/var/www

それから設定は以下の配置になっているでしょう:

-- config
    [...]
     |-- includes.chroot
     |   `-- var
     |       `-- www
     |           `-- index.html
    [...]

chroot ローカルインクルードはパッケージがインストールされた後にインストールされるので、パッケージによりインストールされたファイルは上書きされます。

9.1.2 バイナリローカルインクルード

文書やビデオ等の内容をメディアのファイルシステムに収録して、メディアを差し込んで Live システムをブートしなくてもすぐにアクセスできるようにするのにバイナリローカルインクルードを使えます。これは chroot ローカルインクルードと同様の方法で動作します。例えばファイル ~/video_demo.* が Live システムの実演ビデオで、リンク先の HTML 索引ページでそれを説明しているものと仮定しましょう。単純に内容を config/includes.binary/ にコピーします:

$ cp ~/video_demo.* config/includes.binary/

これでファイルは Live メディアの最上位ディレクトリに現れます。

9.2 フック

フックではビルドの chroot 及び バイナリの段階でコマンドを実行し、イメージを独自化できます。

9.2.1 Live/chroot ローカルフック

chroot の段階でコマンドを実行するにはファイル名末尾が .hook.chroot でコマンドを収録するフックスクリプトを config/hooks/ ディレクトリに作成します。フックは残りの chroot 設定の適用後に chroot 内で実行されるため、フックの実行に必要なパッケージやファイルを全て確実に設定に収録することを忘れないようにしてください。代表的な chroot の様々な独自化タスクについて /usr/share/doc/live-build/examples/hooks で提供されている chroot フックスクリプトの例を確認してください。この例からコピーやシンボリックリンクを作成して自分の設定で使えます。

9.2.2 ブート時フック

ブート時にコマンドを実行するために man ページの「独自化」節で説明されている live-config フックを提供することができます。/lib/live/config/ で提供している live-config 独自のフックを、実行順を示す頭の番号に注意して調べてください。それから自分のフックに実行順を示す適切な番号を頭に付けて、config/includes.chroot/lib/live/config/ 内の chroot ローカルインクルードか、 変更したあるいはサードパーティのパッケージのインストール で説明している独自パッケージとして提供してください。

9.2.3 バイナリローカルフック

バイナリ段階でコマンドを実行するには、コマンドを収録するフックスクリプトを、末尾に .hook.binary を付けて config/hooks/ ディレクトリに作成します。このフックは他の binary_checksums を除いたバイナリコマンドを全て実行した後の、バイナリコマンドのほぼ最後に実行されます。フック内のコマンドは chroot 内で実行されるのではないため、ビルドツリー外のファイルを変更することのないように注意してください。変更するとビルドシステムが機能しなくなるかもしれません! 代表的なバイナリ独自化タスクについて /usr/share/doc/live-build/examples/hooks で提供されているバイナリフックスクリプトの例を確認してください。この例からコピーやシンボリックリンクを作成して自分の設定で使えます。

9.3 Debconf 質問の preseed

config/preseed/ ディレクトリにある、末尾が段階 (.chroot.binary) に続いて .cfg で終わるファイルは debconf の preseed ファイルと見なされ、対応する段階で live-build により debconf-set-selections を使ってインストールされます。

debconf のさらなる情報については、debconf パッケージの debconf(7) を見てください。



<< previous toc next >>