:B~ このマニュアルについて 1~about-manual このマニュアルについて このマニュアルは ${project}と、特に Debian 9.0「${stable}」リリースに向けてプロジェクトにより作られるソフトウェアに関連するあらゆる文書にアクセスするための一元的な起点となります。最新版は常に http://live-systems.org/ にあります。 Live マニュアルは第一に Live システムのビルドの支援を扱い、エンドユーザ向けの話題は扱いませんが、エンドユーザにとって有用な情報がいくらかあるかもしれません: {基本}#the-basics ではビルド済みイメージのダウンロードや、ウェブビルダーを使うかシステム上の live-build を直接実行することでメディアやネットワークからイメージをブートさせる準備について触れています。{実行時の挙動の変更}#customizing-run-time-behaviours では、キーボードレイアウトやロケールの選択、再起動をまたいで状態を引き継がせる仕組みの利用等、ブートプロンプトで指定できるオプションをいくらか説明しています。 提示されているコマンドの一部にはスーパーユーザ権限で実行しなければならないものもあります。これは #{su}# で root ユーザになるか、#{sudo}# を使って実行します。権限のないユーザで実行できるコマンドと実行にスーパーユーザ権限を必要とするコマンドは、それぞれのコマンドの前に #{$}# があるか #{#}# があるかで区別します。この記号はコマンドの一部ではありません。 2~ せっかちな人向け このマニュアルにある全てが、少なくとも一部のユーザにとって重要だと確信していますが、触れている内容が多岐にわたることや、詳細を掘り下げるよりも先に、まずはソフトウェアをうまく使う経験をしたいであろうということをわかっています。したがって、以下の順に読み進めることを提案します。 最初にこの章{このマニュアルについて}#about-manual を始めから{用語}#terms 節まで読んでください。次に{例}#examples 節の最初にある3つのチュートリアルまで飛ばします。ここではイメージのビルドと独自化の基本について教えるようになっています。{例の使用}#using-the-examples を最初に読み、引き続いて {チュートリアル 1: デフォルトイメージ}#tutorial-1 と {チュートリアル 2: ウェブブラウザユーティリティ}#tutorial-2 を、最後に {チュートリアル 3: 私的イメージ}#tutorial-3 を読んでください。チュートリアル群を終えるまでに、Live システムでできることが何なのかわかってくるでしょう。 それから戻り、マニュアルをもっと掘り下げて学習していくことを勧めています。恐らく、その次は{基本}#the-basics を読み、{netboot イメージのビルド}#building-netboot-image に軽く目を通して、{独自化概要}#customization-overview とそれに続く章を読んで終えるのがいいでしょう。この時点までに、Live システムでできることを知ることがすっかり面白くなってマニュアルの残りを隅から隅まで読む気になっていることを期待します。 2~terms 用語 _* *{Live システム}*: ハードドライブにインストールしなくてもブートできるオペレーティングシステムです。Live システムはそのコンピュータのハードドライブに既にインストールされているローカルのオペレーティングシステムやファイルを、そうするように指示しない限り改変しません。Live システムは通常、CDやDVD、USBメモリ等のメディアからブートされます。ネットワーク越しにブートできるもの (netboot イメージ経由、{netboot イメージのビルド}#building-netboot-image 参照) やインターネット越しにブートできるもの (起動パラメータ #{fetch=URL}# 経由、{Webbooting}#webbooting 参照) もあります。 _* *{Live メディア}*: Live システムとは異なり、Live メディアは live-build により作成されたバイナリを書き込んでその Live システムをブートするのに利用するCDやDVD、USBメモリを指します。もっと広い意味では、この語はネットワークブートファイルの位置等、Live システムをブートする目的でこのバイナリが置かれている任意の場所を指すこともあります。 _* *{${project}}*: live-boot、live-build、live-config、live-tools、live-manual パッケージを特に保守しているプロジェクトです。 _* *{ホストシステム}*: 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 環境を再起動せずに並行して実行できるようになります。 _* *{バイナリイメージ}*: live-image-i386.hybrid.iso や live-image-i386.img 等、Live システムを収録するファイルです。 _* *{ターゲットディストリビューション}*: Live システムがベースとするディストリビューションです。これはホストシステムのディストリビューションとは別のものです。 _* *{安定版 (stable)/テスト版 (testing)/不安定版 (unstable)}*: *{安定版 (stable)}* ディストリビューション、現在のコード名${stable}には、公式にリリースされた最新の Debian ディストリビューションが含まれます。*{テスト版 (testing)}* ディストリビューション、一時的コード名 ${testing} は次期*{安定版 (stable)}* リリースを集める場です。このディストリビューションを使う主な利点はソフトウェアのバージョンが*{安定版 (stable)}* リリースと比べて新しいということです。*{unstable}* ディストリビューション、恒久的コード名 sid は Debian の開発が活発に行われる場です。通常、このディストリビューションは開発者や、苦労をいとわず最新版を使いたい人が利用します。マニュアル全体を通して、リリースを指すのに ${testing} や sid 等のコード名を使っています。それこそが、ツール自体がサポートしているものだからです。 2~ 著者 著者一覧 (アルファベット順): _* 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 2~how-to-contribute この文書への貢献 このマニュアルの作成はコミュニティ中心のプロジェクトで、改善提案や貢献は全て、非常に歓迎されます。コミットキーの取得方法や良いコミットを行うための詳細な情報については、{プロジェクトへの貢献}#contributing-to-project 節を見てください。 3~applying-changes 変更の適用 マニュアルの英語版に変更を加える場合、#{manual/en/}# にある正しいファイルを編集しないといけませんが、その貢献を提出する前に出来上がりを確認してください。Live マニュアルの出来上がりを確認する際は、 code{ # apt-get install make po4a ruby ruby-nokogiri sisu-complete }code を実行してビルドに必要なパッケージがインストールされていることを確認してください。Gitにより取得した最上位のディレクトリから code{ $ make build }code サポートされている全言語のマニュアルをビルドするのにはある程度時間がかかるため、著者が英語版のマニュアルに追加した新しい文書について見直す場合は見直し用に処理を省略させると好都合かもしれません。#{PROOF=1}# を使うと HTML 形式の live-manual をビルドしますが分割版の HTML ファイルを作成しません。#{PROOF=2}# を使うとPDF形式の live-manual をビルドしますがA4とレター縦だけです。これが #{PROOF=}# を指定すると時間の節約が見込める理由です。例えば: code{ $ make build PROOF=1 }code 翻訳の一つを見直す場合に一つの言語だけをビルドすることもできます。例えば: code{ $ make build LANGUAGES=ja }code を実行します。文書の種類を指定してビルドすることもできます。例えば code{ $ make build FORMATS=pdf }code あるいは両方を組み合わせて code{ $ make build LANGUAGES=de FORMATS=html }code 修正が済んで全て良くなったらコミットですが、そのコミットで翻訳を更新するのでない限り #{make commit}# を使わないようにしてください。また、その場合にマニュアルの英語版への変更と翻訳を一度にコミットするのではなく、それぞれ分けてコミットするようにしてください。さらなる詳細については{翻訳}#translation 節を見てください。 3~translation 翻訳 live-manual を翻訳するには、新しく最初から翻訳を開始するのか、それとも既に存在する翻訳について作業を続けるのか、によって以下の手順を追ってください: _* 新しく最初から翻訳を開始する _2* #{manual/pot/}# にある *{about_manual.ssi.pot}*、*{about_project.ssi.pot}*、*{index.html.in.pot}*ファイルを (/{poedit}/ 等) 好みのエディタで自分の言語に翻訳し、整合性確認のため翻訳した #{.po}# ファイルをメーリングリストに送ってください。live-manual の整合性確認では #{.po}# ファイルが 100% 翻訳されていることだけではなく誤りの可能性を検出します。 _2* 確認が済んだ後は、自動ビルドでの新しい言語の有効化は最初の翻訳済みファイルを #{manual/po/${言語}/}# に追加して #{make commit}# を実行すれば十分です。それから #{manual/_sisu/home/index.html}# を編集して言語の名前と () 内にその英語名を追加してください。 _* 既に存在する翻訳について作業を続ける _2* 対象の言語が既に追加されている場合は、(/{poedit}/ 等) 好みのエディタで #{manual/po/}# にある残りの po ファイルを手当たり次第に翻訳を続けてください。 _2* 翻訳済みマニュアルが .po ファイルから更新されていることを確実にするためには #{make commit}# を行う必要があることと、#{git add .}#、#{git commit -m "Translating..."}#、#{git push}# を実行する前に #{make build}# を実行すると変更を確認できるということを忘れないでください。#{make build}# には相当の時間がかかる可能性があるため、{変更の適用}#applying-changes で説明しているように、見直しの際は1つの言語だけをビルドして確認できることを覚えておくといいでしょう。 #{make commit}# を実行するとテキストがいくらか流れていくのを目にするでしょう。これは基本的に処理状態についての情報を示すメッセージで、Live マニュアルの改善のために何ができるのかということを知る手がかりにもなります。致命的エラーが起きていない限り、通常はそのまま進めて貢献を提出できます。 Live マニュアルには、翻訳者が未翻訳や変更された文字列を検索するのを大きく支援する2つのユーティリティが付属しています。1つ目は「make translate」です。これは各 .po ファイル中にどれだけ未翻訳文字列があるのか、詳細を報告するスクリプトを実行します。2つ目は「make fixfuzzy」で、こちらは変更された文字列だけを対象としますが、1つ1つ見つけて修正する作業を支援します。 こういったユーティリティはコマンドラインで翻訳作業を行うのには実際に役立つかもしれませんが、推奨する作業方法は /{poedit}/ のような専用ツールの利用だということに留意してください。Debian 地域化 (l10n) 文書や、特に Live マニュアル向けの{翻訳者向けのガイドライン}#guidelines-translators を読むのも良いことです。 *{注意:}* gitツリーを push する前に #{make clean}# を実行してきれいにすることができます。この手順は .gitignore ファイルのおかげで強制ではありませんが、ファイルを意図せずコミットすることを避けられる良い実践となります。