Live システムマニュアル

About

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

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

2. Live システムプロジェクトについて

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

ユーザ

3. Installation

3.1 Requirements
3.2 Installing live-build
3.2.1 From the Debian repository
3.2.2 From source
3.2.3 From 'snapshots'
3.3 Installing live-boot and live-config
3.3.1 From the Debian repository
3.3.2 From source
3.3.3 From 'snapshots'

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

5. Overview of tools

5.1 The live-build package
5.1.1 The lb config command
5.1.2 The lb build command
5.1.3 The lb clean command
5.2 The live-boot package
5.3 The live-config package

6. Managing a configuration

6.1 Dealing with configuration changes
6.1.1 Why use auto scripts? What do they do?
6.1.2 Use example auto scripts
6.2 Clone a configuration published via Git

7. 独自化の概要

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

8. Customizing package installation

8.1 Package sources
8.1.1 Distribution, archive areas and mode
8.1.2 Distribution mirrors
8.1.3 Distribution mirrors used at build time
8.1.4 Distribution mirrors used at run time
8.1.5 Additional repositories
8.2 Choosing packages to install
8.2.1 Package lists
8.2.2 Using metapackages
8.2.3 Local package lists
8.2.4 Local binary package lists
8.2.5 Generated package lists
8.2.6 Using conditionals inside package lists
8.2.7 Removing packages at install time
8.2.8 Desktop and language tasks
8.2.9 Kernel flavour and version
8.2.10 Custom kernels
8.3 Installing modified or third-party packages
8.3.1 Using packages.chroot to install custom packages
8.3.2 Using an APT repository to install custom packages
8.3.3 Custom packages and APT
8.4 Configuring APT at build time
8.4.1 Choosing apt or aptitude
8.4.2 Using a proxy with APT
8.4.3 Tweaking APT to save space
8.4.4 Passing options to apt or aptitude
8.4.5 APT pinning

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. Customizing run time behaviours

10.1 Customizing the live user
10.2 Customizing locale and language
10.3 Persistence
10.3.1 The persistence.conf file
10.3.2 Using more than one persistence store

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

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

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 ポイントリリース告知用テンプレート

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 翻訳の手がかり

Live システムマニュアル

プロジェクト

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

この章では live システムで利用されているコーディングスタイルについて述べます。

15.1 互換性

  • Bash シェル固有の書式や記号を使わないでください。例えば配列構造の利用など
  • POSIX のサブセットだけを使ってください - 例えば `foo` よりも $(foo) を使ってください。
  • 'sh -n' と 'checkbashisms' によりスクリプトをチェックできます。
  • シェルコードが全て確実に 'set -e' で動作するようにしてください。
  • 15.2 インデント

  • 常にスペースよりもタブを使います。
  • 15.3 改行

  • 通常、行は最大で80文字までです。
  • 「Linux 式」で改行します:
  • 悪い例:

    if foo; then
             bar
    fi

    良い例:

    if foo
    then
             bar
    fi

  • 関数についても同様です:
  • 悪い例:

    Foo () {
             bar
    }

    良い例:

    Foo ()
    {
             bar
    }

    15.4 変数

  • 変数は常に大文字です。
  • live-build で利用する変数は先頭を常に LB_ で始めます。
  • live-build 内部の一時変数は _LB_ で始めます。
  • live-build のローカル変数は __LB_ で始めます。
  • live-config 中のブートパラメータにつながる変数は LIVE_ で始めます。
  • live-config 中の他の変数は全て _ で始めます。
  • 変数は大括弧「{}」で囲みます。例えば $FOO ではなく ${FOO} とします。
  • 空白文字の可能性を考慮し、常に引用符を使って変数を保護します: ${FOO} ではなく "${FOO}" とします。
  • 一貫性を保つため、変数に値を割り当てるときは常に引用符を使います:
  • 悪い例:

    FOO=bar

    良い例:

    FOO="bar"

  • 複数の変数を使うときは表現全体を引用符で囲みます:
  • 悪い例:

    if [ -f "${FOO}"/foo/"${BAR}"/bar ]
    then
             foobar
    fi

    良い例:

    if [ -f "${FOO}/foo/${BAR}/bar" ]
    then
             foobar
    fi

    15.5 その他

  • sed を呼び出すときは区切り文字に「#{|}#」を使います。例えば「#{sed -e 's|foo|bar|'}#」
  • 比較やテストには test コマンドを使わず、「#{[}#」や「#{]}#」を使います。例えば「#{if [ -x /bin/foo ]; ...}#」を使い、「#{if test -x /bin/foo; ...}#」は使いません。
  • test よりも case の方が読みやすく実行速度も早いため、可能な部分ではこちらを使います。
  • ユーザの環境と混ざる可能性を限定するため、関数の名前には大文字を使います。