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 システムマニュアル

About

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

このマニュアルは Live システムプロジェクトと、特に Debian 8.0「jessie」リリースに向けてプロジェクトにより作られるソフトウェアに関連するあらゆる文書にアクセスするための一元的な起点となります。最新版は常に ‹http://live-systems.org/› にあります。

live マニュアルは第一に live システムのビルドの支援を扱い、エンドユーザ向けの話題は扱いませんが、エンドユーザにとって有用な情報がいくらかあるかもしれません: 基本 ではビルド済みイメージのダウンロードや、ウェブビルダーを使うかシステム上の live ビルドを直接実行することでメディアやネットワークからイメージをブートさせる準備について触れています。 実行時の挙動の変更 では、キーボードレイアウトやロケールの選択、再起動をまたいで状態を引き継がせる仕組みの利用等、ブートプロンプトで指定できるオプションをいくらか説明しています。

提示されているコマンドの一部にはスーパーユーザ権限で実行しなければならないものもあります。これは su で root ユーザになるか、sudo を使って実行します。権限のないユーザで実行できるコマンドと実行にスーパーユーザ権限を必要とするコマンドは、それぞれのコマンドの前に $ があるか # があるかで区別します。この記号はコマンドの一部ではありません。

1.1 せっかちな人向け

このマニュアルにある全てが、少なくとも一部のユーザにとって重要だと確信していますが、触れている内容が多岐にわたることや、詳細を掘り下げるよりも先に、まずはソフトウェアをうまく使う経験をしたいであろうということをわかっています。したがって、以下の順に読み進めることを提案します。

最初にこの章 このマニュアルについて を始めから 用語 節まで読んでください。次に 節の最初にある3つのチュートリアルまで飛ばします。ここではイメージのビルドと独自化の基本について教えるようになっています。 例の使用 を最初に読み、引き続いて チュートリアル 1: デフォルトイメージチュートリアル 2: ウェブブラウザユーティリティ を、最後に チュートリアル 3: 私的イメージ を読んでください。チュートリアル群を終えるまでに、live システムでできることが何なのかわかってくるでしょう。

それから戻り、マニュアルをもっと掘り下げて学習していくことを勧めています。恐らく、その次は 基本 を読み、 netboot イメージのビルド に軽く目を通して、 独自化概要 とそれに続く章を読んで終えるのがいいでしょう。この時点までに、live システムでできることを知ることがすっかり面白くなってマニュアルの残りを隅から隅まで読む気になっていることを期待します。

1.2 用語

  • Live システム: ハードドライブにインストールしなくてもブートできるオペレーティングシステムです。Live システムはそのコンピュータのハードドライブに既にインストールされているローカルのオペレーティングシステムやファイルを、そうするように指示しない限り改変しません。Live システムは通常、CD や DVD、USB メモリ等のメディアからブートされます。ネットワーク越しにブートできるものもあります。
  • Live メディア: live システムとは異なり、live メディアは live-build により作成されたバイナリを書き込んでその live システムをブートするのに利用する CD や DVD、USB メモリを指します。もっと広い意味では、この語はネットワークブートファイルの位置等、live システムをブートする目的でこのバイナリが置かれている任意の場所を指すこともあります。
  • Live システムプロジェクト: live-bootlive-buildlive-configlive-toolslive-manual パッケージを特に保守しているプロジェクトです。
  • Live システム: CD や DVD、USB メモリ、あるいはネットワーク (netboot イメージ経由で) やインターネット越しに (ブートパラメータ fetch=URL 経由で) ブートできる live システムです。
  • ホストシステム: live システムの作成に利用される環境です。
  • ターゲットシステム: live システムの実行に利用される環境です。
  • live-boot: live システムのブートに利用するスクリプト集です。
  • live-build: 独自化した live システムのビルドに利用するスクリプト集です。
  • live-config: live システムのブート処理中の設定に利用するスクリプト集です。
  • live-tools: 実行中の live システム内で有用なタスクを実行するのに利用する追加のスクリプト集です。
  • live-manual: この文書は live-manual というパッケージで保守されています。
  • Debian Installer (d-i): 公式の Debian ディストリビューション用インストールシステムです。
  • ブートパラメータ: bootloader プロンプトで入力し、カーネルや live-config の動作を変更できるパラメータです。
  • chroot: chroot プログラム。chroot(8) により、単一のシステム上で異なる GNU/Linux 環境を再起動せずに並行して実行できるようになります。
  • バイナリイメージ: バイナリ.iso やバイナリ.img 等、live システムを収録するファイルです。
  • ターゲットディストリビューション: live システムがベースとするディストリビューションです。これはホストシステムのディストリビューションとは別のものです。
  • 安定版 (stable)/テスト版 (testing)/不安定版 (unstable): 安定版 (stable) ディストリビューション、現在のコード名wheezyには、公式にリリースされた最新の Debian ディストリビューションが含まれます。テスト版 (testing) ディストリビューション、一時的コード名 jessie は次期*{安定版 (stable)}* リリースを集める場です。このディストリビューションを使う主な利点はソフトウェアのバージョンが*{安定版 (stable)}* リリースと比べて新しいということです。unstable ディストリビューション、恒久的コード名 sid は Debian の開発が活発に行われる場です。通常、このディストリビューションは開発者や、苦労をいとわず最新版を使いたい人が利用します。マニュアル全体を通して、リリースを指すのに jessiesid 等のコード名を使っています。それこそが、ツール自体がサポートしているものだからです。
  • 1.3 著者

    著者一覧 (アルファベット順):

  • Ben Armstrong
  • Brendan Sleight
  • Carlos Zuferri
  • Chris Lamb
  • Daniel Baumann
  • Franklin Piat
  • Jonas Stein
  • Kai Hendry
  • Marco Amadori
  • Mathieu Geli
  • Matthias Kirschner
  • Richard Nelson
  • Trent W. Buck
  • 1.4 この文書への貢献

    このマニュアルの作成はコミュニティ中心のプロジェクトで、改善提案や貢献は全て、非常に歓迎されます。コミットキーの取得方法や良いコミットを行うための詳細な情報については、 プロジェクトへの貢献 節を見てください。

    1.4.1 変更の適用

    マニュアルの英語版に変更を加える場合、manual/en/ にある正しいファイルを編集しないといけませんが、その貢献を提出する前に出来上がりを確認してください。Live マニュアルの出来上がりを確認する際は、

    # apt-get install make po4a ruby ruby-nokogiri sisu-complete texlive-generic-recommended

    を実行してビルドに必要なパッケージがインストールされていることを確認してください。Git により取得した最上位のディレクトリから

    $ make build

    を実行して live-manual をビルドすることができます。翻訳された全言語のマニュアルをビルドするのは時間がかかるため、見直しの際は1つの言語だけをビルドするといいでしょう。例えば

    $ make build LANGUAGES=en

    を実行します。文書の種類を指定してビルドすることもできます。例えば

    $ make build FORMATS=pdf

    あるいは両方を組み合わせて

    $ make build LANGUAGES=de FORMATS=html

    修正が済んで全て良くなったらコミットですが、そのコミットで翻訳を更新するのでない限り make commit を使わないようにしてください。また、その場合にマニュアルの英語版への変更と翻訳を一度にコミットするのではなく、それぞれ分けてコミットするようにしてください。さらなる詳細については 翻訳 節を見てください。

    1.4.2 翻訳

    live-manual を翻訳するには、新しく最初から翻訳を開始するのか、それとも既に存在する翻訳について作業を続けるのか、によって以下の手順を追ってください:

  • 新しく最初から翻訳を開始する
  • manual/pot/ にある about_manual.ssi.potabout_project.ssi.potindex.html.in.potファイルを (poedit 等) 好みのエディタで自分の言語に翻訳し、整合性確認のため翻訳した .po ファイルをメーリングリストに送ってください。live-manual の整合性確認では .po ファイルが 100% 翻訳されていることだけではなく誤りの可能性を検出します。
  • 確認が済んだ後は、自動ビルドでの新しい言語の有効化は最初の翻訳済みファイルを manual/po/${言語}/ に追加して make commit を実行すれば十分です。それから manual/_sisu/home/index.html を編集して言語の名前と () 内にその英語名を追加してください。
  • 既に存在する翻訳について作業を続ける
  • 対象の言語が既に追加されている場合は、(poedit 等) 好みのエディタで manual/po/ にある残りの po ファイルを手当たり次第に翻訳を続けてください。
  • 翻訳済みマニュアルが .po ファイルから更新されていることを確実にするためには make commit を行う必要があることと、git add .git commit -m "Translating..."git push を実行する前に make build を実行すると変更を確認できるということを忘れないでください。make build には相当の時間がかかる可能性があるため、 変更の適用 で説明しているように、見直しの際は1つの言語だけをビルドして確認できることを覚えておくといいでしょう。
  • make commit を実行するとテキストがいくらか流れていくのを目にするでしょう。これは基本的に処理状態についての情報を示すメッセージで、Live マニュアルの改善のために何ができるのかということを知る手がかりにもなります。致命的エラーが起きていない限り、通常はそのまま進めて貢献を提出できます。

    live マニュアルには、翻訳者が未翻訳や変更された文字列を検索するのを大きく支援する2つのユーティリティが付属しています。1つ目は「make translate」です。これは各 .po ファイル中にどれだけ未翻訳文字列があるのか、詳細を報告するスクリプトを実行します。2つ目は「make fixfuzzy」で、こちらは変更された文字列だけを対象としますが、1つ1つ見つけて修正する作業を支援します。

    こういったユーティリティはコマンドラインで翻訳作業を行うのには実際に役立つかもしれませんが、推奨する作業方法は poedit のような専用ツールの利用だということに留意してください。Debian 地域化 (l10n) 文書や、特に live マニュアル向けの 翻訳者向けのガイドライン を読むのも良いことです。

    注意: git ツリーを push する前に make clean を実行してきれいにすることができます。この手順は .gitignore ファイルのおかげで強制ではありませんが、ファイルを意図せずコミットすることを避けられる良い実践となります。