Debian GNU/Linux インストールガイド 製作著作 ? 2004, 2005, 2006, 2007 the Debian Installer team 本マニュアルはフリーソフトウェアです。GNU 一般公有使用許諾にそって、配布・改変 する事ができます。付録 F. GNU General Public License のライセンスを参照してくだ さい。 概要 この文書は Mips (「mips」) アーキテクチャ用 Debian GNU/Linux 4.0 システム (コー ドネーム「etch」) のインストール説明書です。また、さらに詳しい情報へのポインタ や、新しく Debian システムを構築する方法にも言及しています。 警告 このインストールガイドは、旧 Debian インストールシステム (「boot-floppies」) 用 に書かれた初期のマニュアルをベースにしており、新しい Debian インストーラ用に更 新しています。しかし mips について、完全には更新・事実関係チェックが行われてい ません。不完全・時代遅れだったり、まだ boot-floppies インストーラのマニュアルの ままの部分が残っているかもしれません。このマニュアルの新版 (このアーキテクチャ に対して、できる限りよく書かれています) は、インターネット (debian-installer home page) で見つけられます。またそこで、追加翻訳も見つかるでしょう。 日本語訳については、 (要 subscribe) で議論を行ってい ます。また、Debian JP Project: メーリングリストに購読に関する簡単な説明があり、 debian-doc Mailing List Archive では過去のメールを読むことができます。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 目次 mips 用 Debian GNU/Linux 4.0 のインストール 1. ようこそ Debian へ 1.1. Debian とは? 1.2. GNU/Linux とは? 1.3. Debian GNU/Linux とは? 1.4. Debian の入手 1.5. このドキュメントの最新版の入手 1.6. この文書の構成 1.7. 著作権およびソフトウェアライセンスについて 2. 必要なシステム 2.1. サポートするハードウェア 2.1.1. サポートするアーキテクチャ 2.1.2. CPU・マザーボード・ビデオのサポート 2.1.3. グラフィックカードのサポート 2.2. インストールに利用できるメディア 2.2.1. CD-ROM/DVD-ROM 2.2.2. ハードディスク 2.2.3. ネットワーク 2.2.4. Un*x・GNU システム 2.2.5. サポートする記憶装置 2.3. 周辺機器やその他のハードウェア 2.4. GNU/Linux に適したハードウェアの購入 2.4.1. 独占的・閉鎖的なハードウェアを避ける 2.5. 必要なメモリとディスクスペース 2.6. ネットワーク接続機器 2.6.1. ファームウェアが必要なドライバ 3. Debian GNU/Linux のインストール前に 3.1. インストールプロセスの概要 3.2. 既存データをバックアップしてください! 3.3. 必要な情報 3.3.1. 文書 3.3.2. ハードウェア情報の取得先 3.3.3. ハードウェア互換性 3.3.4. ネットワークの設定 3.4. 必要な最低限のハードウェア 3.5. マルチブートシステムでの事前パーティション分割 3.6. インストール前に行うハードウェア・OS の設定 4. システムインストールメディアの入手 4.1. 公式 Debian GNU/Linux CD-ROM セット 4.2. Debian ミラーサイトからのファイルのダウンロード 4.2.1. どこでインストールイメージを探すか 4.3. TFTP ネットブート用ファイルの準備 4.3.1. DHCP サーバの設定 4.3.2. TFTP サーバの立ち上げ 4.3.3. TFTP イメージを適切な場所に配置する 4.4. 自動インストール 4.4.1. Debian インストーラを用いた自動インストール 5. インストールシステムの起動 5.1. Mips でのインストーラの起動 5.1.1. TFTP での起動 5.1.2. ブートパラメータ 5.2. ブートパラメータ 5.2.1. Debian Installer パラメータ 5.3. インストールプロセスのトラブルシューティング 5.3.1. CD-ROM の信頼性 5.3.2. 起動設定 5.3.3. カーネルの起動時メッセージの意味 5.3.4. インストールで発生した問題の報告 5.3.5. インストールレポートの送信 6. Debian Installer の使用法 6.1. インストーラの動作 6.2. コンポーネント入門 6.3. それぞれのコンポーネントの使用法 6.3.1. Debian インストーラのセットアップとハードウェアの設定 6.3.2. パーティションの分割とマウントポイントの選択 6.3.3. システムのセットアップ 6.3.4. 基本システムのインストール 6.3.5. 追加ソフトウェアのインストール 6.3.6. システムを起動可能に 6.3.7. インストールの完了 6.3.8. その他 7. 新しい Debian システムを起動させる 7.1. 決着のとき 7.2. 暗号化ボリュームのマウント 7.2.1. dm-crypt 7.2.2. loop-AES 7.2.3. トラブルシュート 7.3. ログイン 8. 次のステップとそれから 8.1. システムをシャットダウンする 8.2. Unix を初めてお使いになる方へ 8.3. Debian に慣れる 8.3.1. Debian パッケージングシステム 8.3.2. アプリケーションの種類の管理 8.3.3. cron ジョブ管理 8.4. さらなる文書や情報 8.5. 電子メールを使用するためのシステム設定 8.5.1. デフォルトの電子メール設定 8.5.2. システムの外に電子メールを送る 8.5.3. Exim4 Mail Transport Agent の設定 8.6. 新しいカーネルのコンパイル 8.6.1. カーネルイメージの管理 8.7. 起動しなくなってしまったシステムの回復 A. インストール Howto A.1. 前置き A.2. インストーラを起動する A.2.1. CD-ROM A.2.2. ネットワークからの起動 A.2.3. ハードディスクからの起動 A.3. インストール A.4. インストールレポートを送ってください A.5. そして最後に... B. preseed を利用したインストールの自動化 B.1. はじめに B.1.1. preseed の方法 B.1.2. 制限 B.2. preseed の利用 B.2.1. 事前設定ファイルの読み込み B.2.2. preseed が質問するブートパラメータの利用 B.2.3. 自動モード B.2.4. preseed で利用できるエイリアス B.2.5. 事前設定ファイルを指定するための DHCP の利用方法 B.3. 事前設定ファイルの作成 B.4. 事前設定ファイルの内容 B.4.1. 地域化 B.4.2. ネットワーク設定 B.4.3. ミラーサイト設定 B.4.4. パーティション分割 B.4.5. RAID を用いたパーティション分割 B.4.6. 時計・タイムゾーン設定 B.4.7. apt 設定 B.4.8. アカウント設定 B.4.9. 基本システムのインストール B.4.10. ブートローダのインストール B.4.11. パッケージ選択 B.4.12. インストール第 1 段階の仕上げ B.4.13. X の設定 B.4.14. 他パッケージの preseed B.5. 高度なオプション B.5.1. インストール中のカスタムコマンド実行 B.5.2. preseed を用いたデフォルト値変更 B.5.3. 事前設定ファイルの多重読み込み C. Debian でのパーティション分割 C.1. Debian のパーティションとそのサイズを決める C.2. ディレクトリツリー C.3. お勧めするパーティションルール C.4. Linux におけるデバイス名 C.5. Debian のパーティション分割プログラム C.5.1. Mips でのパーティション分割 D. ランダムビット D.1. Linux のデバイス D.1.1. マウスのセットアップ D.2. タスクに必要なディスクの空き容量 D.3. Unix/Linux システムからの Debian GNU/Linux のインストール D.3.1. はじめに D.3.2. debootstrap のインストール D.3.3. debootstrap の実行 D.3.4. 基本システムの設定 D.3.5. カーネルのインストール D.3.6. ブートローダのセットアップ D.3.7. 仕上げに D.4. PPP over Ethernet (PPPoE) を用いた Debian GNU/Linux のインストール E. 付記 E.1. この文書について E.2. この文書への貢献 E.3. 多大な貢献 E.4. 商標表示 F. GNU General Public License 表目次 3.1. インストールに必要なハードウェア情報 3.2. 最低限必要なシステム (推奨値) mips 用 Debian GNU/Linux 4.0 のインストール Debian を試していただきありがとうございます。 Debian の GNU/Linux ディストリビ ューションは、他に類を見ないものであることを分かっていただけることでしょう。 Debian GNU/Linux は、世界中から質の高い「自由なソフトウェア」をよりすぐり、首尾 一貫したディストリビューションとしてまとめあげられています。こうして集められた ものは、個々のソフトウェア以上の力を発揮することでしょう。 多くの方は、このマニュアルを読まずに Debian をインストールしたいと思っているこ とでしょう。また、それが可能なように Debian インストーラは設計されています。イ ンストールガイド全体を読む時間がなければ、インストール Howto (基本的なインスト ールプロセスをご案内します) と、追加情報やうまくいかないときのための、マニュア ルへのリンクを読むことをお奨めします。インストール Howto は、付録 A. インストー ル Howto にあります。 そうは言っても、このマニュアルのほとんどを読んでくださることを望んでいますし、 読むことでより多くの知識を得られ、よりインストールがうまくいきやすくなるでしょ う。 第1章ようこそ Debian へ 目次 1.1. Debian とは? 1.2. GNU/Linux とは? 1.3. Debian GNU/Linux とは? 1.4. Debian の入手 1.5. このドキュメントの最新版の入手 1.6. この文書の構成 1.7. 著作権およびソフトウェアライセンスについて この章では、Debian プロジェクトと Debian GNU/Linux の概略を紹介します。 Debian プロジェクトの歴史と Debian GNU/Linux についてすでにご存知でしたら、この章を飛 ばして構いません。 1.1. Debian とは? Debian は、有志の集まってできた団体で、フリーソフトウェアを開発し、フリーソフト ウェアコミュニティの理想を推進することを目的としています。 Debian プロジェクト は 1993 年に、比較的新しい Linux カーネルをもとにした、完全で一貫性あるディスト リビューションの制作のために、Ian Murdock が開発者を広く募ったときに始まりまし た。献身的なファンたちの比較的小さな団体は、最初 Free Software Foundationによっ て支援を受け、 GNUの哲学に影響されていましたが、数年後には 1010 人もの Debian 開発者を抱える組織になりました。 Debian 開発者は様々な活動に参加しています。例えば、 Web や FTP サイトの管理、グ ラフィックデザイン、ソフトウェアライセンスの法律的な分析、文書の執筆、そしても ちろん、ソフトウェアパッケージのメンテナンスです。 私たちの哲学を伝え、Debian が支持する原則を信じている開発者を引き寄せるために、 Debian プロジェクトは、私たちの価値の概略を述べ、Debian 開発者であるとはどうい うことかという指針とするために、多数の文書を発表しています: ● Debian 社会契約は、Debian のフリーソフトウェアコミュニティへの関与について 述べたものです。この社会契約を守ることに同意する人は、誰でもメンテナになる ことができます。メンテナは誰でも、Debian に新しいソフトウェアを追加すること ができます -- そのソフトウェアが私たちの条件に照らしてフリーであり、パッケ ージの品質が基準を満たしていれば。 ● Debian フリーソフトウェアガイドライン (DFSG) は、フリーソフトウェアに関する Debian の基準を明確かつ簡潔に述べたものです。この DFSG は、フリーソフトウェ ア運動において非常に影響力のある文書で、オープンソースの定義のもととなった ものです。 ● Debian ポリシーマニュアルは、 Debian プロジェクトの品質基準を詳しく定めたも のです。 Debian 開発者は、ほかの多数のプロジェクトにも関与しています。それらのプロジェク トには、Debian 固有のものもあり、Linux コミュニティの一部や全体に関係するものも あります。例えば、 ● Linux Standard Base (LSB) は、基本的な GNU/Linux システムを標準化し、サード パーティのソフトウェア・ハードウェア開発者が (特定の GNU/Linux ディストリビ ューションではなく) 一般的に Linux 向けにプログラムやデバイスドライバを簡単 に設計することができるようにすることを目的としたプロジェクトです。 ● Filesystem Hierarchy Standard (FHS) は、Linux のファイルシステムのレイアウ トを標準化しようという試みです。これによって、ソフトウェア開発者はパッケー ジが様々な GNU/Linux ディストリビューションにどのようにインストールされるか を心配することなしに、プログラムのデザインに努力を集中することができます。 ● Debian Jr. は、 Debian を若年ユーザに提供できるようなものにするための内部プ ロジェクトです。 より一般的な情報については、 Debian FAQ を参照して下さい。 1.2. GNU/Linux とは? Linux はオペレーティングシステム (あなたとコンピュータの間に立ち、他のプログラ ムを実行させる一連のプログラム) です。 オペレーティングシステムは、様々な基礎的なプログラムを含んでいます。それらによ って、コンピュータは、ユーザと交信したり指示を受け取ったり、ハードディスクやテ ープ、プリンタにデータを読み書きしたり、メモリの使い方を制御したり、他のソフト ウェアを実行したりすることができます。オペレーティングシステムの最も重要な部分 は、カーネルです。 GNU/Linux システムにおいては、Linux がカーネルです。システム の残りの部分は、他のプログラムでできており、その大部分は GNU プロジェクトによっ て書かれたものです。Linux カーネルだけでは動作するオペレーティングシステムを構 成できませんので、多くの人が日常的に「Linux」と呼ぶシステムのことを、私たちは「 GNU/Linux」と呼ぶようにしています。 Linux は Unix オペレーティングシステムを手本にしています。当初から、Linux はマ ルチタスク、マルチユーザシステムとして設計されました。この事実により、Linux は 他の有名なオペレーティングシステムに対し、充分差別化できています。しかし、Linux はあなたが想像するよりもさらに異なっています。他のオペレーティングシステムとは 対照的に、誰も Linux を所有しません。その開発の多くは無償のボランティアによって 行われます。 後に GNU/Linux になるものの開発は 1984 年、フリーソフトウェア財団が GNU という Unix ライクなオペレーティングシステムの開発を始めたときに始まりました。 GNU プロジェクトは、 Unix (tm) や、Linux などの Unix ライクなオペレーティングシ ステムと共に使うための一連のフリーソフトウェアツールを開発してきました。これら のツールは、ファイルのコピー・削除といった日常的な作業から、プログラムの作成・ コンパイルや様々なドキュメントフォーマットの高度な編集といった作業までを可能に します。 多くのグループや個人が Linux に寄与する中で、最大の単独貢献者はいまだに (Linux の中で使用されるほとんどのツールだけでなく哲学も作成した) フリーソフトウェア財 団と、 Linux を可能にしたコミュニティーです。 Linux カーネルは、 Linus Torvalds というフィンランド人の計算機科学の学生が 1991 年に、Usenet の comp.os.minix ニュースグループに Minix の代替カーネルの初期バー ジョンを公表したのが始まりです。 Linux International の Linux 史のページ参照し て下さい。 Linus Torvalds は、数人の信用できる協力者の助けを得て、数百人の開発者の仕事を調 整し続けています。 linux-kernel メーリングリストにおける議論のすばらしい要約が 、毎週 Kernel Traffic で読むことができます。linux-kernel メーリングリストのより 詳しい情報は、 linux-kernel メーリングリスト FAQ で読むことができます。 Linux ユーザは、それらのソフトウェアの大きな選択の自由を持っています。例えば、 Linuxユーザは、1 ダースの異なるコマンドラインシェルや数種のグラフィカルデスクト ップの中から選ぶことができます。この選択できるということが、しばしばコマンドラ インやデスクトップを変更できるという考えに慣れていない、他のオペレーティングシ ステムのユーザを当惑させています。 Linux はまた、ほとんどクラッシュせず、複数のプログラムを同時に実行するのに優秀 で、多くのオペレーティングシステムより安全です。これらの利点により、Linux はサ ーバ市場で最も急成長しているオペレーティングシステムです。さらに最近、Linuxは、 ホーム・ビジネスユーザにも人気が出始めました。 1.3. Debian GNU/Linux とは? Debian の哲学や方法論と、GNU ツール・Linux カーネル・その他の重要なフリーソフト ウェアとを組み合わせることにより、Debian GNU/Linux と呼ばれるユニークなディスト リビューションが形成されています。このディストリビューションは、多数のソフトウ ェアパッケージから構成されています。ディストリビューションに含まれる個々のパッ ケージは、実行ファイル・スクリプト・ドキュメント・設定情報などから構成されてい ます。また各パッケージには、そのパッケージに責任を持つメンテナがいて、そのパッ ケージを最新に保ち、バグ報告を追跡し、パッケージにされているソフトウェアの上流 開発者と連絡をとることについて、第一に責任を負います。大きなユーザベースが、バ グ追跡システムとあいまって、問題がすぐに発見・解決されることを保証しています。 Debian は、細部に注意を払うことで、高品質で安定したスケーラブルなディストリビュ ーションとなっています。小さなファイアウォールから科学用途のデスクトップワーク ステーションやハイエンドネットワークサーバまで、様々な用途に合わせたインストー ルが可能です。 Debian は、技術的な優越性や Linux コミュニティのニーズや期待への深いコミットメ ントによって、上級ユーザに特に人気があります。 Debian はさらに、現在 Linux が普 通に持っている多くの特徴を導入しました。 例えば、Debian はソフトウェアの簡単なインストール・削除用にパッケージ管理システ ムを持った初めての Linux ディストリビューションでした。さらに、再インストールせ ずにシステムの更新ができる、初めての Linux ディストリビューションでした。 Debian は Linux 開発のリーダーであり続けています。その開発プロセスは (完全なオ ペレーティングシステムを構築し維持するような非常に複雑なタスクであったとしても) オープンソース開発モデルが、どれほどうまくいくことができるかの好例となっていま す。 Debian を他の GNU/Linux ディストリビューションと区別する最大の特徴は、パッケー ジ管理システムです。Debian システムの管理者は、システムにインストールされるパッ ケージに関して、ひとつのパッケージのインストールからオペレーティングシステム全 体の自動アップデートまで、完全に制御することができます。個々のパッケージをアッ プデートしないように設定することもできます。あなた自身がコンパイルしたソフトウ ェアについて、その依存関係を設定することもできます。 「トロイの木馬」や他の悪意あるソフトウェアからあなたのシステムを守るために、 Debian のサーバは、アップロードされてきたパッケージが登録された Debian 開発者か らのものかどうかを確かめます。また、Debian の各パッケージはより安全な設定となる ように細心の注意が払われています。もしリリースされたパッケージにセキュリティ上 の問題が発生すれば、その修正版は通常すぐに利用可能になります。 Debian の簡単な アップデートオプションによって、セキュリティ修正はインターネットを通じて自動的 にダウンロード・インストールすることができます。 あなたの Debian GNU/Linux システムについてサポートを受けたり、Debian の開発者た ちと連絡したりする第一の、そして最良の方法は、Debian プロジェクトが運営する多数 のメーリングリストを用いることです (この文章の執筆時点で 215 以上のメーリングリ ストがあります)。メーリングリストを簡単に講読するためには、 Debian メーリングリ スト講読ページを訪れて、フォームに必要事項を記入するとよいです。 1.4. Debian の入手 インターネットを通じて Debian GNU/Linux をダウンロードしたり Debian の公式 CD を購入したりするための情報については、入手方法についてのページを参照して下さい 。 Debian のミラー一覧には、Debian の公式ミラーサイトがすべて載っていますので、 もっとも近いサイトを簡単に探すことができます。 Debian は、インストール後に非常に簡単にアップグレードできます。このインストール 手順では、システムの設定についてお助けします。一度インストールが済んでしまえば 、必要に応じてこのようなアップグレードを行えるようになります。 1.5. このドキュメントの最新版の入手 この文書には絶えず変更が加えられています。 Debian GNU/Linux システムの 4.0 リリ ースに関する最新情報については、 Debian 4.0 ページにて確認してください。このイ ンストールマニュアルの最新版は、公式インストールマニュアルページからも利用でき ます。 1.6. この文書の構成 この文書は、初めて Debian をお使いになるユーザのために書かれたマニュアルです。 お手持ちのハードウェアの動作に関しては一般的な知識があることを前提としています が、なるべく専門的な知識がなくてもお読みいただけるよう心がけています。 また熟練したユーザであっても、この文書で、最低限インストールに必要な容量や、 Debian インストールシステムでサポートされるハードウェアの詳細など、参考になる情 報を得ることができるでしょう。熟練したユーザの方には、この文書のあちこちをかい つまんでお読みになることをお勧めします。 基本的にこの文書は、実際に体験するインストールのプロセスに沿って、順々に説明す るように構成されています。Debian GNU/Linux のインストールの各作業段階と、それに 関連するこの文書の各節は以下の通りになっています。 1. 章 2. 必要なシステムでは、お手持ちのハードウェアがインストーラのシステム要 件を満たしているかどうかを調べます。 2. 章 3. Debian GNU/Linux のインストール前にでは、既存のシステムをバックアップ し、 Debian のインストールに先だつシステム設計やハードウェアの設定を行いま す。もしマルチブートシステムを考えているのでしたら、ハードディスク上に、 Debian 用パーティションを作るための空き領域を作っておく必要があるかもしれま せん。 3. 章 4. システムインストールメディアの入手では、あなたのインストール方法のた めのインストールファイルを入手します。 4. 章 5. インストールシステムの起動では、インストーラを起動します。またこの章 では、起動に問題があった際のトラブルシューティングの手順についても紹介しま す。 5. 付録 C. Debian でのパーティション分割では、Debian システムのための Linux パ ーティションを作成します。 6. 章 6. Debian Installer の使用法に従って実際のインストールを実行してください 。ここでは言語選択、周辺機器のドライバモジュールの設定、 (CD からインストー ルしていない場合) 残りのインストールするファイルを Debian サーバから直接取 得するようなネットワーク接続の設定、ハードディスクのパーティション分割、基 本システムのインストールを行います。その後、インストールするタスクの選択を 行います。 (Debian システムのパーティションセットアップについては、付録 C. Debian でのパーティション分割で背景を説明しています) 7. 章 7. 新しい Debian システムを起動させるでは、新しくインストールした基本シ ステムを起動します。 システムのインストールが終了したら、章 8. 次のステップとそれからを読んで下さい 。この章では、Unix や Debian に関する情報の探し方や、カーネルの交換の方法が説明 されます。 最後に、付録 E. 付記には、この文書に関する情報や貢献の方法が載っています。 1.7. 著作権およびソフトウェアライセンスについて この文書を読んでいる方は、多数の商用ソフトウェアにあるようなライセンス (購入し たソフトウェアのコピー 1 部を、1 台のコンピュータで使用できる) はご存知のことで しょう。しかし、このシステムはそのようなものとは違います。私たちは、あなたの通 っている学校や仕事場にあるすべてのコンピュータにインストールすることを勧めます 。また、友達に貸して、彼らのコンピュータにインストールするのを手伝ってあげまし ょう。さらには、わずかな制限にさえ気をつければ、何千部ものコピーを作って売るこ とも可能です。なぜなら、Debian はフリーソフトウェアに基づいているからです。 フリーソフトウェアとは著作権を持っていないという意味ではありません。また、この ソフトウェアを含む CD が無償で配布されなければならないという意味でもありません 。フリーソフトウェアとは、まず、個々のプログラムのライセンスにおいて、プログラ ムを利用したり再配付したりする権利のためにお金を払う必要がないことを意味してい るのです。また誰でも、そのソフトウェアを拡張したり、改造したり、修正すること、 さらにその成果を再配付することが可能であることも意味しています。 注意 Debian プロジェクトでは、ユーザの実用性に関する妥協から、私たちのフリーの基準に 適合しないパッケージも利用できるようになっています。これらは公式なディストリビ ューションの一部ではありませんが、 Debian ミラーの contrib や non-free エリアま たはサードパーティ製 CD-ROM で入手できます。 Debian FAQ の「Debian FTP アーカイ ブ」の節をご覧ください。 このシステムに入っているプログラムの多くは、「GPL」と略される GNU General Public License にしたがって利用許諾されています。この GPL は、プログラムのコピ ーを配布するときには、必ずプログラムのソースコードを利用可能にしておくことを要 求しています。これは、ユーザがそのソフトウェアを変更できることを保証するもので す。そのため、私たちは、Debian システムに含まれる GPL 準拠のプログラムのソース コード^[1]をすべて収録しています。 Debian に収録されたプログラムの著作権やソフトウェアライセンスの形式には、他にも 数種あります。それぞれのプログラムの著作権やライセンスは、一度システムをインス トールすれば、 /usr/share/doc/パッケージ名/copyright ファイルを探せば見つけるこ とができます。 ライセンスや、Debian がメインディストリビューションにソフトウェアを収録する際に 用いているフリーの基準に関してより詳細な情報をお求めの場合は、 Debian フリーソ フトウェアガイドラインをご覧ください。 最も重要な法律上の注意点は、このソフトウェアが無保証であることです。これは、こ のソフトウェアを作成したプログラマらがコミュニティの利益を考えてのことです。ソ フトウェアは、いかなる目的への利用に対しても保証されていません。しかし、ソフト ウェアがフリーであるゆえに、ユーザには必要に応じてソフトウェアを修正する権限が 与えられます。また、このようにしてソフトウェアの拡張が誰かによってなされれば、 その利益も享受できます。 ━━━━━━━ ^[1] Debian ソースパッケージの探し方や展開の仕方やバイナリの作成方法に関する情 報については、 Debian FAQ の「Debian パッケージ管理システムの基本」をご覧くださ い。 第2章必要なシステム 目次 2.1. サポートするハードウェア 2.1.1. サポートするアーキテクチャ 2.1.2. CPU・マザーボード・ビデオのサポート 2.1.3. グラフィックカードのサポート 2.2. インストールに利用できるメディア 2.2.1. CD-ROM/DVD-ROM 2.2.2. ハードディスク 2.2.3. ネットワーク 2.2.4. Un*x・GNU システム 2.2.5. サポートする記憶装置 2.3. 周辺機器やその他のハードウェア 2.4. GNU/Linux に適したハードウェアの購入 2.4.1. 独占的・閉鎖的なハードウェアを避ける 2.5. 必要なメモリとディスクスペース 2.6. ネットワーク接続機器 2.6.1. ファームウェアが必要なドライバ この節では、Debian を始めるために必要なハードウェアに関する情報を扱います。また 、GNU や Linux でサポートされるハードウェアに関するより詳しい情報へのリンクも用 意しました。 2.1. サポートするハードウェア Debian は、Linux カーネルや GNU ツールセットが必要とする以上のハードウェアを要 求しません。それゆえ、Linux カーネル、libc、gcc などが移植されていて、Debian の 移植版が存在すれば、どんなアーキテクチャやプラットフォームでも Debian を動作さ せることができます。すでに Debian でテストされている Mips アーキテクチャの詳細 は、移植版のページ (http://www.debian.org/ports/mips/) を参照してください。 この節では、Mips でサポートされるハードウェアの様々な設定のすべてに触れることは 避け、一般的な情報とさらなる情報が見つけられる場所へのポインタを紹介します。 2.1.1. サポートするアーキテクチャ Debian 4.0 は 12 の主要なアーキテクチャと、「フレーバー」と呼ばれる各アーキテク チャのバリエーションをサポートしています。 ┌───────────┬─────┬───────────┬───────┐ │ アーキテクチャ │Debian 名 │ サブアーキテクチャ │ フレーバー │ │ │ 称 │ │ │ ├───────────┼─────┼───────────┼───────┤ │Intel x86 ベース │i386 │ │ │ ├───────────┼─────┼───────────┼───────┤ │AMD64 & Intel EM64T │amd64 │ │ │ ├───────────┼─────┼───────────┼───────┤ │DEC Alpha │alpha │ │ │ ├───────────┼─────┼───────────┼───────┤ │ │ │Netwinder・CATS │netwinder │ │ │ ├───────────┼───────┤ │ │ │Intel IOP32x │iop32x │ │ARM・StrongARM │arm ├───────────┼───────┤ │ │ │Intel IXP4xx │ixp4xx │ │ │ ├───────────┼───────┤ │ │ │RiscPC │rpc │ ├───────────┼─────┼───────────┼───────┤ │ │ │PA-RISC 1.1 │32 │ │HP PA-RISC │hppa ├───────────┼───────┤ │ │ │PA-RISC 2.0 │64 │ ├───────────┼─────┼───────────┼───────┤ │Intel IA-64 │ia64 │ │ │ ├───────────┼─────┼───────────┼───────┤ │ │ │SGI IP22 (Indy/Indigo │r4k-ip22 │ │ │ │2) │ │ │ │ ├───────────┼───────┤ │ │ │SGI IP32 (O2) │r5k-ip32 │ │MIPS (ビッグエンディア│mips ├───────────┼───────┤ │ン) │ │Broadcom BCM91250A │sb1-bcm91250a │ │ │ │(SWARM) │ │ │ │ ├───────────┼───────┤ │ │ │Broadcom BCM91480B │sb1a-bcm91480b│ │ │ │(BigSur) │ │ ├───────────┼─────┼───────────┼───────┤ │ │ │Cobalt │cobalt │ │ │ ├───────────┼───────┤ │ │ │ │r4k-kn04 │ │ │ │DECstation ├───────┤ │MIPS (リトルエンディア│ │ │r3k-kn02 │ │ン) │mipsel ├───────────┼───────┤ │ │ │Broadcom BCM91250A │sb1-bcm91250a │ │ │ │(SWARM) │ │ │ │ ├───────────┼───────┤ │ │ │Broadcom BCM91480B │sb1a-bcm91480b│ │ │ │(BigSur) │ │ ├───────────┼─────┼───────────┼───────┤ │ │ │Atari │atari │ │ │ ├───────────┼───────┤ │ │ │Amiga │amiga │ │ │ ├───────────┼───────┤ │ │ │68k Macintosh │mac │ │Motorola 680x0 │m68k ├───────────┼───────┤ │ │ │ │bvme6000 │ │ │ │ ├───────┤ │ │ │VME │mvme147 │ │ │ │ ├───────┤ │ │ │ │mvme16x │ ├───────────┼─────┼───────────┼───────┤ │ │ │CHRP │chrp │ │ │ ├───────────┼───────┤ │IBM/Motorola PowerPC │powerpc │PowerMac │pmac │ │ │ ├───────────┼───────┤ │ │ │PReP │prep │ ├───────────┼─────┼───────────┼───────┤ │ │ │sun4m │sparc32 │ │ │ ├───────────┼───────┤ │Sun SPARC │sparc │sun4u │ │ │ │ ├───────────┤sparc64 │ │ │ │sun4v │ │ ├───────────┼─────┼───────────┼───────┤ │ │ │VM-reader や DASD から│generic │ │IBM S/390 │s390 │の IPL │ │ │ │ ├───────────┼───────┤ │ │ │テープからの IPL │tape │ └───────────┴─────┴───────────┴───────┘ この文書は Mips アーキテクチャへのインストールを扱います。なお、他のアーキテク チャに関する情報については、 Debian 移植版ページをご覧ください。 2.1.2. CPU・マザーボード・ビデオのサポート Mips 上で Debian は以下のプラットフォームをサポートしています。 ● SGI IP22: このプラットフォームには、Indy, Indigo 2, Challenge S といった SGI マシンを含む。これらのマシンはとても似通っているため、本文書では、SGI Indy, Indigo 2, Challenge S についても同様に参照できる。 ● SGI IP32: このプラットフォームは一般的に SGI O2 として知られています。 ● Broadcom BCM91250A (SWARM): デュアルコアの SB1 1250 CPU をベースにした、 Broadcom 製 ATX フォームファクタ評価ボード。 ● Broadcom BCM91480B (BigSur): クアッドコアの SB1A 1480 CPU をベースにした、 Broadcom 製 ATX フォームファクタ評価ボード。 mips/mipsel マシンサポートについての完全な情報は、 Linux-MIPS homepage で見つか ります。以下では、Debian インストーラでサポートされているシステムについてのみ対 象にしています。その他のサブアーキテクチャのサポートが必要な場合は、 debian-mips メーリングリストに連絡してください。 2.1.2.1. CPU R4000, R4400, R4600, R5000 プロセッサを搭載した SGI IP22, SGI Indy, Indigo 2, Challenge S は、ビッグエンディアン MIPS 用 Debian インストールシステムでサポー トしています。 SGI IP32 では現在、R5000 ベースのシステムのみサポートしています 。 2 コアの SB1 1250 チップに付属する Broadcom BCM91250A 評価ボードは、このイン ストーラの SMP モードでサポートしています。同様に、4 コアの SB1A 1480 チップを 含む BCM91480B 評価ボードは、 SMP モードでサポートしています。 MIPS マシンの中には、ビッグエンディアンとリトルエンディアンの両方のモードで動作 するものがあります。リトルエンディアン用 MIPS については、 mipsel アーキテクチ ャの文書をご覧ください。 2.1.3. グラフィックカードのサポート Debian がサポートするグラフィックインターフェースは、 X.Org の X11 System のサ ポートに基づいたものです。ほとんどの AGP, PCI, PCIe ビデオカードは X.Org の下で 動作します。サポートされているグラフィックバス、カード、モニタ、ポインティング デバイスに関するより詳細な情報については、 http://xorg.freedesktop.org/ をご覧 ください。なお Debian 4.0 は X.Org バージョン 7.1 を採用しています。 X.Org X Window System は SGI の Indy と O2 をサポートしています。 Broadcom BCM91250A/BCM91480B 評価ボードには標準 3.3v PCI スロットがあり、 VGA エミュレー ションや、グラフィックカードの選択した範囲での Linux フレームバッファをサポート しています。 Broadcom 評価ボード用の互換性リストを利用できます。 2.2. インストールに利用できるメディア 本節は、Debian をインストールするのに、どのメディアを使用するかを決める助けとな るでしょう。例えば、マシンにフロッピーディスクドライブがあれば、 Debian をイン ストールするのに使用することができます。各メディアに対して利点と欠点を挙げた、 章全体をメディアに費やした章 (章 4. システムインストールメディアの入手) があり ます。その章から、このページをもう一度参照するかもしれません。 2.2.1. CD-ROM/DVD-ROM 注意 このマニュアルで「CD-ROM」と記述してある場合は、オペレーティングシステムから見 て等価なので、 CD-ROM・DVD-ROM と見なしてください。 (SCSI でも IDE/ATAPI でもな いような、非常に古く非標準な CD-ROM ドライブを除く) いくつかのアーキテクチャでは CD-ROM ベースのインストールをサポートしています。 起動可能な CD-ROM をサポートしたマシンでは、フロッピーを必要としない完全なイン ストールが可能です。 CD-ROM からの起動ができないシステムでは、そのほかのテクニ ックを組み合わせればインストールに CD-ROM を使えます。章 5. インストールシステ ムの起動を参照して一度他の方法で起動してください。 SGI マシンで CD-ROM から起動するには、512 バイトの論理ブロックサイズを扱える SCSI CD-ROM ドライブが必要です。 PC 向けに売られている SCSI CD-ROM の多くは、こ の機能がありません。お持ちの CD-ROM ドライブに「Unix/PC」とか「512/2048」という ラベルのついたジャンパがあったら、「Unix」または「512」の方にしてください。イン ストールを始めるには、単にファームウェアの「System installation」エントリを選択 してください。 Broadcom BCM91250A は、 (CD-ROM ドライブを含む) 標準 IDE デバイ スをサポートしていますが、ファームウェアが CD ドライブを認識できないため、現在 このプラットフォーム用の CD イメージは提供されていません。 Broadcom BCM91480B 評価ボードに Debian をインストールするには、 PCI の IDE, SATA, SCSI いずれかの カードが必要です。 2.2.2. ハードディスク ハードディスクからインストールシステムを直接ブートするのは、多くのアーキテクチ ャで使える方法です。これは他の OS に、ハードディスク上にあるインストーラをロー ドするよう要求します。 2.2.3. ネットワーク インストールに必要なファイルをインストール中に取得するのに、ネットワークを使用 できます。ネットワークを使用するかどうかは、あなたが選択したインストール方法と 、インストール中の質問への答に依存します。インストールシステムは、ネットワーク へのほとんどの接続法 (PPPoE を含む。 ISDN や PPP は不可) 上での、HTTP と FTP の どちらともサポートしています。インストール完了後に、ISDN や PPP を使用するよう にシステムの設定ができます。 また、インストールシステムを、ネットワーク越しに起動することもできます。 Mips ではこれが好ましいでしょう。 ネットワーク越しに起動を行い、すべてのローカルファイルシステムを NFS でマウント して、ディスクレスインストールをすることも一つの選択です。 2.2.4. Un*x・GNU システム 他の Unix ライクシステムが稼働していれば、本マニュアルの残りで説明している debian-installer を使用しないで、 Debian GNU/Linux をインストールできます。この インストール方法なら、他の方法ではサポートしないハードウェアや、ダウンタイムを 用意できないユーザにとって便利です。この方法に興味があれば、項D.3. 「Unix/Linux システムからの Debian GNU/Linux のインストール」へスキップしてください。 2.2.5. サポートする記憶装置 Debian の起動ディスクには、様々なシステムに最大限対応したカーネルが収められてい ます。そのため残念ながら、まったく使われることのないたくさんのドライバがカーネ ルを肥大化させています (再構築の仕方は項8.6. 「新しいカーネルのコンパイル」をご 覧ください)。しかし、様々なハードウェアへ確実に Debian をインストールするにはで きるだけ幅広いデバイスをサポートするのが望ましいでしょう。 Linux カーネルでサポートされる外部記憶装置は、すべてこのブートシステムでもサポ ートされています。 2.3. 周辺機器やその他のハードウェア Linux は、マウス、プリンタ、スキャナ、PCMCIA、 USB デバイスなどの様々なハードウ ェアに幅広く対応しています。しかし、システムのインストールに、これらのデバイス が必要なわけではありません。 Broadcom BCM91250A 評価ボードは、標準 3.3v 32/64 ビット PCI スロットを、 USB コ ネクタと同じように扱えます。 Broadcom BCM91480B 評価ボードは、64 ビット PCI ス ロットを 4 個備えています。 2.4. GNU/Linux に適したハードウェアの購入 Debian や他の GNU/Linux ディストリビューションをプリインストールしたシステムを 出荷しているベンダもあります。多少余分なお金がかかるかもしれませんが、ある程度 の安心を購入できることになります。このハードウェアは GNU/Linux でしっかりサポー トされていることが確信できるわけですから。 Linux がバンドルされたシステムを購入する場合でも、中古のシステムを購入する場合 でも、そのハードウェアが Linux カーネルでサポートされているか改めて確認すること が重要です。前述の参考資料の中に、そのハードウェアが挙げられているかどうかを確 認してください。 (もしいれば) 購入先の販売員には、Linux システムを購入すること を伝えましょう。また、Linux に友好的なハードウェアベンダを支援しましょう。 2.4.1. 独占的・閉鎖的なハードウェアを避ける あるハードウェアメーカーは、どのようにドライバを書いたらよいかをまったく教えて くれません。また、Linux のソースコード公開を妨げる NDA (非公開の同意) をしない 限り、文書を見せてくれないメーカーもあります。 これらのデバイスが Linux 上でまったく動作しないのは、それに関する文書を読むこと が許可されていないためです。このようなハードウェアを作っているメーカーに、文書 を公開するように要請してください。もしもたくさんの人たちが要請すれば、彼らも Linux が重要な市場であると認識するでしょう。 2.5. 必要なメモリとディスクスペース 最低でも 32MB の RAM と 500MB のハードディスクが必要です。これは、まっさらな最 小限の値だということに注意してください。現実的な値は、項3.4. 「必要な最低限のハ ードウェア」をご覧ください。 2.6. ネットワーク接続機器 Linux カーネルがサポートしているネットワークインターフェースカード (NIC) なら、 ほとんどインストールシステムでもサポートしています。ドライバモジュールは、通常 自動的に読み込まれます。 2.6.1. ファームウェアが必要なドライバ インストールシステムは、現在ファームウェアの取得をサポートしていません。このた め、ファームウェアを読み込む必要があるドライバを使用するネットワークカードは、 デフォルトではサポートしていません。 インストールの間に使用できる、その他の NIC がない場合でも、フルサイズの CD-ROM ・DVD イメージを使用して、Debian GNU/Linux をインストールできます。ネットワーク を設定せず、 CD/DVD で有効なパッケージだけでインストールを行うオプションを選択 してください。インストールが完了した後 (再起動後) で、必要なドライバやファーム ウェアをインストールし、ネットワークの設定を手動で行えます。ファームウェアは、 ドライバと分割されており、Debian GNU/Linux アーカイブの「main」セクションにない かもしれないことに注意してください。 ドライバ自体をサポートしている場合、ファームウェアをいずれかのメディアから /usr /lib/hotplug/firmware にコピーして、インストール中に NIC を使用するようにもでき るでしょう。ファームウェアのコピーを、インストールの最後で再起動する前に、イン ストールを行ったシステムの同じ場所へも行うのを忘れないでください。 第3章 Debian GNU/Linux のインストール前に 目次 3.1. インストールプロセスの概要 3.2. 既存データをバックアップしてください! 3.3. 必要な情報 3.3.1. 文書 3.3.2. ハードウェア情報の取得先 3.3.3. ハードウェア互換性 3.3.4. ネットワークの設定 3.4. 必要な最低限のハードウェア 3.5. マルチブートシステムでの事前パーティション分割 3.6. インストール前に行うハードウェア・OS の設定 本章は、インストーラを起動する前の、 Debian をインストールする準備について扱い ます。ここでは、データのバックアップ、ハードウェアに関する情報収集、必要な情報 の特定といったことを含みます。 3.1. インストールプロセスの概要 はじめに、再インストールについて述べておきます。 Debianで、システムの完全な再イ ンストールが必要になる状況は、非常にまれです。おそらく、もっともありそうなケー スはハードディスクの機械的な故障でしょう。 多くの普通のオペレーティングシステムが、重大な故障が起きたり、 OS の新バージョ ンへのアップグレードの際に、完全インストールを要求するかもしれません。完全な新 インストールを要求しなくても、使用するプログラムを新 OS で適切に動かすために再 インストールしなければなりません。 Debian GNU/Linux では、うまく行かない場合、OS を取り替えるのではなく修理できる ケースの方がはるかに多いでしょう。アップグレードでは大量のインストールは必要あ りませんし、常にその場でアップグレードできます。また OS のリリースが続いても、 プログラムにはほとんど常に互換性があります。プログラムの新バージョンが、より新 しい依存するソフトウェアを要求する場合、 Debian パッケージングシステムは、必要 なソフトウェアをすべて自動的に識別し、確実にインストールします。再インストール が必要ないように力を尽くしてきており、再インストールをしなくてはならないという のは、最後の手段であるというのがポイントです。インストーラは、既に存在するシス テムに対して再インストールするように、設計されていません。 ここでは、インストールプロセスの中で行う処理を一段階ずつまとめておきましょう。 1. インストールするハードディスクにある、既存のデータや文書のバックアップ。 2. インストールを始める前に、コンピュータの情報と必要な文書を集める。 3. ハードディスクに Debian のパーティションに使える領域を確保する。 4. インストーラと、そのマシンで必要な特殊なドライバファイルの場所を確認ないし ダウンロードする。(Debian CD ユーザは不要) 5. 起動テープ・フロッピー・USB メモリを作る。または起動ファイルを配置する。 (ほとんどの Debian CD ユーザは CD のどれかから起動できます) 6. インストールシステムを起動する。 7. インストールする言語を選択する。 8. 可能なら、イーサネットネットワーク接続を有効にする。 9. Debian をインストールするパーティションを作成し、マウントする。 10. 自動で行われる基本システムのダウンロード・インストール・セットアップを監視 する。 11. Debian GNU/Linux と既存システムを起動するブートローダをインストールする。 12. 新しいシステムを初めて起動する。 インストール中に問題があったら、どのステップのどのパッケージでつまずいたかを知 るお手伝いをします。このインストール劇の、そんな主演ソフトウェア俳優をご紹介し ます。 インストーラの debian-installer は、このマニュアルの主役です。ハードウェアを検 出して適切なドライバをロードし、 dhcp-client を使用してネットワーク接続を設定し 、基本システムパッケージをインストールするのに debootstrap を実行し、さらに追加 ソフトウェアをインストールする tasksel を実行します。このプロセスで多くの俳優が 、より小さな役を演じますが、初めて新しいシステムを起動する時に、 debian-installer はそのタスクを終えることになります。 システムをお好みに調整するには、tasksel を使用して Web サーバやデスクトップ環境 といった、様々なソフトウェアの定義済みセットを選択・インストールできます。 インストール時の重要な選択肢に、X Window System とグラフィカルデスクトップ環境 の 1 つからなる、グラフィカルデスクトップ環境をインストールするかどうかがありま す。「デスクトップ環境」タスクを選択しない場合、比較的基本的な、コマンドライン 駆動システムになります。かなり大きなディスク領域を必要とし、また、多くの Debian GNU/Linux システムは、グラフィカルユーザインターフェースを特に必要としないサー バであるため、デスクトップ環境タスクはオプションとなっています。 X Window System は、 debian-installer とは完全に分かれていて、実際には非常に複 雑なことに注意してください。 X Window System のインストールとトラブルシュートは 、このマニュアルでは扱いません。 3.2. 既存データをバックアップしてください! インストールを始める前に、現在使用しているシステムのすべてのファイルをバックア ップしてください。今回が、最初から入っていたもの以外の OS をインストールする最 初の試みでしたら、おそらくディスクのパーティション分割をやり直して Debian GNU/ Linux 用の領域を作る必要があるでしょう。ディスクのパーティション分割作業では、 どんなプログラムを使ったとしても、ディスク上のすべてのデータを消してしまう危険 を冒すことになります。インストールに用いられるプログラム群は、極めて信頼性が高 く、何年も使用されてきたものです。しかし、これらは強力な機能を持つことになるの で、誤動作が起こったときの被害も大きくなります。バックアップを取った後でも、質 問に答える前に充分注意し、よく考えて行動に移してください。ほんの数分間程余計に 配慮することで、何時間もの不要な作業を避けることができるかもしれません。 また、システムをマルチブートシステムにする (複数のオペレーティングシステムを共 存させる) 場合には、既にインストールされている OS の配付メディアが手元にあるこ とを確かめてください。特にブートドライブのパーティションを切り直す場合は、オペ レーティングシステムのブートローダや、場合によっては (Macintosh などでは) オペ レーティングシステムそのものを再インストールしなければならないかもしれません。 3.3. 必要な情報 3.3.1. 文書 3.3.1.1. インストールマニュアル 現在ご覧になっている文書は、 Debian の etch リリース用インストールガイドの正式 版です。これは様々な形式と様々な言語で利用できます。 3.3.1.2. ハードウェアの文書 しばしば、ハードウェアの設定や使用についての有用な情報を含んでいます。 ● Linux/Mips ウェブサイト 3.3.2. ハードウェア情報の取得先 多くの場合、インストーラはハードウェアを自動的に検出することができます。しかし 、準備としてインストール前にハードウェアに習熟することをお奨めします。 ハードウェアの情報は次のようなところから集められます。 ● 各ハードウェアに付属してきたマニュアル。 ● コンピュータの BIOS 設定画面。この画面を表示させるには、コンピュータの起動 時に何らかのキーの組合せを入力します。この組合せについてはマニュアルを見て ください。 Delete キーの場合が多いようです。 ● 各ハードウェアのケースや箱。 ● 他の OS のシステムコマンドやシステムツール、ファイルマネージャの表示など。 こちらからは、 RAM やハードドライブのメモリに関する情報が得られることが多い です。 ● あなたの部門のシステム管理者や、インターネットサービスプロバイダ。こちらか らは、ネットワークや電子メールに関する設定情報が得られます。 表 3.1. インストールに必要なハードウェア情報 ┌───────┬─────────────────────────────┐ │ ハードウェア │ 必要な情報 │ ├───────┼─────────────────────────────┤ │ │ドライブの台数 │ │ ├─────────────────────────────┤ │ │システムでの接続順序 │ │ ├─────────────────────────────┤ │ │IDE か SCSI か (大抵のコンピュータは IDE) │ │ハードディスク├─────────────────────────────┤ │ │利用できる空き領域 │ │ ├─────────────────────────────┤ │ │パーティション │ │ ├─────────────────────────────┤ │ │他の OS がインストールされているパーティション │ ├───────┼─────────────────────────────┤ │ │メーカーと型番 │ │ ├─────────────────────────────┤ │ │サポートする解像度 │ │ ├─────────────────────────────┤ │ │水平同期周波数 │ │モニタ ├─────────────────────────────┤ │ │垂直同期周波数 │ │ ├─────────────────────────────┤ │ │サポートする色深度 (色数) │ │ ├─────────────────────────────┤ │ │スクリーンサイズ │ ├───────┼─────────────────────────────┤ │ │形式: シリアル, PS/2, USB のいずれか │ │ ├─────────────────────────────┤ │ │ポート │ │マウス ├─────────────────────────────┤ │ │メーカー │ │ ├─────────────────────────────┤ │ │ボタンの数 │ ├───────┼─────────────────────────────┤ │ │メーカーと型番 │ │ネットワーク ├─────────────────────────────┤ │ │アダプタの形式 │ ├───────┼─────────────────────────────┤ │ │メーカーと型番 │ │プリンタ ├─────────────────────────────┤ │ │サポートする印刷解像度 │ ├───────┼─────────────────────────────┤ │ │メーカーと型番 │ │ ├─────────────────────────────┤ │ビデオカード │利用できるビデオ RAM │ │ ├─────────────────────────────┤ │ │サポートする解像度と色深度 (モニタの機能もチェックするこ │ │ │と) │ └───────┴─────────────────────────────┘ 3.3.3. ハードウェア互換性 ブランドメーカーの製品の多くは、問題なく Linux で動作します。また Linux でサポ ートするハードウェアも日々進歩しています。しかし、それでもまだ Linux は、ある種 の OS ほどには多種多様なハードウェアに対応していません。 以下のようにハードウェアの互換性をチェックできます。 ● 新しいドライバが出ていないか、メーカーの web サイトを調べます。 ● エミュレーション情報を web サイトやマニュアルで調べます。あまり有名でないブ ランドの場合、もっと有名なブランドのドライバや設定が使えることもあります。 ● Linux のハードウェア互換性情報を、自分のアーキテクチャ向けの web サイトで調 べます。 ● 他に使ったことのあるユーザがいないか、インターネットで調べます。 3.3.4. ネットワークの設定 インストール対象のコンピュータがネットワークに 24 時間フルに接続されているなら ば (つまり、PPP 接続ではなく Ethernet やそれと同等な接続の場合)、ネットワーク管 理者に以下の情報を尋ねておかなければなりません。 ● ホスト名 (自分で決められるかもしれません) ● ドメイン名 ● コンピュータの IP アドレス ● ネットワークのネットマスク ● ネットワークにゲートウェイがある場合は、経路を向けるデフォルトゲートウェイ システムの IP アドレス ● DNS (Domain Name Service) サーバとして使用するネットワーク上のホスト 一方、管理者に DHCP サーバが利用でき推奨すると言われたなら、 DHCP サーバがイン ストールプロセスの間、コンピュータに直接提供するので、この情報は必要ありません 。 ワイヤレスネットワークが使用できるなら以下の情報も探さねばなりません。 ● ワイヤレスネットワークの ESSID ● (適用できるなら) WEP セキュリティキー 3.4. 必要な最低限のハードウェア コンピュータのハードウェアに関する情報が集まったら、そのハードウェアが今から行 おうとしているインストールの条件に足るものであるかどうかをチェックしましょう。 やむを得ない場合は、以下に載っているリストよりは性能の劣るハードウェアでなんと かしなければならないこともあるでしょう。しかし、これらのお奨めを無視した場合は 、結局不満を感じる可能性が高くなってしまうと思います。 表 3.2. 最低限必要なシステム (推奨値) ┌─────────┬───────┬───────┬───────┐ │インストールタイプ│ RAM (最小) │ RAM (推奨) │ハードディスク│ ├─────────┼───────┼───────┼───────┤ │デスクトップなし │64 メガバイト │256 メガバイト│1 ギガバイト │ ├─────────┼───────┼───────┼───────┤ │デスクトップあり │64 メガバイト │512 メガバイト│5 ギガバイト │ └─────────┴───────┴───────┴───────┘ 実際に必要な最小メモリはこの表に挙げた物よりも少なくなります。アーキテクチャに 依存しますが、最小 20MB (s390) から 48MB (i386, amd64) で Debian をインストール できます。必要なディスクスペースにも同じことが言え、特にインストールするアプリ ケーションを選択する場合、必要なディスクスペースについての追加情報は、項D.2. 「 タスクに必要なディスクの空き容量」をご覧ください。 旧式ないしローエンドシステムでも、グラフィカルデスクトップ環境を実行できますが 、 GNOME や KDE といったデスクトップ環境よりも、リソースを消費しないウィンドウ マネージャをインストールするのをお奨めします。代替品には、xfce4, icewm, wmaker が含まれますが、他にも選択できます。 サーバが何に使用されるかによって、サーバのインストール時に必要な、大量の一般的 なメモリやディスク領域を与えるのは実際には不可能です。 これらのサイズには、通常存在するユーザファイル、メール、データなどは含まれてい ないことにご注意ください。自分のファイルやデータに必要な容量は、気前良く確保し ておくに越したことはありません。 Debian GNU/Linux システムを円滑に操作するのに必要なディスクスペースについては、 お奨めするシステム要件で考慮されています。特に、/var パーティションには、ログフ ァイルのような一般的な内容に加え、Debian 特有の状態情報が多く置かれます。 dpkg のファイル (インストールされたパッケージすべてに関する情報) は、簡単に 40MB を 消費します。また apt-get は、インストールする前にダウンロードしたパッケージをこ こに置きます。 /var には最低 200MB は割り当てておくべきですし、グラフィカルデス クトップ環境をインストールする場合には、もっと割り当てるべきでしょう。 3.5. マルチブートシステムでの事前パーティション分割 「ディスクのパーティション分割」とは、ディスクをセクションに分けることです。各 セクションは他のセクションから独立しています。この作業は要するに、家の中に壁を 作るようなものです。ある部屋に家具を入れても、それは他の部屋には影響しないとい うわけです。 システム上に既にオペレーティングシステムが入っていて、同じディスクに Linux も入 れたい場合には、ディスクのパーティション分割をやり直す必要があります。 Linux は Windows や MacOS のパーティションにはインストールできません。他の Linux システ ムとはパーティションを共有することも可能かもしれませんが、ここではそれは取り扱 いません。少なくとも、Debian の root には専用のパーティションが必要となります。 現在のパーティションの設定は、のような、現在の OS に対応したパーティション分割 ツールを使えばわかります。パーティション分割ツールには、必ず既存のパーティショ ンを (変更せずに) 表示する機能が付いています。 一般には、既にファイルシステムの入っているパーティションを変更すると、そこの情 報はすべて破壊されてしまいます。従って、パーティション分割をやり直す前には、必 ずバックアップを取っておくべきです。また家の比喩を用いてみましょう。壁を動かす 前には、家具が壊れないよう、それらは前もってどけておくでしょう? コンピュータに 2 台以上のハードディスクがある場合は、その内の 1 台を Debian 専 用にするといいかもしれません。そうすれば、インストールシステムの起動前にパーテ ィション分割を行う必要はありません。インストーラに含まれているパーティション分 割プログラムが、この仕事を的確にこなしてくれます。 マシンに 1 台しかディスクがなくても、現在の OS を Debian GNU/Linux で完全に置き 換えてしまうつもりなら、パーティション分割はインストーラを起動した後で、インス トール作業の一部として行って構いません (項6.3.2.1. 「ディスクのパーティション分 割」)。しかしこれが可能なのは、インストーラシステムをテープ、CD-ROM、接続された マシンのファイルのいずれかから起動する場合だけです。ちょっと考えてみてください 。ハードディスクにあるファイルから起動して、起動したインストールシステムからそ のファイルのあるディスクをパーティション分割し、つまり起動ファイルを消してしま ったとしたら。そのインストールが一発でうまいこと行くように祈るしかないですね。 まあこの場合に最悪の状況となったとしても、もともと入っていたシステムのインスト ールテープや CD などで、コンピュータを元の状態に戻す方法はきっとあるでしょうが 。 既にコンピュータに複数のパーティションがあり、それらの一部を消したり置き換えた りすることによって充分な空き領域が確保できる場合にも、 Debian インストーラのパ ーティション分割プログラムで作業を行って構いません。しかしこの場合でも、以降の 内容は目を通しておきましょう。パーティションマップ中の現在のパーティションの並 び順などによって、いずれにしてもインストール前にパーティション分割作業をしなけ ればならないような場合もあり得るからです。 上記のどれにも当てはまらない場合、インストールをはじめる前にパーティション分割 を行い、Debian に割り当て可能な領域を作ってやらなければなりません。一部のパーテ ィションを他の OS に使う場合は、そのパーティションはその OS のパーティション分 割ツールで作成するほうが良いでしょう。しかし Debian GNU/Linux 用のパーティショ ンは、他の OS のツールでは作らないようお勧めします。そのツールで作るのは、残し ておきたい OS のパーティションだけにしてください。 同じマシンに複数の OS をインストールするつもりでしたら、 Linux をインストールす る前に、他の OS を全部先にインストールしておきましょう。 Windows などの他の OS をインストールすると、 Linux を起動する機能が破壊されてしまったり、あるいはその OS のものでないパーティションをフォーマットし直すよう促されたりするからです。 このような動作から復旧したり、そのような提案を断ったりすることはできますが、先 にそちらのシステムをインストールしておけば、最初からトラブルを避けることができ ます。 現在ディスクがひとつ、パーティションもひとつ (デスクトップコンピュータだと普通 の設定) になっていて、元の OS と Debian とのデュアルブートにしたい場合は、以下 の手順を踏む必要があります。 1. コンピュータのすべてをバックアップする。 2. 元の OS のインストールメディア (CD-ROM やテープ) から起動する。 3. 既存の OS のパーティション分割ツールを使って、そのシステムのパーティション を作る。 Debian GNU/Linux 用にも場所埋めのパーティションか、空き領域を作る 。 4. その OS を、新しくつくったパーティションにインストールする。 5. 新しく入れたその OS で起動しなおして、すべて問題ないか確かめる。問題なけれ ば Debian インストーラの起動ファイルをダウンロードする。 6. Debian インストーラを起動して、Debian のインストールを続ける。 3.6. インストール前に行うハードウェア・OS の設定 この節では、Debian のインストールに先立って必要となるハードウェアの設定について 見ていきます。通常この作業では、システムのファームウェアの設定をチェックし、場 合によってはその設定を変更することになります。「ファームウェア」は、ハードウェ アが利用する中核的なソフトウェアで、電源投入後のブートプロセスの間に起動される 、最も重要なものです。あなたが使うことになる Debian GNU/Linux の信頼性に影響を 与えうる、既知のハードウェアの諸問題についても、同様に取り扱っていく予定です。 第4章システムインストールメディアの入手 目次 4.1. 公式 Debian GNU/Linux CD-ROM セット 4.2. Debian ミラーサイトからのファイルのダウンロード 4.2.1. どこでインストールイメージを探すか 4.3. TFTP ネットブート用ファイルの準備 4.3.1. DHCP サーバの設定 4.3.2. TFTP サーバの立ち上げ 4.3.3. TFTP イメージを適切な場所に配置する 4.4. 自動インストール 4.4.1. Debian インストーラを用いた自動インストール 4.1. 公式 Debian GNU/Linux CD-ROM セット 現在、Debian GNU/Linux をインストールする最も簡単な方法は、公式 Debian CD-ROM セットを使うことです。ベンダからこのセットを購入できます。 (CD ベンダページをご 覧ください) 高速なネットワーク接続と CD 書き込み装置があれば、 Debian ミラーか ら CD-ROM イメージをダウンロードしてもかまいません (詳細説明は Debian CD ページ をご覧ください)。 Debian CD セットを持っていて、マシンをこの CD から起動できる なら、章 5. インストールシステムの起動の項目までスキップできます。多くの人が、 それぞれの環境で必要とするであろうファイルを CD に収めるようにするには、たくさ んの労力が費やされています。それでも、バイナリパッケージのフルセットには、CD が 数枚必要です。 3 枚以上 CD を使うのが嫌なら、棚の節約になって CD 交換マラソンを しなくてすむ DVD 版を考えてもいいでしょう。 あなたのマシンが CD からの起動をサポートしていなくても、 CD セットを持っている のでしたら、最初のシステムインストーラの起動にネットブート、カーネルを CD から 手動起動といった別の方法が使えます。これらの別法による起動に必要なファイルも CD にあります。 Debian ネットワークアーカイブと CD のフォルダ構成は同じです。よっ て、起動に必要となる何らかのファイルの、アーカイブ中でのファイルパスが (後述す るように) わかっていれば、 CD の同じディレクトリやサブディレクトリからファイル を探せます。 いったんインストーラが起動すれば、ほかの必要なファイルはすべて CD から取得でき ます。 CD セットを持っていない場合は、インストーラのシステムファイルをダウンロードして 、接続されたコンピュータのいずれかに保存します。そしてそこからインストーラを起 動します。 4.2. Debian ミラーサイトからのファイルのダウンロード もっとも近い (そしておそらくもっとも速い) ミラーサイトを探すには、 Debian ミラ ーサイト一覧を参照してください。 Debian ミラーサイトからファイルをダウンロードするとき、バイナリ(binary) モード でファイルをダウンロードするよう確認してください。テキスト (text) モードや自動 選択モードではだめです。 4.2.1. どこでインストールイメージを探すか インストールイメージは、各 Debian ミラーサーバの debian/dists/etch/main/ installer-mips/current/images/ にあります。 -- 各イメージとその用途が、 MANIFEST に記載されています。 4.3. TFTP ネットブート用ファイルの準備 インストール対象のマシンが LAN に接続されている場合、 TFTP を用いると、そのマシ ンをネットワーク越しに他のマシンから起動できます。インストールシステムを別のマ シンから起動するには、その「別のマシン」の特定の場所に起動ファイルを置き、また インストール対象のマシンの起動をサポートするよう設定しなければなりません。 TFTP サーバをセットアップする必要があります。また多くのマシンでは DHCP サーバの セットアップも必要です。 DHCP (Dynamic Host Configuration Protocol) は、 BOOTP との後方互換性を保ちつつ 、より柔軟に拡張させたものです。システムによっては DHCP でしか設定できないこと もあります。 Trivial File Transfer Protocol (TFTP) は、ブートイメージをクライアントに提供す るために用います。理論的には、どんなサーバでも、どんなプラットフォームでも、こ れらのプロトコルを実装してさえいれば利用できます。この節では、SunOS 4.x, SunOS 5.x (Solaris), GNU/Linux での例を示します。 4.3.1. DHCP サーバの設定 フリーソフトウェアの DHCP サーバのひとつに、 ISC の dhcpd があります。 Debian GNU/Linux では、dhcp3-server パッケージをお奨めします。以下に、設定ファイルの例 を示します。 (/etc/dhcpd.conf を参照) option domain-name "example.com"; option domain-name-servers ns1.example.com; option subnet-mask 255.255.255.0; default-lease-time 600; max-lease-time 7200; server-name "servername"; subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.200 192.168.1.253; option routers 192.168.1.1; } host clientname { filename "/tftpboot/tftpboot.img"; server-name "servername"; next-server servername; hardware ethernet 01:23:45:67:89:AB; fixed-address 192.168.1.90; } この例では、servername というサーバがひとつあり、 DHCP サーバ, TFTP サーバ, ネ ットワークゲートウェイの仕事をすべて行っています。 domain-name オプション、サー バ名、クライアントのハードウェアアドレスは、必ず変更する必要があります。 filename オプションは TFTP 経由で取得するファイルの名前です。 dhcpd の設定ファイルの編集を終えたら、 /etc/init.d/dhcpd3-server restart で dhcpd を再起動してください。 4.3.2. TFTP サーバの立ち上げ TFTP サーバを立ち上げるには、まず tftpd が有効になっているか確認します。 /etc/ inetd.conf に次のような行があればおそらく大丈夫です。 tftp dgram udp wait nobody /usr/sbin/tcpd in.tftpd /tftpboot Debian パッケージは一般的にインストールする際、デフォルトで正しくセットアップで きます。 注意 歴史的に TFTP サーバは、イメージを提供するディレクトリに /tftpboot を使用します 。しかし Debian GNU/Linux のパッケージでは、 Filesystem Hierarchy Standard を満 たす別のディレクトリを使用する可能性があります。例えば、tftpd-hpa では /var/lib /tftpboot をデフォルトで使用します。必要に応じて、本節の設定例を調整してくださ い。 /etc/inetd.conf を見て、in.tftpd の引数に与えられているディレクトリを覚えておい てください^[2]。後でこのディレクトリを使います。 /etc/inetd.conf を変更したら、 変更したことを inetd に伝えなければなりません。 Debian マシンでは /etc/init.d/ inetd reload を実行します。他のマシンでは、inetd のプロセス ID を見つけて、 kill -HUP inetd-pid を実行します。 SGI マシンに Debian をインストールする際、 TFTP サーバが Linux 2.4 で動作してい る GNU/Linux の場合は、次の設定を行う必要があります。 # echo 1 > /proc/sys/net/ipv4/ip_no_pmtu_disc これを行わないと、SGI の PROM はカーネルをダウンロードできません。さらに、TFTP パケットのソースポートは 32767 以上であってはいけません。さもないと最初のパケッ トを受信しただけでダウンロードが停止します。この PROM のバグに引っかかるのも Linux 2.4.X です。これを避けるには # echo "2048 32767" > /proc/sys/net/ipv4/ip_local_port_range を実行し、Linux TFTP サーバが用いるポートの範囲を調整してください。 4.3.3. TFTP イメージを適切な場所に配置する 次に行うことは、項4.2.1. 「どこでインストールイメージを探すか」の記述にある、必 要な TFTP ブートイメージを、 tftpd のブートイメージディレクトリに置く作業です。 tftpd が特定のクライアントの起動に用いるファイルへのリンクを、ここに作成してく ださい。残念ながら、ファイルの名前は TFTP クライアントによって決まり、強制力の ある標準は存在しません。 4.3.3.1. SGI TFTP ブート SGI のマシンでは、TFTP ファイルの名前の指定を bootpd に行わせることができます。 これは /etc/bootptab の bf= に指定するか、 /etc/dhcpd.conf の filename= オプシ ョンに指定します。 4.3.3.2. Broadcom BCM91250A, BCM91480B の TFTP ブート CFE にロードするファイルのフルパスを渡しているため、特殊な DHCP の設定をする必 要はありません。 4.4. 自動インストール 複数のコンピュータにインストールするため、完全自動インストールが可能です。この ための Debian パッケージは、 fai (インストールサーバを使う場合), replicator, systemimager, autoinstall, それに Debian インストーラそのものです。 4.4.1. Debian インストーラを用いた自動インストール Debian インストーラは、 preconfiguration ファイルによる自動インストールをサポー トしています。 preconfiguration ファイルは、ネットワークやリムーバブルメディア から読み込まれ、インストール中の質問に対する回答を、埋めていくのに使われます。 編集できる動作サンプルを含む preseed の完全なドキュメントは、付録 B. preseed を 利用したインストールの自動化にあります。 ━━━━━━━ ^[2] in.tftpd のバージョンによっては、 -l 引数をつけると、すべての要求をシステ ムログに記録できます。これは起動エラーの診断に有用です。 第5章インストールシステムの起動 目次 5.1. Mips でのインストーラの起動 5.1.1. TFTP での起動 5.1.2. ブートパラメータ 5.2. ブートパラメータ 5.2.1. Debian Installer パラメータ 5.3. インストールプロセスのトラブルシューティング 5.3.1. CD-ROM の信頼性 5.3.2. 起動設定 5.3.3. カーネルの起動時メッセージの意味 5.3.4. インストールで発生した問題の報告 5.3.5. インストールレポートの送信 5.1. Mips でのインストーラの起動 5.1.1. TFTP での起動 5.1.1.1. SGI の TFTP での起動 SGI のマシンで、コマンドモニタに入ったところで bootp(): と入力すると、linux が起動して Debian ソフトウェアのインストールが始まります。 インストーラを正しく動作させるには、環境変数 netaddr の設定を解除しなければなら ないこともあります。これにはコマンドモニタから unsetenv netaddr とします。 5.1.1.2. Broadcom BCM91250A/BCM91480B の TFTP での起動 Broadcom BCM91250A/BCM91480B 評価ボードでは、 Debian インストーラをロードし起動 するのに、 SiByl ブートローダを TFTP 経由でロードしなければなりません。ほとんど の場合、始めに IP アドレスを DHCP 経由で取得しますが、静的アドレスを設定するこ とも可能です。 DHCP を使用するためには、CFE プロンプトで以下のコマンドを入力し ます。 ifconfig eth0 -auto いったん IP アドレスを取得したら、以下のコマンドで SiByl をロードできます。 boot 192.168.1.1:/boot/sibyl この例の IP アドレスを、使用する TFTP サーバの名前や IP アドレスで置き換える必 要があります。いったんこのコマンドを発行すると、インストーラは自動でロードされ ます。 5.1.2. ブートパラメータ 5.1.2.1. SGI の TFTP での起動 SGI のマシンでは、コマンドモニタの bootp(): コマンドにブートパラメータを追加し ます。 bootp/dhcp サーバの方から名前を与えていない場合は、 bootp(): の後に起動させるフ ァイルのパスと名前を与えることが可能です。例: bootp():/boot/tftpboot.img さらにカーネルパラメータは append を通して渡せます: bootp(): append="root=/dev/sda1" 5.1.2.2. Broadcom BCM91250A/BCM91480B の TFTP での起動 CFE プロンプトからは、どんなブートパラメータも直接渡せません。その代わり、 TFTP サーバの /boot/sibyl.conf ファイルを編集し、パラメータを extra_args に追加する 必要があります。 5.2. ブートパラメータ ブートパラメータとは Linux カーネルのパラメータのことで、一般には周辺機器を適切 に扱うために用います。ほとんどの場合、カーネルは周辺機器の情報を自動的に検出し ます。しかし、場合によっては少々カーネルを助けてあげないといけないこともあるの です。 システムを初めて起動する場合は、デフォルトのブートパラメータを試して (つまりな にもパラメータを設定せずに)、正確に動作するか観察してください。たいていはうまく いくと思います。なにか問題が起こったら、そのハードウェアに関する情報をシステム に伝えるためのパラメータを調べ、あとで再起動します。 多くのブートパラメータの情報は (曖昧なハードウェア用の tips 込みで)、 Linux BootPrompt HOWTO で見つけられます。本節は、最も顕著なパラメータの概要だけを含ん でいます。いくつか共通のものは項5.3. 「インストールプロセスのトラブルシューティ ング」以下に含まれています。 カーネルが起動するときには、プロセスの最初のほうで Memory:availk/totalk available というメッセージが表示されます。 total は利用可能な RAM の総量をキロバイト単位 で表しています。この値が実際に搭載している RAM の量と一致しないときには、 mem= ram というパラメータが必要になります。 ram のところには、実際に搭載しているメモ リ量を、キロバイト単位なら「k」、メガバイト単位なら「m」を後ろにつけて記入しま す。例えば、 mem=65536k も mem=64m も 64MB の RAM を意味します。 起動の際にシリアルコンソールを使うと、通常カーネルはこちらを自動検出します。た だし、シリアルコンソールから起動させたいコンピュータにビデオカード (フレームバ ッファ) とキーボードもついている場合には、カーネルに console=device というパラ メータを渡す必要があるでしょう。 device は利用するシリアルデバイスです。これは 普通 ttyS0 のようになるでしょう。 5.2.1. Debian Installer パラメータ インストールシステムは、おそらく便利だと思われる、追加起動パラメータ^[3]をいく つか認識します。 多くのパラメータは、カーネルコマンドラインオプションの制限を避けたり、パラメー タの入力を簡単にするため、「短縮形」を持っています。パラメータに短縮形がある場 合、(通常の)長い形式の後にかっこで囲っています。本マニュアルの例は、通常、短縮 形も使用しています。 debconf/priority (priority) このパラメータには、表示するメッセージのもっとも低い優先度を設定します。 デフォルトのインストールでは、 priority=high を使用します。優先度が「高」の ものと、「重要」のもののメッセージを表示し、「標準」や、「低」のメッセージ はスキップします。問題にぶつかった場合、インストーラは必要な優先度に調整し ます。 ブートパラメータに priority=medium を追加すると、インストールメニューが表示 され、インストールについて、さらに多くの制御を行うことができます。 priority =low を使った場合は、すべてのメッセージを表示します (expert 起動法と等価)。 priority=critical の場合は、インストールシステムは重要なメッセージだけを表 示し、大騒ぎせずに正しい設定をしようとします。 DEBIAN_FRONTEND このブートパラメータはインストーラで使うユーザインターフェースを制御します 。現在有効な設定は以下の通りです。 ● DEBIAN_FRONTEND=noninteractive ● DEBIAN_FRONTEND=text ● DEBIAN_FRONTEND=newt ● DEBIAN_FRONTEND=gtk デフォルトのフロントエンドは DEBCONF_FRONTEND=newt です。シリアルコンソール でインストールするには、 DEBIAN_FRONTEND=text とすべきでしょう。一般的に、 デフォルトのインストールメディアでは newt フロントエンドのみが利用可能です 。サポートしているアーキテクチャでは、グラフィカルインストーラが gtk フロン トエンドを使用します。 BOOT_DEBUG このブートパラメータに 2 を設定すると、インストーラの起動プロセス中に詳細な ログを出力します。 3 を設定すると、起動プロセスの要所でデバッグ用のシェルが 利用できます。 (シェルを終了すると起動プロセスを継続します) BOOT_DEBUG=0 デフォルトです。 BOOT_DEBUG=1 通常よりも詳細です。 BOOT_DEBUG=2 デバッグ情報を大量に表示します。 BOOT_DEBUG=3 詳細なデバッグを行うよう、ブートプロセスの様々な箇所でシェルが実行され ます。起動を続けるにはシェルから抜けてください。 INSTALL_MEDIA_DEV このパラメータの値には、Debian インストーラを読み込むデバイスのパスを指定し ます。例えば、INSTALL_MEDIA_DEV=/dev/floppy/0 となります。 ブートフロッピーは root フロッピーを探すのに、通常は全フロッピーを検索しま すが、このパラメータで 1 つのデバイスを探すように上書きできます。 debian-installer/framebuffer (fb) いくつかのアーキテクチャでは、多くの言語でインストールを行うために、カーネ ルフレームバッファを使用します。フレームバッファが問題となるシステムの場合 、 fb=false パラメータによってこの機能を無効にできます。 bterm や bogl に関 するエラーメッセージや、真っ暗な画面、インストールが始まって数分後にフリー ズがおきたら問題の兆候です。 debian-installer/theme (theme) テーマ (theme) はインストーラのユーザインターフェースがどのように見えるか (色、アイコンなど) を決定します。現在、newt と gtk のフロントエンドにのみ、 目の不自由な方向けにデザインされた「dark」テーマがあります。起動時のパラメ ータに、 theme=dark と指定してテーマを設定してください。 debian-installer/probe/usb 起動時の USB の検出で問題が起きる場合は、これに false を設定してください。 netcfg/disable_dhcp デフォルトでは、debian-installer は DHCP によりネットワークの設定を自動検出 します。検出が成功すると、確認する機会がなく検出値を変更できないでしょう。 DHCP の検出が失敗する場合のみ、手動ネットワーク設定を行えます。 ローカルネットワークに DHCP サーバがあるのに、それを回避したい場合 (例: 誤 った値を返す等)、 DHCP でのネットワーク設定をせず手動で情報を入力するのに、 netcfg/disable_dhcp=true パラメータを使用できます。 hw-detect/start_pcmcia PCMCIA サービスが原因で問題が発生する場合、 false を設定することで、起動し ないようにすることができます。いくつかのラップトップコンピュータには、そう いう行儀悪さがあることが知られています。 preseed/url (url) preconfiguration ファイルをダウンロードする URL を指定します。これは自動イ ンストールで使用します。項4.4. 「自動インストール」を参照してください。 preseed/file (file) 自動インストールで読み込む preconfiguration ファイルの PATH を指定します。 項4.4. 「自動インストール」を参照してください。 preseed/interactive preseed 中に質問を表示する場合には、true を設定します。事前設定ファイルのテ ストやデバッグに便利でしょう。これは、ブートパラメータに渡すパラメータには 影響を及ぼしませんが、特殊な文法が使えるようになります。詳細は、項B.5.2. 「 preseed を用いたデフォルト値変更」をご覧ください。 auto-install/enable (auto) 通常 preseed の前に行われる質問を、ネットワークの設定が終わるまで遅らせます 。自動インストールでこのパラメータを使用する際には、項B.2.3. 「自動モード」 をご覧ください。 cdrom-detect/eject デフォルトで debian-installer は、再起動の前にインストールに使用した光学メ ディアを、自動的に排出します。自動的に CD から起動しないようなシステムでは 、これは必要ありませんし、特定の状況下では、困ることになる可能性もあります 。例えば、光学ドライブがメディアを再び差し込むことができず、手で挿入するよ うユーザがいなければいけないのに、行うユーザがそこにいないなど。大半のスロ ットローディング、スリムライン、キャディタイプのドライブは、自動的にメディ アをリロードできません。 false に設定すると、自動排出を無効にできます。また、システムの初期インスト ール後に、光学ドライブから自動起動しないことを保証する必要があります。 debian-installer/allow_unauthenticated デフォルトでは、既知の gpg キーで認証されたリポジトリが、インストーラには必 要です。この認証を無効にするのに true と設定してください。警告: 危険です。 お奨めしません。 ramdisk_size このパラメータが必要な場合は、すでに正しい値が設定されているはずです。その 上で、RAM ディスクが完全にロードされずに起動に失敗する場合のみ、設定してく ださい。値は kB で指定してください。 rescue/enable 通常のインストールではなく、レスキューモードを実行する場合、 true にセット してください。項8.7. 「起動しなくなってしまったシステムの回復」をご覧くださ い。 5.2.1.1. ブートパラメータで質問に答える 例外的に、インストール中の質問にブートパラメータで答を与えることができます。こ れは、特殊な状況でのみ便利です。この方法の概要は、項B.2.2. 「preseed が質問する ブートパラメータの利用」にあります。特殊な例を以下に示します。 debian-installer/locale (locale) インストールする際の言語や国の情報を設定するのに使用します。これは Debian でロケールをサポートしている場合のみ有効です。例えば、言語にドイツ語、国に スイスを指定するには、 locale=de_CH と指定します。 anna/choose_modules (modules) デフォルトではロードされないインストーラコンポーネントを、自動的に読み込む のに使用します。追加コンポーネントの例として、openssh-client-udeb (インスト ール中に scp コマンドを使用できる) や、 ppp-udeb (項D.4. 「PPP over Ethernet (PPPoE) を用いた Debian GNU/Linux のインストール」をご覧ください) が便利です。 netcfg/disable_dhcp DHCP を無効にし、静的ネットワーク設定を強制するには、 true と設定します。 mirror/protocol (protocol) デフォルトでインストーラは、 Debian のミラーサイトからファイルをダウンロー ドするのに http プロトコルを使用し、通常の優先度ではインストール中に ftp に 変更できません。このパラメータに ftp と設定すると、インストーラに ftp を使 用するように強制できます。一覧から ftp ミラーを選択できず、ホスト名を手入力 しなければならないことに注意してください。 tasksel:tasksel/first (tasks) kde-desktop タスクのような、タスク一覧に表示されないタスクを選択するのに使 用します。さらなる情報は項6.3.5.2. 「ソフトウェアの選択・インストール」をご 覧ください。 5.2.1.2. カーネルモジュールへパラメータを渡す カーネル内にコンパイルされているドライバの場合、カーネルのドキュメントに記載さ れている方法でパラメータを渡せます。しかし、ドライバがモジュールとしてコンパイ ルされており、インストールしたシステムの起動時に、インストール時と比べてカーネ ルモジュールの読み込みが若干異なる場合、通常の方法ではモジュールにパラメータを 渡せません。代わりに、インストーラが認識できる特殊文法を使って適切な設定ファイ ルにパラメータを格納しなければなりません。パラメータは実際にモジュールをロード する際に利用されます。パラメータは自動的にインストールしたシステムに伝播します 。 モジュールにパラメータを渡さなければならないというのは、本当にまれな状況だとい うことに注意してください。ほとんどの場合、カーネルはシステムにあるハードウェア から得られる値を検出し、適切な値を設定してくれます。しかしある状況下では、未だ にパラメータを手で設定しなければなりません。 モジュールにパラメータを設定する文法は以下のようになります。 module_name.parameter_name=value 1 つないし複数のモジュールに、複数のパラメータを渡す場合は繰り返してください。 例えば、古い 3Com のネットワークインターフェースカードで BNC (coax) を使用し、 IRQ 10 を設定する場合は、以下のようにします。 3c509.xcvr=3 3c509.irq=10 5.2.1.3. カーネルモジュールのブラックリスト化 時には、カーネルや udev が自動的にモジュールを読み込むのを防ぐために、ブラック リストに載せる必要があるかもしれません。目的の 1 つには、特定のモジュールが、あ なたのハードウェアで問題を起こす場合が挙げられます。またカーネルに、同じデバイ スに対して複数の異なるドライバがある場合もあります。ドライバが衝突したり、間違 ったドライバを先に読み込んでしまうと、デバイスが正しく動作しない原因となります 。 module_name.blacklist=yes といった文法でモジュールをブラックリストに指定できま す。これでそのモジュールが /etc/modprobe.d/blacklist.local にあるブラックリスト に指定され、インストール中・インストールしたシステムの双方で、ブラックリストが 有効になります。 インストールシステム自体が、モジュールをまだ読み込んでいる可能性があることに注 意してください。エキスパートモードでインストールを行い、ハードウェア検出時にモ ジュールの一覧からモジュールの選択を外すことで、モジュールの読み込みを防げます 。 5.3. インストールプロセスのトラブルシューティング 5.3.1. CD-ROM の信頼性 時々、特に古い CD-ROM ドライブの場合、 CD-ROM からのインストーラの起動に失敗す るかもしれません。また、インストーラは (その CD-ROM から起動しても) CD-ROM を認 識しなかったり、インストール中、 CD の読み込みでエラーを返す可能性もあります。 この問題の原因は様々なことが考えられます。一般的な問題を挙げて、一般的な対処法 を提供することしかできません。後はあなた次第です。 まずはじめに試すのは、以下の 2 点です。 ● CD-ROM が起動しない場合、正しく挿入されているか、汚れていないかを確認してく ださい。 ● インストーラが CD-ROM を認識しない場合、次に CD-ROM の検出とマウントを実行 してください。古い CD-ROM ドライブの DMA に関連する問題は、この方法で解決す ることが知られています。 これでも動作しない場合、以下の節にあることを試してみてください。ほとんどの (で もすべてではない) 提案は CD-ROM と DVD の両方で有効ですが、単純に CD-ROM という 用語を用いています。 CD-ROM からインストールができなければ、他のインストール方法も試してみてください 。 5.3.1.1. 共通の問題 ● 古い CD-ROM ドライブの中には、最近の CD ライタで使用するような、高速で焼い たディスクからの読み込みをサポートしていない物があります。 ● システムが CD-ROM から正しく起動するといって、 Linux がその CD-ROM ドライブ (もっと正確に言うと、CD-ROM ドライブがつながっているコントローラ) をサポー トしているとは限りません。 ● 古い CD-ROM ドライブの中には、「ダイレクトメモリアクセス」 (DMA) が有効だと 、正しく動作しない物もあります。 5.3.1.2. 調査および問題解決の方法 CD-ROM が起動に失敗したら、以下のことを試してください。 ● BIOS が CD-ROM からの起動をきちんとサポートしているか (古いシステムはおそら く無理)、 CD-ROM ドライブが使う予定のメディアをサポートしているかをチェック してください。 ● ISO イメージをダウンロードした場合、イメージをダウンロードしたのと同じ場所 にある MD5SUMS に記載されている md5sum と同じかどうかチェックしてください。 $ md5sum debian-testing-i386-netinst.iso a20391b12f7ff22ef705cee4059c6b92 debian-testing-i386-netinst.iso 次に、焼いた CD-ROM の md5sum と一致するかどうかチェックしてください。以下 のコマンドで行います。 CD-ROM から正しいバイト数を読み込むのにイメージのサ イズを利用します。 $ dd if=/dev/cdrom | \ > head -c `stat --format=%s debian-testing-i386-netinst.iso` | \ > md5sum a20391b12f7ff22ef705cee4059c6b92 - 262668+0 records in 262668+0 records out 134486016 bytes (134 MB) copied, 97.474 seconds, 1.4 MB/s インストーラの起動が成功した後で、CD-ROM を検出しない場合、単純にリトライするだ けで解決することもあります。 CD-ROM ドライブが複数ある場合、他の CD-ROM ドライ ブに変えてみてください。それでも動作しなかったり、CD-ROM を認識しても読み込みエ ラーが発生する場合は、以下のことを試してみてください。Linux の基礎知識が少し必 要です。コマンドを実行するには、まず第 2 仮想コンソール (VT2) に切り替えて、シ ェルを有効にしてください。 ● エラーメッセージをチェックするのに VT4 に切り替えたり、 /var/log/syslog の 内容を (エディタの nano を使用して) 表示してください。その後、dmesg の出力 でもチェックできます。 ● CD-ROM ドライブを認識したかを dmesg の出力でチェックしてください。以下のよ うに見えます。 (行は連続している必要はありません) Probing IDE interface ide1... hdc: TOSHIBA DVD-ROM SD-R6112, ATAPI CD/DVD-ROM drive ide1 at 0x170-0x177,0x376 on irq 15 hdc: ATAPI 24X DVD-ROM DVD-R CD-R/RW drive, 2048kB Cache, UDMA(33) Uniform CD-ROM driver Revision: 3.20 以上のように見えなければ、CD-ROM を接続したコントローラを認識できないか、お そらく全くサポートされていません。コントローラに必要なドライバが分かってい れば、 modprobe を用い、手で読み込むのを試せます。 ● /dev/ にある CD-ROM ドライブのデバイスノードをチェックしてください。上の例 では、/dev/hdc になっています。 /dev/cdroms/cdrom0 にもあるかもしれません。 ● CD-ROM がすでにマウントされていないか、 mount コマンドでチェックしてくださ い。マウントされていなければ、手でマウントしてください。 $ mount /dev/hdc /cdrom 上記のコマンド後に、エラーメッセージがでるかチェックしてください。 ● DMA が有効か、以下のようにチェックしてください。 $ cd /proc/ide/hdc $ grep using_dma settings using_dma 1 0 1 rw using_dma の後、初めの列にある「1」は、有効という意味です。その場合以下のよ うに無効にしてください。 $ echo -n "using_dma:0" >settings 確実に、CD-ROM ドライブに一致するデバイスのディレクトリで操作してください。 ● インストール中に何か問題があれば、インストーラメインメニューの下の方にある 、 CD-ROM の整合性チェックを行ってください。 CD-ROM が確実に読める場合、こ のオプションを一般的なテストとして使用できます。 5.3.2. 起動設定 ブートプロセスの最中にカーネルがハングしたり、搭載されている周辺機器やドライブ が正確に認識されないなどの問題が起こったら、まず項5.2. 「ブートパラメータ」の説 明に従ってブートパラメータを確認してください。 また、増設カードや周辺機器を取り外して再起動してみると、このような問題が解決で きることもよくあります。 マシンにメモリがたくさん (512M 以上) 積まれていて、インストーラがカーネルの起動 時にハングする場合は、 mem=512m のようなブート引き数を使って、カーネルが扱うメ モリの量を制限する必要があるかもしれません。 5.3.3. カーネルの起動時メッセージの意味 ブートシーケンスの途中で、 can't find something (〜が見つからない), something not present (〜が存在しない), can't initialize something (〜を初期化できない), this driver release depends on something (このドライバには〜が必要だ) などのメ ッセージがたくさん出力されることがあります。これらのメッセージのほとんどは無害 です。これらが出力される理由は、インストールシステムのカーネルが、いろいろな周 辺デバイスのできるだけ多くに対応しようとしているからです。そのため、OS が実際に は存在しない周辺機器を探すことになるので、文句を吐くわけです。システムがしばら く止まったように見えることもあります。これはデバイスが反応するのを待っているた めに起こるものです (実際にはそのデバイスは存在しないので、止まってみえるわけで す)。システムの起動に要する時間が堪えがたいほど長い場合は、後で自前のカーネルを 作ることもできます (項8.6. 「新しいカーネルのコンパイル」参照)。 5.3.4. インストールで発生した問題の報告 最初の起動段階は通過したのに、インストールが完了できなかった場合は、メニューか らデバッグログを保存を選択するといいかもしれません。インストーラからのシステム のエラーログや設定情報をフロッピーに格納したり、 web ブラウザでダウンロードした りできるようになります。この情報は、何が間違っていてどのように修正するか、とい った手がかりを示しているかもしれません。バグ報告を送る際に、バグ報告にこの情報 を付けることができます。 その他のインストールメッセージは、インストール中では /var/log/ で、インストール したシステムが起動した後では /var/log/installer/ にあるはずです。 5.3.5. インストールレポートの送信 まだ問題がある場合には、インストールレポートをお送りください。また、インストー ルが成功したときのインストールレポートもお送りください。そうすると、たくさんの ハードウェア設定情報を手に入れることができます。 あなたのインストールレポートは、Debian バグ追跡システム (BTS) で公開され、公開 メーリングリストに転送されることに留意してください。必ず、公開されても問題ない e-mail アドレスを使用してください。 動作する Debian システムがある場合、インストールレポートを送る最も簡単な方法は 以下のようになります。 installation-report と reportbug パッケージをインストー ル (aptitude install installation-report reportbug) し、項8.5.2. 「システムの外 に電子メールを送る」で説明しているように reportbug を設定して、 reportbug installation-reports を実行してください。 その他、インストールレポートを記入する際には、以下のテンプレートも使用できます 。そのファイルを、installation-reports 疑似パッケージのバグ報告として、 < submit@bugs.debian.org> 宛にお送りください。 Package: installation-reports Boot method: <インストーラの起動方法は? CD? フロッピー? ネットワーク?> Image version: <イメージをダウンロードした URL がベスト> Date: <インストールした日時> Machine: <マシンの説明 (例 IBM Thinkpad R32)> Processor: Memory: Root Device: Partitions: Output of lspci -nn and lspci -vnn: Base System Installation Checklist: [O] = OK, [E] = Error (please elaborate below), [ ] = didn't try it Initial boot: [ ] Detect network card: [ ] Configure network: [ ] Detect CD: [ ] Load installer modules: [ ] Detect hard drives: [ ] Partition hard drives: [ ] Install base system: [ ] Clock/timezone setup: [ ] User/password setup: [ ] Install tasks: [ ] Install boot loader: [ ] Overall install: [ ] Comments/Problems: <簡単なインストールの説明、初期インストールの考察、コメント、アイデアなど> バグ報告の際には、カーネルがハングした直前に表示されたカーネルメッセージを添え て、何が問題なのかを説明してください。また、問題が起きるまでにシステムに対して 行ったことも記述してください。 ━━━━━━━ ^[3] 現在のカーネル (2.6.9 以降) では、コマンドラインオプションを 32 個と環境オ プションを 32 個使用できます。それを越えると、カーネルはパニックしてしまいます 。 第6章 Debian Installer の使用法 目次 6.1. インストーラの動作 6.2. コンポーネント入門 6.3. それぞれのコンポーネントの使用法 6.3.1. Debian インストーラのセットアップとハードウェアの設定 6.3.2. パーティションの分割とマウントポイントの選択 6.3.3. システムのセットアップ 6.3.4. 基本システムのインストール 6.3.5. 追加ソフトウェアのインストール 6.3.6. システムを起動可能に 6.3.7. インストールの完了 6.3.8. その他 6.1. インストーラの動作 Debian Installer は各インストールタスクを実行するために、たくさんの特定用途コン ポーネントから成ります。各コンポーネントは、必要ならユーザに質問をして、そのタ スクを実行します。この質問には優先度が設定されており、この優先度はインストーラ の起動時に設定することができます。 デフォルトのインストールでは、不可欠な (優先度が高い) 質問しかしません。これに より、ユーザの入力をほとんど行わず、高度な自動インストールを行うことができます 。コンポーネントは自動的に順番に実行されます。どのコンポーネントを実行するかは 、主に使用するインストール法やハードウェアに左右されます。インストーラは、質問 しない項目についてはデフォルト値を使用します。 問題がある場合はエラー画面を表示し、インストーラメニューに、代替アクションを選 択するように表示するかもしれません。いずれも問題なければ、ユーザはインストール メニューを目にすることはなく、単に順番に各コンポーネントの質問に答えて行くだけ でしょう。重大なエラー通知は優先度を「重要」に設定されているため、常に表示され ます。 インストーラが使用するデフォルト値は、 debian-installer の起動時にパラメータで 渡して指定できます。たとえば、強制的に静的ネットワーク設定をしたい場合、 (デフ ォルトでは可能なら DHCP を利用します) 起動パラメータに netcfg/disable_dhcp=true を加えることができます。利用できるオプションは項5.2.1. 「Debian Installer パラ メータ」を参照してください。 パワーユーザは、メニュードリブンインターフェース (自動で順に各ステップを実行す るインストーラではなく、ユーザが各ステップを制御する) の方が、満足するかもしれ ません。手動 (メニュー駆動) でインストーラを使用するには、起動引数に priority= medium を加えてください。 ハードウェアをインストールする際に、オプションをカーネルモジュールへ渡す必要が ある場合、「エキスパート」モードでインストーラを起動する必要があります。これは 、インストーラを起動するコマンドに expert を使用する、あるいは起動引数に priority=low を加えることで行います。エキスパートモードでは debian-installer を フルコントロールできます。 通常インストーラの表示はキャラクタベースです。 (今、よりよく知られているグラフ ィカルインターフェースに対立する用語として) マウスはこの環境では使用できません 。ここでは、様々なダイアログでナビゲートするキーを紹介します。ボタンや選択肢が 表示されている間は、 Tab キーや右矢印は「前方」へ、 Shift-Tab や左矢印は「後方 」へ移動します。上下矢印は、スクロールするリスト内の項目を選択し、またリスト自 体もスクロールさせます。さらに、長いリストでは、タイプした文字で始まる項目に直 接スクロールしますし、リストのスクロールに Pg-Up や Pg-Down も使用できます。ス ペースバーは、チェックボックスのような項目を選択します。選択肢を有効にするには Enter を使用してください。 エラーメッセージとログは第 4 コンソールにリダイレクトされます。このコンソールへ は左 Alt-F4 (左 Alt キーを押しながら F4 ファンクションキーを押す) を押してアク セスしてください。左 Alt-F1 で、メインのインストーラプロセスに戻ります。 これらのメッセージは /var/log/syslog で見つけることもできます。インストールの後 、このログはあなたの新システムの /var/log/installer/syslog にコピーされます。他 のインストールメッセージは、インストール中には /var/log/ に、インストールしたシ ステムでコンピュータが起動した後には /var/log/installer/ にあります。 6.2. コンポーネント入門 ここではインストーラコンポーネントを各コンポーネントの簡単な説明を添えて一覧し ます。特定のコンポーネントを使用するにあたり、知る必要があるかもしれない詳細は 項6.3. 「それぞれのコンポーネントの使用法」にあります。 main-menu インストーラの操作中にユーザにコンポーネントのリストを見せ、選択されたコン ポーネントを起動します。 main-menu では質問の優先度が「中」に設定されていま す。そのため、優先度が「高」や「重要」 (デフォルトは「高」) に設定されてい る場合は、メニューを見ることはないでしょう。一方、あなたの入力が必要なエラ ーが起きた場合、その問題を解決するために、質問の優先度が一時的に格下げされ るかもしれません。その場合、メニューが表示される可能性があります。 現在実行しているコンポーネントから抜けるために、「Back」ボタンを繰り返し選 択してメインメニューに戻れます。 localechooser インストール中・インストールしたシステムの、地域オプション (言語、国、ロケ ール) の選択を行います。インストーラは選択した言語でメッセージを表示します が、その言語でのメッセージの翻訳が完了していない場合は、英語で表示します。 kbd-chooser キーボードのリストを表示します。お持ちのキーボードに一致するモデルを選択し てください。 hw-detect システムのほとんどのハードウェアを自動検出します。これには、ネットワークカ ード、ディスクドライブ、PCMCIA が含まれます。 cdrom-detect Debian インストール CD を探しマウントします。 netcfg インターネットへ通信できるように、コンピュータのネットワーク接続を設定しま す。 iso-scan CD-ROM やハードディスクにある ISO ファイルシステムを探します。 choose-mirror Debian アーカイブミラーのリストを表示します。インストールするパッケージの取 得元を選択できるでしょう。 cdrom-checker CD-ROM の整合性チェック。これにより、インストール CD-ROM が壊れていないか自 分で保証できます。 lowmem lowmem はシステムの搭載するメモリが少ないかを確認し、少なければ debian-installer の不必要な部分を、メモリから (いくつかの機能を犠牲にして) 削除する様々なトリックを行います。 anna Anna's Not Nearly APT. (Anna はちっとも APT (適切) じゃない) 選択したミラー サーバや CD から、パッケージを取得してインストールします。 partman システムの内蔵ディスクを分割し、選択したパーティションのファイルシステムを 作成し、マウントポイントにそのファイルシステムをマウントすることができます 。完全自動モードや LVM サポートといったさらに面白い機能があります。これは Debian での好ましいパーティション分割ツールです。 autopartkit プリセットされたユーザの選択によって、自動的に全ディスクを分割します。 partitioner システムのディスクを分割することができます。あなたのコンピュータのアーキテ クチャに最適な、パーティション分割プログラムが選ばれます。 partconf パーティションのリストを表示します。また、選択したパーティションにファイル システムを作成します。 lvmcfg LVM (Logical Volume Manager) の設定について、ユーザの補助を行います。 mdcfg ソフトウェア RAID (Redundant Array of Inexpensive Disks) の設定をユーザに許 可します。このソフトウェア RAID は、新しめのマザーボードに見られる、安い IDE (疑似ハードウェア) RAID コントローラより通常優秀です。 tzsetup あらかじめ選択した場所を元に、タイムゾーンを選択します。 clock-setup クロックを UTC に設定するかどうかを決定します。 user-setup root パスワードの設定や、root 以外のユーザの追加を行います。 base-installer 再起動時にコンピュータが Linux で動作することができるように、もっとも基本的 なパッケージのセットをインストールします。 apt-setup インストーラを起動したメディアを元に、ほとんど自動で apt の設定を行います。 pkgsel 追加ソフトウェアをインストールするのに tasksel を使用します。 os-prober コンピュータに現在インストールされている OS を検出し、この情報を (bootloader のスタートメニューに発見した OS を加える機能を提供する) bootloader-installer へ渡します。これは、起動時にどの OS で起動するかを、ユ ーザが簡単に決める方法です。 bootloader-installer 様々なブートローダインストーラがそれぞれ、ハードディスクにブートローダプロ グラムをインストールします。これは、フロッピーや CD-ROM を使用しないで Linux を起動するのに必要です。ブートローダの多くは、コンピュータが起動する ごとに代替オペレーティングシステムを選ぶことができます。 shell メニューから、もしくは第 2 コンソールで shell を実行できます。 save-logs 後で Debian 開発者へ、インストーラソフトウェアの障害を正確に報告するために 、障害に遭遇した際の、フロッピーディスク、ネットワーク、ハードディスク、そ の他メディアに情報を記録する方法を提供します。 6.3. それぞれのコンポーネントの使用法 本節では、各インストーラコンポーネントの詳細について述べていきます。コンポーネ ントは、ユーザに認識できる段階へグループ化されました。それらは、install 中に現 われる命令の形で示されます。すべてのモジュールを、インストール時に使用するとは 限らない、ということに注意してください。どのモジュールを実際に使用するかは、使 用するインストール法やハードウェアに左右されます。 6.3.1. Debian インストーラのセットアップとハードウェアの設定 Debian インストーラが起動して、最初の画面が表示されているとしましょう。このとき 、debian-installer の機能はまだ制限されています。ハードウェア、希望する言語、実 行するタスクなどに関しても、まだ知りません。しかし心配しないでください。 debian-installer は非常に賢いので、ハードウェアの自動検出をしたり、コンポーネン トの残りを見つけたり、高性能なインストールシステムに自分自身をアップグレードす ることができます。しかし、 (希望する言語、キーボードレイアウト、使用するネット ワークミラーの選択のように) いくつかのタスクでは自動で決められませんので、 debian-installer を助けてあげる必要があります。 この段階で debian-installer がハードウェア検出を数回行うことに気がつくことでし ょう。最初の検出では、インストーラのコンポーネントをロードするのに欠かせないハ ードウェア (例: CD-ROM ドライブやネットワークカード) を認識することが目標です。 初回の実行ですべてのドライバが使用可能になるわけではないので、ハードウェア検出 をこのプロセスの後で繰り返す必要があります。 6.3.1.1. 有効なメモリのチェック / 低メモリモード debian-installer がまず行うことの一つが、有効なメモリをチェックすることです。有 効なメモリに制限がある場合、このコンポーネントは、システムに Debian GNU/Linux をインストールできるように、インストールプロセスにいくらかの変更を加えます。 インストーラで消費メモリを抑えるには、翻訳を無効にすることです。これは、英語で しかインストールできないと言うことでもあります。もちろん、インストール完了後に 、インストールしたシステムを地域化することができます。 これで充分でなければ、インストーラは、基本的なインストールを完了するのに必須な コンポーネントのみを読み込み、メモリ消費をさらに抑えようとします。これはインス トールシステムの機能を制限します。手動で機能を追加する手段を提供していますが、 それによりさらにメモリを消費し、結果インストールに失敗する可能性を考慮する必要 があります。 インストーラが低メモリモードで動作する場合、比較的大きな swap パーティション (64-128MB) を作成するのをお奨めします。 swap パーティションは仮想メモリとして使 用され、システムで利用できるメモリの量を増やします。インストーラは、インストー ルプロセスで可能な限り早く swap を有効にします。 swap を使用すると、ディスク負 荷が増加し、システムのパフォーマンスが低下する事に注意してください。 こういった措置にもかかわらず、まだシステムがフリーズしたり、予期しないエラーが 発生したり、システムがメモリ範囲外で動作 (VT4 と syslog に「Out of memory」メッ セージを出力) して、プロセスがカーネルに強制終了される可能性があります。 例えば、swap スペースが不充分な場合、低メモリモードで大きな ext3 ファイルシステ ムを作成すると、エラーを報告します。 swap をもっと大きくしてもだめな場合、ext2 (インストーラの必須コンポーネント) で作成してください。 ext2 パーティションをイ ンストール後に ext3 に変更できます。 6.3.1.2. 地域オプションの選択 ほとんどの場合、最初の質問はインストール中とインストールしたシステム双方の、地 域オプションの選択に関することです。地域オプションは、言語、国、ロケールからな っています。 異なるダイアログの翻訳が利用できるなら、選んだ言語をインストールプロセスの残り で使用できます。選択した言語で、有効な翻訳が利用できなければ、インストーラは自 動的に英語になります。 選択した国は、インストールプロセスの後半で、デフォルトのタイムゾーンの抽出と、 地理的に適切な Debian ミラーの抽出に使用します。言語と国は、ともにシステムのデ フォルトロケールの設定や、キーボードの設定を補助するのに使用します。 最初に好みの言語を選択することになります。言語名は英語 (左側) と原語 (右側) の 両方で表示しています。右側の名称は、その言語そのもので書かれた表記です。このリ ストは英語名順に並んでいます。このリストの先頭には言語の代わりに「C」ロケールを 選択する追加オプションもあります。「C」ロケールを選択するとインストールプロセス は英語で行われます。また、インストールしたシステムには locales パッケージがイン ストールされず、いずれの地域もサポートしません。 言語選択時に、その言語が複数の国^[4]で公用語とされている場合、次に国を選択する ことになります。リストの最後のその他を選択した場合、国のすべてのリストが大陸ご とに表示されます。言語に対し関連する国がただひとつの場合、自動的に国を選択しま す。 デフォルトのロケールは、選択した言語と国を基に選択されます。優先度を「中」・「 低」でインストールしている場合は、インストールしているシステムのデフォルトのロ ケールを変更したり、追加ロケールを生成したりできます。 6.3.1.3. キーボード選択 キーボードは、しばしば言語で使用する文字に合わされています。使用しているキーボ ードに一致するレイアウトを選択するか、希望のキーボードレイアウトが表示されなけ れば、近いものを選択してください。いったんシステムのインストールが完了すれば、 もっと広い範囲からキーボードレイアウトを選ぶことができます。 (インストールが完 了した後に、root で kbdconfig を実行してください) 希望のキーボードにハイライトを移動させて、Enter を押してください。ハイライトの 移動には矢印キーを使用してください。どの言語のキーボードでも同じ場所にあるため 、キーボードの設定に依存しません。「拡張」キーボードとは、最上段に F1 から F10 キーを備えたものです。 6.3.1.4. Debian Installer iso イメージの検索 hd-media でインストールを行う場合、インストールするファイルの残りを得るために、 Debian Installer iso イメージを見つけてマウントする必要があるでしょう。 iso-scan コンポーネントはその名の通り行います。 初めに iso-scan は、既知のファイルシステムがあるブロックデバイス (例えばパーテ ィション) を自動的にすべてマウントし、.iso (もっと言えば .ISO) で終わるファイル 名を順番に検索します。初回の試行でルートディレクトリ中、およびそのサブディレク トリ内しか検索しないことに注意してください (つまり /whatever.iso や /data/ whatever.iso を検出しますが、 /data/tmp/whatever.iso は検出しないということで す)。 iso イメージの検出後、iso-scan は、そのイメージが有効な Debian iso イメー ジであるか否かを決定するため、その内容をチェックします。前者の場合は完了します が、後者の場合 iso-scan は別のイメージを探します。 インストーラ iso イメージを探す試行が失敗する場合、 iso-scan はより徹底的に検索 するか確認します。このパスは最上位のディレクトリのみ調査しませんが、実際にファ イルシステム全体を全探索します。 iso-scan がインストーラ iso イメージを検出しない場合、元の OS を起動し直して、 イメージが (.iso で終わる) 正しい名前になっているか、 debian-installer が認識で きるファイルシステムに配置しているか、 (チェックサムを検証して) 壊れていないか チェックしてください。 Unix の経験があるユーザは、再起動せずに第 2 コンソール上 でチェックできます。 6.3.1.5. ネットワークの設定 このステップに入って、ネットワークデバイスが 1 つ以上あることをシステムが検出す ると、どのデバイスを主要 (つまりインストールに使用する) ネットワークインターフ ェースとするか、質問されます。その他のインターフェースはここでは設定しません。 インストールが完了したところで、さらにインターフェースを設定できるでしょう。 interfaces(5) man ページを参照してください。 デフォルトでは、debian-installer はコンピュータのネットワークを DHCP より自動的 に設定しようとします。 DHCP の検出に成功すれば完了です。失敗した場合、ネットワ ークケーブルが繋がっていないから、DHCP の設定が間違っているまで、幅広い原因が考 えられます。またローカルネットワークに DHCP サーバがないかもしれません。何が起 きたかを確認するには、 4 番目のコンソールに表示するエラーメッセージをチェックし てください。いずれの場合も、再実行するか、手動設定を実行するか、を質問されます 。 DHCP サーバは、時々そのレスポンスが遅いことがあります。そのため、すべて適切 であると確信するなら、再実行してください。 ネットワークの手動設定では、ネットワークについていくつか ? 特に、 IP アドレス、 ネットマスク、ゲートウェイ、ネームサーバのアドレス、ホスト名について質問します 。さらに、無線ネットワークインターフェースがあるなら、無線 ESSIDと、 WEP キーを 質問します。項3.3. 「必要な情報」から回答を書き込んでください。 注意 見つけるか見つけないかはともかく,技術的詳細は手軽に見つかります。プログラムで は、ネットワーク IP アドレスが、システムの IP アドレスとネットマスクのビット積 であると仮定します。ブロードキャストアドレスは、システムの IP アドレスと、ネッ トマスクのビット否定とのビット和であると推測します。さらにゲートウェイも推測し ます。これらのうち、どれかがわからなければ、システムの推測を使用してください。 一度、システムをインストールした後で、必要なら /etc/network/interfaces を編集し て、それらを変更することができます。 6.3.2. パーティションの分割とマウントポイントの選択 最後のハードウェア検出が完了した時点で、 debian-installer はユーザのニーズ通り にカスタマイズされ、実際の作業ができるような、準備万端の状態にあります.本節の タイトルが表すように、以下、少数のコンポーネントの主なタスクは、ディスクのパー ティションを分割し、ファイルシステムを作成し、マウントポイントを割り当てて、 LVM や RAID 装置のような密接に関係する件のオプション設定を行うことです。 6.3.2.1. ディスクのパーティション分割 さあ、ディスクのパーティションを分割しましょう。パーティション分割に不安があっ たり、詳細を知りたければ、付録 C. Debian でのパーティション分割をご覧ください。 最初に、ドライブのすべてか、またはドライブの有効な空き領域を、自動的にパーティ ション分割するか選択する機会が与えられます。これを「ガイド」パーティション分割 とも呼びます。自動分割を望まなければ、手動を選んでください。 ガイドパーティション分割を選択した場合、選択肢が 3 つあります。ハードディスクに 直接パーティションを作成する (クラシック) 方法、論理ボリューム管理 (LVM) を利用 する方法、暗号化 LVM^[5] を利用する方法です。 注意 (暗号化 LVM を含む) LVM を使用する方法は、すべてのアーキテクチャで使用できるわ けではありません。 LVM や暗号化 LVM を使用する場合、インストーラが作成するほとんどのパーティション を、大きなパーティションの中に作成します。この利点は、大きなパーティションの中 にあるパーティションを、後から簡単に大きさを変更できることです。暗号化 LVM の場 合、特殊なキーフレーズを知らずに大きなパーティションを読むことができません。そ のため、あなたの (個人) データにさらなるセキュリティを提供します。 暗号化 LVM を利用する場合、インストーラは、自動的にランダムなデータを書き込んで ディスクを消去します。この機能は、(ディスクの使用中の領域を分からなくし、以前イ ンストールしていたものの痕跡を消去して) セキュリティを向上しますが、ディスクの サイズにより、時間がかかることがあります。 注意 LVM や暗号化 LVM を使用してガイドパーティション分割を選択した場合、パーティショ ンテーブルへの変更は、 LVM のセットアップで選択したディスクに書き込まれる必要が あります。この変更によって、選択したハードディスクの現在のデータはすべて消去さ れ、後で元に戻すことができなくなります。しかし、ディスクに書き込む前に、インス トーラは変更してよいか確認してきます。 ディスク全体に対してガイドパーティション分割を選択した場合 (クラシックでも (暗 号化) LVMでも) 、まずはじめに、選択したディスクを使用してよいか尋ねられます。複 数ディスクがある場合、すべてのディスクが一覧され、正しいものが選択されているこ とを確認してください。表示順は、普段使っているものと違う可能性があります。ディ スクサイズを確認の手がかりにしてください。 ここでついに、ディスクのすべてのデータが失われますが、ディスクに書き込む前に変 更してよいか、必ず確認してきます。パーティション分割にクラシック法を選択した場 合は、終了する前に元に戻せますが、 (暗号化) LVM を使用する場合は元に戻せません 。 次に、以下の表から分割案を選択できます。どの案でも賛否両論あり、付録 C. Debian でのパーティション分割で議論されています。よくわからなければ、最初の項目を選択 してください。ガイドパーティション分割は、最低限動作する空き領域が必要なことを 、心に留めておいてください。少なくとも 1GB の空き領域 (選択した方法に依存しま す) がなければ、ガイドパーティション分割は失敗してしまいます。 ┌───────────────────┬───┬─────────────┐ │ パーティション分割方法 │最低容│ 作成するパーティション │ │ │ 量 │ │ ├───────────────────┼───┼─────────────┤ │All files in one partition │600MB │/, swap │ ├───────────────────┼───┼─────────────┤ │Separate /home partition │500MB │/, /home, swap │ ├───────────────────┼───┼─────────────┤ │Separate /home, /usr, /var and /tmp │1GB │/, /home, /usr, /var, / │ │partitions │ │tmp, swap │ └───────────────────┴───┴─────────────┘ (暗号化) LVM を利用するガイドパーティション分割を行うと決めた場合、インストーラ は独立した /boot パーティションも作成します。スワップパーティションを含むその他 のパーティションは、 LVM パーティションの内部に作成します。 分割案を選択後、新しいパーティションテーブルが次の画面に表示されます。ここでは 、パーティションがどのようにフォーマットされるか、どこにマウントされるかといっ た情報が含まれています。 パーティション一覧は以下のようになります。 IDE1 master (hda) - 6.4 GB WDC AC36400L #1 primary 16.4 MB B f ext2 /boot #2 primary 551.0 MB swap swap #3 primary 5.8 GB ntfs pri/log 8.2 MB FREE SPACE IDE1 slave (hdb) - 80.0 GB ST380021A #1 primary 15.9 MB ext3 #2 primary 996.0 MB fat16 #3 primary 3.9 GB xfs /home #5 logical 6.0 GB f ext3 / #6 logical 1.0 GB f ext3 /var #7 logical 498.8 MB ext3 #8 logical 551.5 MB swap swap #9 logical 65.8 GB ext2 この例では、2 つの IDE ハードディスクを、いくつかのパーティションに分割していま す。第 1 ディスクには空き領域がいくらかあります。パーティション行ごとに、パーテ ィション番号、パーティションタイプ、サイズ、追加フラグ、ファイルシステム、マウ ントポイントを (あれば) 表示しています。注意: こういった詳細なセットアップはガ イドパーティション分割では行えませんが、手動パーティション分割で使用できる変化 を示します。 これでガイドパーティション分割を終えます。生成されたパーティションテーブルでよ ければ、 (本節の最後に書かれているように) 新しいパーティションテーブルを反映す るよう、パーティショニングの終了とディスクへの変更の書き込みをメニューから選べ ます。そうでなければ、もう一度ガイドパーティション分割をしたり、以下に述べる手 動パーティション分割で提案する変更を修正するのにパーティションへの変更を元に戻 すを選択し、ガイドパーティション分割を再実行してください。または、以下に述べる 手動パーティション分割で修正してください。 手動パーティション分割を選択すると、既存のパーティションテーブルがマウントポイ ントなしで表示されるのを除き、前述と同様の画面が表示されます。パーティションテ ーブルの手動セットアップの方法と、新しい Debian システムでのパーティションの使 用法については、本節の残りで扱います。 パーティションも空き領域もない、素のハードディスクを選択すると、新しいパーティ ションテーブルを作成するか確認されます (新しいパーティションを作成するのに必要) 。すると選択したディスクのパーティションテーブルに、「FREE SPACE」 (空き領域) という新しい行が現れます。 空き領域を選択すると、新しいパーティションを作成できるようになります。サイズや タイプ (基本か論理か) 、場所 (空き領域の先頭からか最後からか) といった、一連の 簡単な質問に答えなければなりません。この後、新しいパーティションの詳細な概要が 得られます。主な設定は、ファイルシステムがパーティションにある場合、 swap、ソフ トウェア RAID、LVM、暗号化ファイルシステムとして使うか、全く使わないかを決定す る利用方法: です。その他には、マウントポイントやマウントオプション、起動フラグ といったパーティションの使用法に依存した設定があります。あらかじめ選択されたデ フォルト値が気に入らなければ、自由にお好みのものへと変更してください。例えば、 オプション利用方法: を選択すると、スワップ、ソフトウェア RAID、LVM、またそれ以 外のファイルシステムに、このパーティションを変更できます。その他には、既存のパ ーティションからこのパーティションに、データをコピーできるという便利な機能があ ります。新しいパーティションに満足したら、パーティションのセットアップを終了を 選択して、 partman のメイン画面に戻ってください。 パーティションに対して変更を加えたい場合は、単にそのパーティションを選択して下 さい。パーティションの設定メニューに入れます。新しいパーティションを作成する際 に使用するのと同じ画面ですので、同様に設定を変更できます。一見わかりづらいのは 、表示されているパーティションのサイズを選択して、サイズ変更ができることです。 動作することがわかっているファイルシステムは、少なくとも fat16, fat32, ext2, ext3, swap です。このメニューではパーティションを削除することもできます。 少なくとも 2 つのパーティションを必ず作成してください。 1 つは swap で、もう 1 つは (/ にマウントする) ルートファイルシステムです。ルートファイルシステムをマ ウントし忘れると、この問題を修正するまで partman は先に進みません。 partman の機能は、インストーラモジュールで拡張できますが、システムのアーキテク チャに依存します。あるはずの機能を確認できなければ、すべての必要なモジュールが 読み込まれているか確認してください。 (例: partman-ext3, partman-xfs, partman-lvm) パーティション分割に満足したら、パーティション分割メニューからパーティショニン グの終了とディスクへの変更の書き込みを選択してください。ディスクに行われる変更 内容が表示され、その通りファイルシステムを作成するかどうか確認することになりま す。 6.3.2.2. マルチディスクデバイス (ソフトウェア RAID) の設定 コンピュータに複数ハードディスクドライブがある^[6]なら、ドライブのパフォーマン スの向上やデータの信頼性向上のために mdcfg を使用できます。この結果をマルチディ スクデバイス (ソフトウェア RAID の方が有名) と呼びます。 MD は基本的に別のディスクにあるパーティションを束ねて、論理デバイスの形に結合し たものです。このデバイスは通常のパーティション (例: partman でフォーマットでき 、マウントポイントに割り当てられる等) と同様に使用できます。 どんな恩恵を受けるかは、作成する MD デバイスの種類に依存します。現在、以下をサ ポートしています。 RAID0 RAID0 はパフォーマンスに主眼をおいています。 RAID0 は全入力データを stripes へ分割し、均等にディスクアレイの各ディスクに分配します。これにより、読み取 り・書き込みの処理速度を向上できますが、ディスクのうちの 1 つが破損したら、 すべてを失ってしまいます。 (情報の一部は正常なディスク上にありますが、他の 部分は破損したディスク上にあるからです) RAID0 の典型的な使用法は映像編集用のパーティションです。 RAID1 信頼性第一である場合、RAID1 を構成するとよいでしょう。全パーティションが正 確に同じデータを含むような、いくつかの (たいてい 2 つ) 等しいサイズのパーテ ィションから成ります。これは本質的に 3 つのことを意味します。まずディスクの 1 つが破損した場合、残ったディスクにデータミラーが残ります。次に利用可能領 域の断片だけの使用もできます。 (もっと正確には、RAID で構成する最小のパーテ ィションサイズとなります) 第 3 に、ディスクからのファイルの読み込みをロード バランスする事ができます。これにより、ファイルサーバのような、書き込みより 読み込みの方が負荷が高くなる傾向のあるサーバのパフォーマンスを改善できます 。 破損した場合に、任意に予備ディスクを破損したディスクの代わりに、ディスクア レイにつけることができます。 RAID5 RAID5 は速度と信頼性、データの冗長性をうまく折衷しています。 RAID5 はストラ イプへ入力するデータをすべて分割し、 1 つ以外の全ディスクに (RAID0 のよう に) 等しく分配します。 RAID0 と違い、RAID5 は (残りのディスクに書かれてい る) パリティ情報も計算します。パリティディスクは静的 (これを RAID4 と呼ぶ) ではありません。 (定期的に変更され) パリティ情報を全ディスクに等しく分配し ます。あるディスクが故障した場合、情報の失った部分は残ったディスクとそのパ リティから計算されます。 RAID5 は少なくとも 3 つのアクティブなパーティショ ンから成ります。故障した場合に、任意でディスクアレイ中の故障したディスクの 箇所に予備のディスクをセットできます。 おわかりのように、RAID5 は RAID1 より冗長性が少なく、同程度の信頼性を持ちま す。一方、パリティ情報を計算するため、RAID0 より書き込み操作が少し遅いかも しれません。 まとめると ┌───┬─────┬───┬───────┬───────────────┐ │タイプ│デバイス最│予備デ│ディスク破損に│ 利用可能領域 │ │ │ 小構成数 │バイス│ 耐えるか? │ │ ├───┼─────┼───┼───────┼───────────────┤ │RAID0 │2 │? │? │RAID にある最小パーティション │ │ │ │ │ │のサイズ?デバイス数 │ ├───┼─────┼───┼───────┼───────────────┤ │RAID1 │2 │任意 │? │RAID にある最小パーティション │ │ │ │ │ │のサイズ │ ├───┼─────┼───┼───────┼───────────────┤ │RAID5 │3 │任意 │? │RAID にある最小パーティション │ │ │ │ │ │のサイズ?(デバイス数 - 1) │ └───┴─────┴───┴───────┴───────────────┘ ソフトウェア RAID に関して、もっと知りたい場合は Software RAID HOWTO をご覧くだ さい。 MD デバイスを作成するには、RAID で使うための (これは利用方法:->RAID の物理ボリ ュームを選択して出てくる、パーティション設定メニューの partman で行えます) 警告 MD のサポートは、インストーラに比較的新しく追加されました。 root (/) ファイルシ ステム用に MD を使用するなら、 RAID レベルやブートローダと組み合わせた際の問題 に行き当たるでしょう。経験を積んだユーザ向けに、いくつか設定したりインストール ステップをシェルから手動で行ったりして、問題を回避して動作させることができるか も知れません。 次にメインの partman メニューからソフトウェア RAID の設定を選んでください。 (こ のメニューは、少なくともパーティションをひとつ RAID の物理ボリュームとしてマー クしないと表示されません) mdcfg の最初の画面では、単に MD デバイスの作成を選択 してください。サポートされる MD デバイスのリストも提供されます。この中から 1 つ (例: RAID1) を選択してください。その後は選択した MD デバイスに依存します。 ● RAID0 は単純です。利用可能な RAID パーティションの一覧が提供されますので、 単に MD にするパーティションを選択してください。 ● RAID1 は少しトリッキーです。まず MD にするアクティブなデバイスの数、スペア デバイスの数を入力します。次に利用可能な RAID パーティションの一覧からアク ティブのもの、次にスペアのものを選ぶ必要があります。選択したパーティション の数と先ほど入力した数は一致しなければなりません。心配しないでください。間 違って違う数のパーティションを選択した場合、debian-installer は問題を修正す るまで、先に進ませません。 ● RAID5 では、少なくとも 3 つのアクティブパーティションを使用する必要があると いう例外を除き、 RAID1 と同様のセットアップ手続きを行います。 同時に数種の MD を持つことは完全に可能です。例えば、3 つの 200GB の MD 専用ドラ イブがあって、どれも 2 つの 100GB のパーティションに分かれている場合、 3 つのド ライブすべての最初のパーティションを RAID0 (高速な 300GB のビデオ編集パーティシ ョン) で結合でき、その他の 3 つのパーティション (アクティブ 2 基、スペア 1 基) を RAID1 (/home 用に信頼できる 100GB のパーティション) で結合できます。 お好みの通りに MD デバイスの設定をした後で、完了 mdcfg として partman に戻れま す。新しい MD デバイスにファイルシステムを作成し、マウントポイントなどの通常の 属性を設定してください。 6.3.2.3. 論理ボリュームマネージャ (LVM) の設定 システム管理者や「上級」ユーザとしてコンピュータを動かしていると、ディスク内の あるパーティション (たいてい最も重要なもの) が足らなくなり、他のパーティション は全体的にあまり使用されていないという状況が確実にあります。このような場合は、 内容を移動したりシンボリックリンクを張るといった管理を行うことになります。 上記のような状況を避けるために、論理ボリュームマネージャ (LVM) を利用できます。 簡単に言うと、LVM では複数のパーティション (LVM 用語で物理ボリューム (physical volumes)) を仮想ディスクの形に結合でき、このディスクを仮想パーティション (論理 ボリューム (logical volumes)) に分割できます。ポイントは、論理ボリュームは (も ちろんその下のボリュームグループも)、複数の物理ディスクをまたがって定義できると 言うことです。 例えば、古い 160GB の/home パーティションに、もっと容量を追加することを考えます 。単にあなたは新しい 300GB のディスクをコンピュータに追加し、既存のボリュームグ ループに入れます。その後 /home ファイルシステムを保持したまま論理ボリュームをリ サイズします。するとほら、パーティションが 460GB へと新品交換されたので、ユーザ の空き容量がすこしばかり増えたことになります。もちろんこの例は少し単純にしすぎ です。まだ読んでいないようなら、 LVM HOWTO を調べるべきです。 debian-installer での LVM のセットアップはかなりシンプルで、 partman 内部で完全 にサポートしています。始めに、パーティションを LVM の物理ボリュームとして使用す るよう、マークをつけねばなりません。これは、パーティション設定メニューの partman 内で利用方法:->LVM の物理ボリュームを選ぶことで行います メインの partman 画面に戻ると、論理ボリュームマネージャの設定が新しく選択できる ようになっています。これを選択すると、まず決定していないパーティションテーブル への変更 (があれば) 確認を行い、その後 LVM 設定メニューを表示します。メニューの 上部には LVM 設定の概要を表示します。メニュー自体はそのときに実行できる操作のみ 表示します。行える操作は以下の通りです。 ● 設定の詳細表示: LVM デバイスの構造、論理ボリュームの名称やサイズなどを表示 します ● ボリュームグループの作成 ● 論理ボリュームの作成 ● ボリュームグループの削除 ● 論理ボリュームの削除 ● ボリュームグループの拡張 ● ボリュームグループの縮小 ● 完了: メインの partman 画面に戻ります はじめにボリュームグループを作成し、その中に論理ボリュームを作成するのに、この メニューのオプションを使用してください。 メインの partman 画面に戻ると、作成した論理ボリュームが通常のボリュームと同じよ うに表示されています。 (そして同じように扱えます) 6.3.2.4. 暗号化ボリュームの設定 debian-installer では暗号化パーティションを設定できます。暗号化パーティションに 保存したファイルはすべて、暗号化した形で即座にデバイスに書き込まれます。暗号化 したデータへのアクセスは、暗号化パーティションを作成した際に設定したパスフレー ズを入力した後で有効になります。この機能は、ノート PC やハードディスクが盗難に 遭った際に、機密データを保護するのに便利です。盗人がハードディスクの物理データ にアクセスしようとする際、正しいパスフレーズを知らないと、ハードディスクのデー タはランダムな文字列にしか見えません。 暗号化するのに最重要なパーティションが 2 つあります。個人的なデータを格納する home パーティションと、操作中に機密データを一時的に格納する swap パーティション です。もちろん、その他のパーティションの暗号化を妨げるものはなにもありません。 たとえば、データベースサーバ、メールサーバ、プリンタサーバがそれぞれファイルを 格納する /var や、様々なプログラムが、潜在的に興味深い一時ファイルを作成する / tmp です。システム全体を暗号化したいと考える方もいます。暗号化をしない方がいい 、唯一の例外パーティションは、 /boot パーティションです。暗号化されたパーティシ ョンからカーネルを起動する方法がないからです。 注意 データの読み書き時に常に暗号化・復号を行うため、暗号化パーティションのパフォー マンスは、暗号化していないものよりも低下する事に注意してください。パフォーマン スは、CPU のスピード、選択した暗号方式、暗号化キーの長さに影響を受けます。 暗号化を用いるには、メインパーティションメニューで空き領域を選択して、新しいパ ーティションを作成する必要があります。他には既存のパーティション (例、通常のパ ーティション、LVM 論理ボリューム、 RAID ボリューム) を選択するという手もありま す。パーティション設定メニューの、利用方法: で暗号化の物理ボリュームを選択する 必要があります。そうすると、メニューにパーティションを暗号化するオプションが追 加されます。 debian-installer は、暗号化の方法をいくつかサポートしています。デフォルトの方法 は dm-crypt (新しめの Linux カーネルに含まれ、LVM 物理ボリュームを格納できる) です。その他には、loop-AES (古く、Linux カーネルツリーとは独立してメンテナンス されている) があります。やむにやまれぬ理由があるのでなければ、デフォルトのまま にしておくのをお勧めします。 はじめに、暗号化するにあたり Device-mapper (dm-crypt) を選択して、オプションを 有効にしましょう。いつものように、よく分からなければデフォルト値を指定してくだ さい。セキュリティを念頭に置いて選択されています。 Encryption: aes このオプションで、パーティションのデータを暗号化するのに使用する、暗号化ア ルゴリズム (暗号方式) を選択します。現在、debian-installer は以下の暗号方式 をサポートしています。 aes, blowfish, serpent, twofish です。それぞれのアル ゴリズムの品質についての議論は、この文書の範疇を越えてしまいますが、以下は あなたの決断の助けになるかもしれません。 AES は、2000 年に米国商務省標準技 術局により、 21 世紀の機密情報を保護する標準暗号化アルゴリズムとして採用さ れました。 Key size: 256 ここでは暗号化キーの長さを指定できます。一般的に暗号化キーが長くなると暗号 強度が向上します。一方、暗号化キーが長くなると、大抵パフォーマンスにマイナ スの影響を与えます。利用できる暗号化キーのサイズは暗号方式に依存します。 IV algorithm: cbc-essiv:sha256 初期化ベクトルや IV アルゴリズムは、同じ平文データと同一の暗号化キーで、常 に異なる暗号文の出力を保証し、安全に暗号を解読するのに利用されます。これに より、暗号化データ中に繰り返されるパターンから、攻撃者が情報を推測できない ようにします。 デフォルトの cbc-essiv:sha256 は現在のところ、攻撃される恐れがもっとも少な いです。その他の選択肢は、新しいアルゴリズムに対応していない、以前インスト ールしたシステムと互換をとる場合のみ使用してください。 Encryption key: Passphrase ここでは、このパーティションの暗号化キーのタイプを選択できます。 Passphrase 暗号化キーを、プロセスの後で入力するパスフレーズに基づいて計算^[7]しま す。 Random key 暗号化パーティションを作成するたびに、新しい暗号化キーをランダムに生成 します。言い換えると、シャットダウンごとに暗号化キーがメモリから削除さ れ、パーティションの内容を失うということです。 (もちろん総当たりで暗号 化キーを推測することはできますが、暗号アルゴリズムに未知の弱点がない限 り、生きているうちには解読されないでしょう) Random key は swap パーティションで使うと便利です。というのも、パスフレ ーズを覚えておく必要もなく、コンピュータをシャットダウンする前に、機密 情報を swap パーティションから掃除するからです。しかし、最近の Linux カ ーネルで利用できる「suspend-to-disk」機能では使用できないということでも あります。 (次の起動中に) swap パーティションからサスペンドデータを、復 元できなくなってしまうのです。 Erase data: yes 暗号化の前に、このパーティションの内容をランダムなデータで上書きするかどう かを決めます。そうしないと攻撃者が、パーティションのどの部分を使用中で、ど の部分が使用していないかを見分けられますので、上書きすることをお奨めします 。その上、以前インストールしていて残ってしまったデータを、復元しにくくしま す^[8]。 暗号化の方法:->ループバック (loop-AES) を選択すると、メニューは以下のオプション を提供するように変わります。 Encryption: AES256 dm-crypt と違い loop-AES では、暗号形式と暗号化キーサイズのオプションを混ぜ ており、同時に指定できます。暗号形式と暗号化キーサイズについては、前節をご 覧ください。 Encryption key: Keyfile (GnuPG) ここでは、このパーティションの暗号化キーのタイプを選択できます。 Keyfile (GnuPG) 暗号化キーはインストール時にランダムデータから生成されます。その上で、 この暗号化キーを GnuPG で暗号化します。これを利用するには、適切なパスフ レーズを入力する必要があります。 (後のプロセスで要求されます) Random key 前述の Random key の節をご覧ください。 Erase data: yes 前節の Erase data の節をご覧ください。 暗号化パーティション用に必要なパラメータを選択すると、メインパーティション分割 メニューに戻ります。そこに今度は暗号化されたボリュームの設定という項目があるは ずです。これを選択すると、削除するようにマークしたパーティションを本当に削除し てよいか確認し、新しいパーティションテーブルを書き込むといったアクションを起こ します。大きなパーティションではしばらく時間がかかるでしょう。 次に、パスフレーズを使用するよう設定していれば、パスフレーズを訊かれます。よい パスフレーズは、8 文字以上で、文字・数字・その他の記号が混ざり、辞書に載ってい ないか、容易に連想される情報 (誕生日、趣味、ペットの名前、家族や親戚の名前など) でないものです。 警告 パスフレーズを入力する前に、キーボードが正しく設定され、期待した文字が入力でき るようになっていなければなりません。よくわからなければ、別の仮想端末に切り替え て、プロンプトに入力してください。これにより、例えば、インストール中に azerty 配列を使用しているのに、 qwerty 配列でパスフレーズを入力するといったことで、あ なたが後で驚くようなことにはならないでしょう。この状況はいくつかの原因が考えら れます。インストール中に別のキーボード配列に切り替えたとか、ルートファイルシス テムのパスフレーズを入力する時に、まだ選択したキーボードレイアウトが有効でなか ったのかもしれません。 暗号化キーの作成に、パスフレーズ以外の方法を選択した場合、すぐに暗号化キーを生 成します。インストールの初期では、カーネルが充分なエントロピーを集めていないの で、このプロセスに長時間かかるかもしれません。エントロピーを集めてこのプロセス のスピードを上げるには、ランダムにキーを押す、別の仮想コンソールに切り替えて (ファイルのダウンロードや、大きなファイルを /dev/null に流すなど) ネットワーク やディスクのトラフィックを起こすなどがあります。暗号化するパーティションの数だ け繰り返します。 メインパーティション分割メニューに戻ると、暗号化ボリュームが、通常のパーティシ ョンと同様に追加パーティションとして見えています。以下の例では、2 つの異なるボ リュームを示します。 1 番目は dm-crypt で暗号化し、2 番目は loop-AES で暗号化し ています。 Encrypted volume (sda2_crypt) - 115.1 GB Linux device-mapper #1 115.1 GB F ext3 Loopback (loop0) - 515.2 MB AES256 keyfile #1 515.2 MB F ext3 今度は、ボリュームをマウントポイントに割り当てます。また、デフォルトのファイル システムタイプが合っていなければ変更も行います。 ここで注意するのは、括弧内の識別子 (ここでは sda2_crypt と loop0) と、暗号化ボ リュームを割り当てるマウントポイントです。後で新しいシステムを起動するときに、 この情報が必要になります。通常の起動プロセスと、暗号を伴う起動プロセスの相違点 は、項7.2. 「暗号化ボリュームのマウント」で扱います。 パーティション分割の内容に納得いったら、インストールに進んでください。 6.3.3. システムのセットアップ パーティションの分割が終わると、インストーラはインストールを行うシステムの設定 に関する質問をしてきます。 6.3.3.1. タイムゾーンの設定 インストール処理の初めに選択した場所に依存して、その場所に関連するタイムゾーン の一覧が表示されます。あなたの場所にタイムゾーンがひとつしかなければ、システム は一覧を表示せず、そのタイムゾーンであると仮定します。 6.3.3.2. 時計の設定 コンピュータの時計を協定世界時 (UTC) にセットするかどうか、インストーラが質問す るかもしれません。通常、この質問は可能なら行われず、他のオペレーティングシステ ムがインストールされていることなどを元に、時計を UTC にセットするかどうか計算し ようとします。 エキスパートモードでは、時計を UTC にセットするか否かを、常に選択することになり ます。 インストーラが、すぐにコンピュータの時計を合わせるわけではないことに注意してく ださい。時計が狂っていたり、以前は UTC にセットしていない場合は、インストールが 完了してから、現在の時刻に時計を合わせることができます。 6.3.3.3. ユーザとパスワードのセットアップ 6.3.3.3.1. root パスワードの設定 root アカウントは、ログインするとシステムのすべてのセキュリティ保護をバイパスし てしまうので、スーパーユーザとも呼ばれています。 root アカウントはシステム管理 のみに使用し、可能な限り短時間使用するのみにすべきです。 作成するパスワードは、少なくとも 6 文字以上で、大文字小文字、カンマやピリオドを 混ぜるべきです。 root パスワードを設定するときには、強力なアカウント故に特別注 意を払ってください。辞書にある単語や推測される個人情報を使用するのは避けてくだ さい。 誰であっても、root パスワードが必要だと言う人がいる場合には、殊更に用心してくだ さい。他のシステム管理者と共に機械の管理をしているのでなければ、 root パスワー ドを教える必要は、通常決してありません。 6.3.3.3.2. 一般ユーザの作成 システムは、この時点で一般ユーザアカウントを作成するかどうか質問します。このア カウントは、個人でログインする時のメインとするべきです。 root アカウントを日常 的に使用したり、個人的な用途でログインするべきではありません。 なぜいけないのでしょう? root 権限を使用しないようにする理由のひとつは、 root に より簡単に取り返しのつかない損害を与えられるということです。他には、だまされて トロイの木馬 (あなたに隠れ、スーパーユーザ権限を利用してシステムに感染するプロ グラム) を動かしてしまうということもあり得ます。 UNIX システム管理に関するいず れの良書でも、この件に関して詳細に扱っています。今までご存じなければ、ご一読く ださい。 まず初めに、ユーザのフルネームの入力を求められます。次にユーザアカウントの名前 を求められます。一般的にファーストネームか、必要充分な名前に似た何かがデフォル トになります。最後にこのアカウントのパスワードを求められます。 インストール後いつでも、別のアカウントを作成する場合は、 adduser コマンドを使用 してください。 6.3.4. 基本システムのインストール この段階が最重要でないとはいえ、全体の基本システムをダウンロード、確認、展開に インストールのかなりの部分を費やします。遅いコンピュータや遅いネットワーク接続 しかなければ、ある程度時間がかかるかもしれません。 基本システムのインストール中、パッケージの展開・セットアップメッセージは、 tty4 にリダイレクトされます。左 Alt-F4 を押すと、この端末 (terminal) にアクセスでき ます。元のインストーラの画面に戻るには、左 Alt-F1 を押してください。 このフェイズでの展開・設定メッセージは、 /var/log/syslog に保存されます。シリア ルコンソールでインストールする場合、これをチェックできます。 インストールの途中で、Linux カーネルをインストールします。デフォルトの優先度で は、インストーラはハードウェアと最も適合するカーネルを選びます。より低い優先度 モードでは、利用可能なカーネルのリストから選ぶことができます。 6.3.5. 追加ソフトウェアのインストール 基本システムのインストールが終わると、制限されたシステムが利用できるようになり ます。ほとんどのユーザは、お好みに調整するのに、追加ソフトウェアをシステムにイ ンストールするでしょうが、これはインストーラから行えます。遅いコンピュータや回 線を使用していると、このステップは基本システムのインストールよりも時間がかかり ます。 6.3.5.1. apt の設定 Debian GNU/Linux システムにパッケージをインストールするツールの 1 つに apt パッ ケージの apt-get プログラムがあります^[9]。パッケージ管理のその他のフロントエン ドには、aptitude や synaptic も使われます。これらのフロントエンドは追加機能 (パ ッケージの検索や状態チェック) を、すばらしいユーザインターフェースと統合してい るので、新しいユーザにお勧めします。実際、aptitude は、現在のところ、パッケージ 管理の推奨ユーティリティです。 パッケージをどこから取得するか、 apt を設定しておかなくてはなりません。インスト ーラは、自動的にインストールメディアにある設定を元にして扱います。この設定の結 果は、/etc/apt/sources.list ファイルに書き込まれます。またインストール完了後に 、お好みに合わせて検査・編集できます。 6.3.5.2. ソフトウェアの選択・インストール インストール処理中に、追加ソフトウェアをインストールする機会があります。 17550 個もの利用可能パッケージから、個々のパッケージを取り上げるよりも、インストール 処理のこの段階では、いち早く様々なコンピュータのタスクをセットアップするよう、 定義済みのソフトウェア集合を選択・インストールするのに集中します。 ですから、まずタスクを選択し、後で個々のパッケージを追加できます。タスクは、様 々なジョブやあなたがコンピュータにやらせたいことを、いくつか大まかに表していま す。「デスクトップ環境」、「Web サーバ」、「Print サーバ」といった具合です ^[10 ]。項D.2. 「タスクに必要なディスクの空き容量」に、利用可能タスクの必要容量一覧 があります。 いくつかのタスクは、インストールするコンピュータの特性により、あらかじめ選択さ れている可能性があります。選択されているものが合わない場合は、そのタスクの選択 をはずせます。全くタスクを選ばないようにもできます。 注意 「デスクトップ環境」タスクは、 GNOME デスクトップ環境をインストールします。現在 インストーラで提供されているオプションでは、 KDE のような他のデスクトップ環境を 選択できません。 preseed (項B.4.11. 「パッケージ選択」参照) を使用したり、インストーラの起動時に ブートプロンプトで tasks="standard, kde-desktop" と指定して、インストーラが KDE をインストールするようにできます。しかし、KDE に必要なパッケージが有効な場合の み動作します。フル CD イメージでインストールしている場合、 KDE のパッケージがフ ル CD の 1 枚目に入っていないので、ミラーサイトからダウンロードする必要がありま す。 DVD イメージやその他のインストール方法では、 KDE でのインストールがうまく いくでしょう。 各サーバタスクでは、おおまかに以下のソフトウェアをインストールします。 DNS サー バ: bind9。ファイルサーバ: samba, nfs。メールサーバ: exim4, spamassassin, uw-imap。印刷サーバ: cups。 SQL データベース: postgresql。 Web サーバ: apache。 タスクを選択したら、OK を選択してください。 aptitude が選択したパッケージの一部 をインストールし始めます。 注意 インストーラの標準ユーザインターフェースでは、タスクの選択をスペースバーでトグ ルできます。 デスクトップタスクは非常に大きいことを意識していてください。特に、通常の CD-ROM と、ミラーサイトにある CD-ROM 外のパッケージを組み合わせる場合、インストーラが 、ネットワークから大量のパッケージを取得しようとするかもしれません。インターネ ット接続が低速な場合、長い時間かかるでしょう。一度、パッケージのインストールを 始めたら、キャンセルするオプションはありません。 パッケージが CD-ROM に含まれている場合でも、 CD-ROM にあるパッケージよりもミラ ーサイトにあるパッケージの方が新しければ、インストーラはミラーサイトから取得し ようとします。安定版をインストールしている場合はポイントリリース (オリジナルの 安定版リリースの更新) 後に、テスト版をインストールしている場合は古いイメージを 使用していると、こういったことが起こり得ます。 tasksel で選択したパッケージを、今度は apt-get プログラムと dpkg プログラムでそ れぞれダウンロード・展開し、インストールします。口うるさいプログラムが、ユーザ からの情報をもっと必要とする場合は、この処理中に入力をうながしてきます。 6.3.6. システムを起動可能に ディスクなしワークステーションにインストールするなら、ローカルディスクから起動 するなんて、明らかに意味がありませんから、このステップをスキップしてください。 6.3.6.1. 他 OS の検出 ブートローダがインストールされる前に、インストーラは既にインストールされている 他の OS の検出を試します。サポートする OS を見つけると、ブートローダインストー ルステップの間にそれを通知します。また、Debian に加えて他の OS をブートできるよ うに、このコンピュータを設定します。 複数の OS を同一の機械で起動するのは、いまだに魔術的だということに注意してくだ さい。他の OS を検出し起動するようにブートローダをセットアップする自動サポート は、アーキテクチャごとに (サブアーキテクチャそれぞれでさえ) 異なります。作動し ない場合は、詳細についてブートマネージャの文書を調べるべきです。 6.3.6.2. arcboot-installer SGI マシンのブートローダは arcboot です。これはカーネルと同じハードディスクにイ ンストールしなければなりません。 (これはインストーラが自動で行います) arcboot は異なった設定を、/etc/arcboot.conf でセットアップすることでサポートしています 。いずれの設定も一意の名前を持ち、インストーラが作成したデフォルトの設定は「 linux」です。 arcboot のインストール後、次のようなファームウェア環境変数をプロ ンプトに入力して、システムをハードディスクから起動できます。 setenv SystemPartition scsi(scsi)disk(disk)rdisk(0)partition(0) setenv OSLoadPartition scsi(scsi)disk(disk)rdisk(0)partition(partnr) setenv OSLoader arcboot setenv OSLoadFilename config setenv AutoLoad yes その後、boot と入力してください。 scsi 起動する SCSI バスを表す。オンボードコントローラは 0 となる。 disk arcboot をインストールしたハードディスクの SCSI ID を表す。 partnr /etc/arcboot.conf があるパーティションの番号を表す。 config /etc/arcboot.conf 設定エントリの名前を表す。デフォルトは「linux」である。 6.3.6.3. ブートローダなしで継続 このオプションは、アーキテクチャ/サブアーキテクチャにブートローダがない、あるい はインストールする気がない (例えば、既存のブートローダを使用するつもりであると か) 時に、ブートローダをインストールしていなくても、インストールを完了するのに 利用できます。 手動でブートローダを設定する場合、/target/boot にインストールしたカーネルの名前 をチェックしてください。またそのディレクトリに initrd が存在するかチェックして ください。存在するなら、ブートローダにそれを使うよう指定しなければなりません。 他に必要な情報は、 / ファイルシステムとするディスクないしパーティション、 (/ boot を個別のパーティションとする場合) /boot ファイルシステムとするディスクない しパーティションが必要です。 6.3.7. インストールの完了 新しいシステムを再起動する前に、ほんの少し行うことがあります。ほとんどが debian-installer の後片付けです。 6.3.7.1. インストールの完了と再起動 初期の Debian インストールプロセスの最終ステップです。インストーラの起動に使用 したブートメディア (CD, floppy, etc) を、取り出すよう促されます。インストーラは 最後の数タスクを実行してから再起動し、新しい Debian システムを起動します。 6.3.8. その他 本節に挙げるコンポーネントは、通常インストールプロセスに関係しませんが、何かう まく行かない時に、ユーザの助けになるようバックグラウンドで待っています。 6.3.8.1. インストールログの保存 インストールが成功したら、インストールプロセス中のログファイルが、新しい Debian システムの /var/log/installer/ に自動的に作成されています。 メインメニューからデバッグログを保存を選択すると、ログファイルをフロッピーディ スクやネットワーク、ハードディスク、その他メディアに保存できます。これは、イン ストール中に致命的な問題に遭遇してしまい、別システムでそのログを調査したいとき や、インストールレポート向けにログを添付したいときに便利です。 6.3.8.2. シェルの使用とログの参照 インストール中にシェルを起動する方法はいくつかあります。ほとんどのシステムでは 、さらにシリアルコンソールでインストールしていない場合、左 Alt-F2 ^[11] を押し て (Mac のキーボードでは、Option-F2)、第 2 仮想コンソールに切り替えるのが簡単で す。 Left Alt-F1 でインストーラ自体に戻ってください。 コンソールに切り替えられない場合、メインメニューにあるシェルの実行でもシェルを 起動できます。インストーラ自体に戻る場合は、exit と入力し、シェルを終了してくだ さい。 この段階では RAM ディスクから起動しています。また、使用には制限がありますが Unix ユーティリティが利用可能です。どのプログラムが利用できるかはコマンド ls / bin /sbin /usr/bin /usr/sbin や help とタイプするとわかります。シェルは ash と いう Bourne shell のクローンで、自動補完や履歴のような、気の利いた機能を備えて います。 ファイルの編集や表示をするには、 nano というテキストエディタを使用してください 。インストールシステムのログファイルは、 /var/log ディレクトリにあります。 注意 シェルの中では、有効なコマンドを許可されている限り、基本的になんでもできますが 、何か問題が発生したときのデバッグ用に、シェルを使用するオプションはここにしか ありません。 シェルから手動で何か行うと、インストールプロセスや結果にエラーが発生したり、イ ンストールが完了しなかったりといった恐れがあります。特に、インストーラで swap を有効にするようにし、シェルから手動で行わないようにしましょう。 6.3.8.3. ネットワーク越しのインストール network-console はとても興味深いコンポーネントで、インストールの大部分を、SSH を用いたネットワーク越しで行えるようにします。ネットワークを使用すると言うこと は、少なくともネットワークをセットアップするまで、コンソールでインストールを行 わなければならないということも含んでいます。 (でもこの部分は項4.4. 「自動インス トール」で自動化できます) このコンポーネントは、デフォルトではメインインストールメニューには現れません。 そのため、自分で明示しなければなりません。 CD からインストールする場合、優先度 を中にするかインストールメニューを呼び出し、 CD からインストーラコンポーネント をロードを選んでください。また、追加コンポーネントの一覧から network-console: SSH を使ってリモートでインストールを続けるを選んでください。読み込みに成功する と、 SSH を使ってリモートでインストールを続けるから呼ばれる新しいメニュー項目が 表示されます。 この新しいエントリを選択したら、インストールするシステムに接続するための新しい パスワード (とその確認) を入力してください。これで以上です。今、リモートでログ インするよう促す画面が出ているはずです。ユーザ名は installer、パスワードは先ほ ど入力した物を使用してください。この画面にある重要な細かい点として、このシステ ムの指紋 (fingerprint) があります。この指紋を「リモートでインストールを続ける人 」に、安全に転送する必要があります。 ローカルでインストールすると決めた場合は、Enter を押してください。メインメニュ ーに戻ります。そこで別のコンポーネントを選択してください。 それでは回線の向こう側へ行きましょう。前提として、あなたの端末がインストールシ ステムで使用する UTF-8 エンコードを使用できるように設定されている必要があります 。そうでなければ、リモートインストールは可能ですが、ダイアログの枠線が化けたり ASCII 以外の文字が読めないといった妙な表示になってしまいます。インストールシス テムへの接続を確立するには、単に以下のように入力してください。 $ ssh -l installer install_host install_host には、インストールするコンピュータの名前か IP アドレスのどちらかを セットします。実際のログインの前に、リモートシステムの指紋を表示するのでそれが 正しいかどうか確認してください。 注意 順番にいくつものコンピュータにインストールして、同じ IP アドレスやホスト名を持 っていたりすると、 ssh はそういったホストへの接続を拒否します。指紋が異なってい るというのは、通常なりすまし攻撃のサインです。なりすまし攻撃ではないことが確か なら、~/.ssh/known_hosts から関連する行を削除して、もう一度行う必要があります。 ログインするとメニューの開始, シェルの開始という 2 つのメニューがある初期画面が 表示されます。前者はメインのインストールメニューに移動し、通常のインストールを 進めることができます。後者はリモートシステムの検査と (可能なら) 修正できるよう なシェルを起動します。インストールメニュー用の SSH セッションを起動するのは 1 つだけにするべきですが、シェル用には複数のセッションを起動できます。 警告 SSH を使ってリモートでインストールを始めた後で、ローカルコンソールのインストー ルセッションに戻るべきではありません。新システムの設定を保持しているデータベー スが破損する可能性があるからです。それによりインストールが失敗したり、インスト ールしたシステムに何か問題が発生するかもしれません。 また、X 端末から SSH セッションを実行しているなら、接続が終了するまでウィンドウ のリサイズを行うべきではありません。 ━━━━━━━ ^[4] 技術的には、言語に対し国コードが異なる複数のロケールが存在します。 ^[5] このインストーラでは、LVM ボリュームグループを 256 bit AES キーで暗号化し 、カーネルの「dm-crypt」サポートを利用します。 ^[6] 本当のことをいえば、同一の物理ドライブを分割して MD デバイスを構築できます が、便利なことはなにもありません。 ^[7] 暗号化キーにパスフレーズを使用するのは、 LUKS を使用して設定するという意味 です。 ^[8] 3 文字の機関では、磁気光学メディアを何度か書き換えた後でも、データを復元で きると信じられています。 ^[9] パッケージを実際にインストールするプログラムは、 dpkg であることに注意して ください。ですが、このプログラムは、どちらかというと下位のツールです。 apt-get はもっと上位のツールで、適切に dpkg を起動します。また、CD やネットワーク、その 他から、パッケージをどのように取得するかも知っています。さらに、インストール作 業が正しく行えるように、パッケージが必要とする他のパッケージも自動的にインスト ールできます。 ^[10] 表示されるリストは、インストーラが単に tasksel プログラムを起動しているだ け、ということを知っておいてください。インストールの後で、他のパッケージをイン ストール (または削除) するのにいつでも実行できます。また aptitude のような、よ りきめ細かいツールも利用できます。インストール完了後、特定の 1 パッケージを探す のなら、単に aptitude install パッケージ名を実行してください。パッケージ名は、 探したいパッケージ名です。 ^[11] スペースバーの左側にある Alt キーと、 F2 ファンクションキーを同時に押して ください。 第7章新しい Debian システムを起動させる 目次 7.1. 決着のとき 7.2. 暗号化ボリュームのマウント 7.2.1. dm-crypt 7.2.2. loop-AES 7.2.3. トラブルシュート 7.3. ログイン 7.1. 決着のとき 新しいシステムが初めて自力で起動することを、電気を扱うエンジニアは「スモークテ スト」と呼んでいます。 たとえシステムが正常に起動しなかったとしても、パニックにならないでください。イ ンストールが正常に終了したのなら、システムが Debian を起動するのを妨げる比較的 小さな問題だけがある可能性が高いです。ほとんどの場合、そのような問題はインスト ールを繰り返すことなしに解決することができます。ブート時の問題を修正する一つの 選択肢は、インストーラ内蔵のレスキューモード (項8.7. 「起動しなくなってしまった システムの回復」をご覧ください) を使用することです。 もし Debian や Linux に不馴れなら、より経験のあるユーザの手助けが必要かもしれま せん。 Mips のようにそれほど一般的でないアーキテクチャでは、 debian-mips メーリ ングリストで尋ねるのが最も良い方法です。項5.3.5. 「インストールレポートの送信」 にインストールレポートを提出することもできます。レポートには、問題についてはっ きりと説明され、表示されたすべてのメッセージが含まれており、他の人が問題の原因 を突き止める助けになるようにしてください。 7.2. 暗号化ボリュームのマウント インストール中に暗号化ボリュームを作成し、マウントポイントに割り当てると、その ボリュームに対して、起動中にパスフレーズを入力するように訊いてきます。実際の手 順は、dm-crypt と loop-AES では若干異なります。 7.2.1. dm-crypt dm-crypt で暗号化したパーティションでは、起動中に以下のようなプロンプトが表示さ れます。 Starting early crypto disks... part_crypt(starting) Enter LUKS passphrase: プロンプトの最初の行の part は、たとえば sda2 や md0 のような、基本的なパーティ ション名です。おそらく、ボリュームごとにパスフレーズを入力することに、違和感を 覚えるのではないでしょうか。これは /home や /var それぞれでパスフレーズを入力さ せられるのでしょうか? もちろんそうです。暗号化したボリュームが一つだけなら、話 は簡単で、セットアップのときに入力したパスフレーズを入力するだけです。インスト ール時に、暗号化ボリュームを少なくとも一つは設定しているなら、項6.3.2.4. 「暗号 化ボリュームの設定」の最後のステップに書き留めたメモが役に立つでしょう。以前の part_crypt とマウントポイントの間のマッピングを記録しない場合、新しいシステムの /etc/crypttab と /etc/fstab にあります。 暗号化されたルートファイルシステムがマウントされる時は、プロンプトは少し違って 見えるかもしれません。それは、システムの起動に使用される initrd を生成するため に、どの initramfs ジェネレータが使われたかによります。以下の例は、 initramfs-tools で生成された initrd の場合です。 Begin: Mounting root file system... ... Begin: Running /scripts/local-top ... Enter LUKS passphrase: パスフレーズの入力時には、入力した文字 (やアスタリスク) は表示されません。パス フレーズを間違えた場合、訂正するために 2 回までは試行できます。入力を 3 回間違 えると、そのボリュームをスキップして、次のファイルシステムをマウントしようとし ます。詳細は、項7.2.3. 「トラブルシュート」をご覧ください。 パスフレーズをすべて入力すると、通常と同様に起動を継続します。 7.2.2. loop-AES loop-AES で暗号化したパーティションでは、起動中に以下のようなプロンプトが表示さ れます。 Checking loop-encrypted file systems. Setting up /dev/loopX (/mountpoint) Password: パスフレーズの入力時には、入力した文字 (やアスタリスク) は表示されません。パス フレーズを間違えた場合、訂正するために 2 回までは試行できます。入力を 3 回間違 えると、そのボリュームをスキップして、次のファイルシステムをマウントしようとし ます。詳細は、項7.2.3. 「トラブルシュート」をご覧ください。 パスフレーズをすべて入力すると、通常と同様に起動を継続します。 7.2.3. トラブルシュート パスフレーズを間違えて、暗号化ボリュームをマウントできなかった場合、ブート後に 手動でマウントする必要があります。以下の状況が考えられます。 ● まずはじめの状況は、ルートパーティションに関することです。正しくマウントで きないとブートプロセスが停止し、再起動してもう一度行わなければなりません。 ● 最も簡単な状況は、/home や /srv といったデータを保持している暗号化ボリュー ムの場合です。この場合は、ブート後に手動でマウントしてあげるだけです。 loop-AES では、以下のように 1 ステップです。 # mount /mount_point Password: /mount_point は、特定のディレクトリに置き換えてください。(例 /home) 通常の マウントと違うのは、そのボリューム用にパスフレーズを入力するよう促される、 ということだけです。 dm-crypt の場合は少しトリッキーです。まず device mapper を実行して、ボリュ ームを登録する必要があります。 # /etc/init.d/cryptdisks start /etc/crypttab に記述されたボリュームすべてを検査し、正しいパスフレーズを入 力すると、 /dev ディレクトリ以下に、適切なデバイスを作成します。 (既に登録 されたボリュームはスキップするので、何度実行しても警告がでません) 登録に成 功すると、以下のように通常の方法でマウントできます。 # mount /mount_point ● クリティカルでないシステムファイルを扱うボリューム (/usr や /var) がマウン トできなかった場合、それでもシステムが起動し、前述の状況のように手動でボリ ュームをマウントできるでしょう。しかし、デフォルトのランレベルで通常動作し ているサービスを、起動していない可能性があるので、(再) 起動する必要がありま す。最も簡単なのは、最初のランレベルに以下のように切り替えることです。 # init 1 rootのパスワードを訊かれたら Control-D を押し、シェルのプロンプトで上記を入 力してください。 7.3. ログイン システムが起動するとすぐに、ログインプロンプトが現れます。インストールプロセス 中にあなたが指定した一般ユーザのアカウント名とパスワードを入力して、ログインし てください。これで、システムは準備完了です。 初心者のユーザは、システムを使い始めながら、すでにインストールされている文書を 読んでみると良いでしょう。現在はまだ文書システムが数種類存在しており、別々の形 式の文書を統合するための作業が進められているところです。以下に出発点をいくつか 示します。 インストールしたプログラムに付属する文書は、 /usr/share/doc/ 以下のそのプログラ ム (より正確には、そのプログラムを含む Debian パッケージ) にちなんで命名された サブディレクトリの下で見ることができます。しかし多くの場合、より豊富な文書が、 独立した文書パッケージ (ほとんどの場合、デフォルトではインストールされません) として特別に用意されます。例えば、パッケージ管理ツール apt に関する文書は、 apt-doc や apt-howto パッケージで見ることができます。 また、/usr/share/doc/ 階層構造の中には、いくつか特別なフォルダがあります。Linux HOWTO は、 /usr/share/doc/HOWTO/en-txt/ の中に、 .gz (圧縮) フォーマットで収め られています。 dhelp をインストールした後に、 /usr/share/doc/HTML/index.html に 拾い読みできる文書のインデックスを見つけるでしょう。 テキストベースのブラウザを使用して以下のコマンドを入力することで、それらの文書 を簡単に見ることができます: $ cd /usr/share/doc/ $ w3c . w3c コマンドの後のドットは、カレントディレクトリの内容を表示させるためのもので す。 グラフィカルデスクトップ環境をインストールした場合には、Web ブラウザも利用でき ます。アプリケーションメニューから Web ブラウザを起動し、アドレスバーに /usr/ share/doc/ と入力してください。 また、コマンドプロンプトから使えるほとんどのコマンドに対し、 info コマンドまた は man コマンドによってその文書が参照できます。 help と入力すると、シェルコマン ドのヘルプが読めます。コマンドを --help つきで入力すると、たいていそのコマンド の簡単な使い方が表示されます。その結果が画面からスクロールして消えてしまう場合 には、コマンドのあとに | more を追加すると、画面ごとに一時停止してくれます。あ る文字で始まるコマンドの一覧を知りたいときは、その文字を入力してからタブを 2 回 押します。 第8章次のステップとそれから 目次 8.1. システムをシャットダウンする 8.2. Unix を初めてお使いになる方へ 8.3. Debian に慣れる 8.3.1. Debian パッケージングシステム 8.3.2. アプリケーションの種類の管理 8.3.3. cron ジョブ管理 8.4. さらなる文書や情報 8.5. 電子メールを使用するためのシステム設定 8.5.1. デフォルトの電子メール設定 8.5.2. システムの外に電子メールを送る 8.5.3. Exim4 Mail Transport Agent の設定 8.6. 新しいカーネルのコンパイル 8.6.1. カーネルイメージの管理 8.7. 起動しなくなってしまったシステムの回復 8.1. システムをシャットダウンする 稼働中の Linux システムをシャットダウンする際には、コンピュータの前面や背面にあ るリセットスイッチで再起動させたり、いきなり電源を落したりしてはいけません。 Linux は適切な手順でシャットダウンすべきで、さもないとファイルを失ったりディス クにダメージがもたらされたりします。デスクトップ環境を実行している場合は、通常 システムのシャットダウン (または再起動) を可能にする、アプリケーションメニュー から利用できる「ログアウト」用のオプションがあります。 もう一つの方法として、Ctrl-Alt-Del のキーを同時に押す方法が使えます。このキーの 組合せが効かない場合や、コマンドを打つ方が好みなら、システムを再起動するには reboot と打ち込んでください。最後の選択肢として、root でログインして poweroff、 halt あるいは shutdown -h now などのコマンドのどれかを打ち込みます (訳注: シス テムが停止します)。 8.2. Unix を初めてお使いになる方へ Unix を初めてお使いになる方は、出かけて何冊か本を買い、少し読んでみるとよいでし ょう。さらに多くの価値ある情報が Debian Reference で見つけられます。この Unix FAQ のリストには、素晴らしい歴史的な参考文献を提供する UseNet ドキュメントがた くさん紹介されています。 Linux は Unix の実装の一つです。 Linux Documentation Project (LDP) では Linux に関するたくさんの HOWTO やオンラインの書籍をまとめています。これらの文書の多く は手元のコンピュータにインストールすることもできます。doc-linux-html パッケージ (HTML 版) か doc-linux-text パッケージ (テキスト版) をインストールしてから、/ usr/share/doc/HOWTO ディレクトリを覗いてみてください。また各国語版の LDP HOWTO も Debian のパッケージとしてご利用いただけます。 8.3. Debian に慣れる Debian は他のディストリビューションとは少々異なっています。他のディストリビュー ションで Linux に精通された方でも、システムを整然とした状態に保つためには、 Debian について知っておかなくてはならないことがあります。この章では Debian に慣 れる手助けとなる資料を紹介します。 Debian の使い方を逐一説明することは意図して いません。すごく急いでいる人にシステムをざっとつかんでもらうだけのものです。 8.3.1. Debian パッケージングシステム まず理解すべき最も重要な考え方に、Debian のパッケージングシステムがあります。基 本的に、システムの大部分はパッケージングシステムの管理下にあると考えられていま す。このパッケージングシステムによって管理されるディレクトリには、以下のディレ クトリが含まれています。 ● /usr (/usr/local を除く) ● /var (/var/local を作成し、それ以下のディレクトリを自由に使うことは可能で す) ● /bin ● /sbin ● /lib 例えば、/usr/bin/perl をあなたが別に用意したファイルで置き換えたとしても、その 動作には問題はありません。ただし、後で perl パッケージを更新すると、あなたが置 いたファイルはパッケージによって置き換えられてしまいます。これを避けるには、 aptitude でパッケージを「hold」 (保留) するという操作を行います。 ベストなインストール方法の一つに apt があります。コマンドライン版の apt-get を 利用することもできますし、フルスクリーンテキスト版の aptitude を利用することも できます。apt は main、contrib、non-free を統一的に処理するので、輸出制限パッケ ージもスタンダードパッケージも同じ樣に扱うことができます。 8.3.2. アプリケーションの種類の管理 似たような種類のものが複数あるようなアプリケーションは、update-alternatives で 管理されています。同種のアプリケーションを複数保守している人は、 update-alternatives の man ページをご覧ください。 8.3.3. cron ジョブ管理 システム管理者権限のもとで実行するジョブは、設定ファイルのある /etc に置いてく ださい。毎日、毎週、毎月 root で実行する cron ジョブがあれば、 /etc/cron. {daily,weekly,monthly} に置いてください。これらは /etc/crontab から呼び出され、 アルファベット順に実行されます。 一方、特定のユーザで実行する必要がある cron ジョブや、特定の時間または頻度で実 行する必要がある cron ジョブには、 /etc/crontab あるいは /etc/cron.d/whatever が使えます (後者の方が望ましい)。これらのファイルには cron ジョブを実行するユー ザアカウントを明記する特別なフィールドがあります。 どちらの場合も、ファイルを編集するだけで cron が自動的に実行してくれます。特別 なコマンドを実行する必要はありません。詳しい情報は cron(8)、crontab(5)、 /usr/ share/doc/cron/README.Debian をご覧ください。 8.4. さらなる文書や情報 もし、特定のプログラムに関する情報が必要ならば、まずは man プログラム名や info プログラム名を実行してみてください。 /usr/share/doc にも有用な文書がたくさんあります。特に、/usr/share/doc/HOWTO や /usr/share/doc/FAQ には興味深い情報がいくつもあります。バグを報告するには /usr/ share/doc/debian/bug* をご覧ください。特定のプログラムについて Debian 固有の問 題を読むためには /usr/share/doc/(package name)/README.Debian をご覧ください。 Debian ウェブサイトには、Debian に関するたくさんの文書があります。特に、 Debian GNU/Linux FAQ と Debian リファレンスをご覧ください。 Debian ドキュメンテーショ ンプロジェクトには、Debian ドキュメンテーションに関するより多くのインデックスが 用意されています。 Debian のコミュニティでは、ユーザがお互いにサポートを行って います。 Debian のメーリングリストを購読するにはメーリングリストの購読ページを ご覧ください。大事なことを言い忘れましたが、Debian メーリングリストアーカイブに は Debian に関する豊富な情報が含まれています。 GNU/Linux の情報の一般的なソースは、 Linux Documentation Project です。そこで、 GNU/Linux システムの部分について、他の非常に価値ある情報のための HOWTO やポイン タを得られるでしょう。 8.5. 電子メールを使用するためのシステム設定 今日では、電子メールは多くの人々にとって生活の重要な一部になっています。電子メ ールを使えるように設定するまでには、たくさんの選択肢があり、さらに電子メールが 正確に設定されていることが重要になる Debian ユーティリティがあります。本節では 、基本的なことのみ説明します。 電子メールシステムは、三つの主要な機能で構築されています。最初に、ユーザがメー ルを読み書きするために実際に使用するプログラムである Mail User Agent (MUA) があ ります。次に、あるコンピュータから別のコンピュータまでメッセージの転送処理をす る Mail Transfer Agent (MTA) があります。そして最後に、ユーザの受信箱に受信メー ルの配送処理をする Mail Delivery Agent (MDA) があります。 これら三つの機能は個別のプログラムによって実行されますが、一つあるいは二つのプ ログラムに組み込むこともできます。また、異なるタイプのメールのために、これらの 機能を処理する異なるプログラムを使用することもできます。 Linux や Unix システムにおいては、mutt が歴史的にとてもよく知られている MUA で す。従来のほとんどの Linux プログラムがそうであるようにテキストベースのプログラ ムで、 MTA として exim または sendmail、そして MDA として procmail と組み合わせ てよく使用されます。 グラフィカルデスクトップシステムの人気の高まりとともに、 GNOME の evolution、 KDE の kmail、あるいは Mozilla の thunderbird (Debian では icedove^[12] として 利用可能) のようなグラフィカルな電子メールプログラムの使用がより一般的になって います。これらのプログラムは、MUA、MTA および MDA の機能が組み合わされています が、従来の Linux ツールと組み合わせることもでき -- そして多くの場合は組み合わせ て -- 使用されます。 8.5.1. デフォルトの電子メール設定 グラフィカルなメールプログラムを使用するつもりでいても、Linux システムに従来の MTA/MDA もインストールし、正確に設定するのは大切なことです。システムで起動して いる様々なユーティリティ^[13] が、システム管理者に (潜在的な) 問題や変更を通知 するために、電子メールで重要な通知を送ることができるからです。 そのため、exim4 と mutt パッケージは、デフォルトでインストールされます (インス トールの際に「標準」タスクを非選択にしなかった場合)。 exim4 は、比較的小さなプ ログラムですが、とても柔軟性のある MTA/MDA の組み合わせです。デフォルトでは、シ ステム内のローカルな電子メールの処理のみのために設定され、システム管理者 (root アカウント) 宛ての電子メールは、インストールの際に作成した標準のユーザアカウン トに配送されます^[14]。 システムから配送された電子メールは /var/mail/account_name 中のファイルに加えら れます。メールは mutt を使って読むことができます。 8.5.2. システムの外に電子メールを送る 先に述べたように、インストールした Debian システムは、システム内のローカルな電 子メールを処理するようにだけ設定され、他人にメールを送ったり、他人からメールを 受け取ったりするようには設定されません。 exim4 に外部の電子メールを処理させたい場合は、利用できる基本設定オプションに関 して、次節を参照してください。メールが正しく送受信できることは、テストして確か めるようにしてください。 もしグラフィカルなメールプログラムを使って、インターネットサービスプロバイダ (ISP) あるいは会社のメールサーバを使用するつもりならば、外部の電子メールを処理 するために exim4 を設定する必要は実際にはありません。電子メールを送受信するため に、好みのグラフィカルなメールプログラムが正しいサーバを使用するようにただ設定 するだけです (設定方法は本マニュアルでは扱いません)。 しかしその場合には、電子メールを正しく送れるように個々のユーティリティを設定す る必要があるかもしれません。そのようなユーティリティの一つに、 Debian パッケー ジに対するバグ報告の提出を容易にするプログラムである reportbug があります。デフ ォルトでは、バグ報告を提出するために exim4 が使用可能であることが期待されます。 外部のメールサーバを使用するように reportbug を正しく設定するため、reportbug --configure コマンドを実行し、MTA が利用可能かどうかという質問に「no」と答えて ください。その後、バグ報告の提出に使用する SMTP サーバを尋ねられるでしょう。 8.5.3. Exim4 Mail Transport Agent の設定 システムで外部の電子メールを処理するようにしたい場合、 exim4 パッケージを再設定 する必要があります^[15]: # dpkg-reconfigure exim4-config (root で) 上記のコマンドを入力した後に、設定ファイルを小さなファイルに分割する かどうか質問されます。よく分からない場合は、デフォルトオプションを選択してくだ さい。 次に、一般的な複数のメールシナリオが提示されます。あなたが必要としていることに 最も近いものを一つ選択してください。 インターネットサイト システムはネットワークに接続され、SMTP を使用して直接メールを送受信します。 次の画面で、マシンのメール名や受信あるいは中継するメールのドメインリストな どのような、いくつかの基本的な質問をされるでしょう。 スマートホストでメール送信 このシナリオでは、あなたの送信メールは、宛て先へのメッセージ送信処理をする 「スマートホスト」と呼ばれる他のマシンに転送されます。通常、スマートホスト は、あなたのコンピュータ宛てに送信された受信メールを保管するので、ずっとオ ンラインである必要はありません。つまりそれは、 fetchmail のようなプログラム によって、スマートホストのメールをダウンロードしなければならないことを意味 します。 多くの場合、スマートホストはあなたの ISP のメールサーバで、このオプションは ダイヤルアップユーザにとても適しています。またそれは、会社のメールサーバや あなた自身のネットワーク上の別のシステムとすることもできます。 スマートホストでメール送信; ローカルメールなし このオプションは、システムがローカルの電子メールドメインを処理するようには 設定されないという点を除いては、基本的に前のものと同じです。システム自体 (例えば、システム管理者のため) のメールは処理されます。 ローカル配信のみ システムがデフォルトで設定されるオプションです。 今は設定しない 内容を理解できていると絶対に確信している場合のみ選択してください。このシナ リオは、メールシステムを未設定のままにします -- メールシステムが設定される まで、メールの送受信は一切できず、システムユーティリティからの重要なメッセ ージも逃してしまうかもしれません。 以上のどのシナリオもあなたの必要とするものに合っていない場合や、より精細な設定 が必要な場合は、インストール完了後に /etc/exim4 ディレクトリの設定ファイルを編 集する必要があります。exim4 に関するより多くの情報は、/usr/share/doc/exim4 ディ レクトリにあります -- README.Debian.gz ファイルには、exim4の設定に関するその他 の情報や、補足文書がどこで見つかるかなどの説明があります。 公式なドメインネームがない場合、インターネットに直接送信されたメールが受信サー バのスパム対策のために拒絶され、結果として不着メールとなる可能性があることに注 意してください。ISP のメールサーバの使用が望まれます。それでもメールを直接送信 したい場合には、デフォルトで生成されるものとは異なる電子メールアドレスを使用し た方が良いでしょう。 MTA として exim4 を使用するなら、 /etc/email-addresses に エントリを追加することで可能です。 8.6. 新しいカーネルのコンパイル 新しいカーネルをコンパイルしようとする動機はなんでしょう? Debian では、標準で入 っているカーネルで多くの機能をサポートしているので、ほとんどその必要はありませ ん。また、Debian は多くの場合、いくつかの代替カーネルを提供しています。ですから おそらく、もっと自分のハードウェアに対応する代わりのカーネルイメージパッケージ があるかどうかをまず確認したいと思うでしょう。しかし、以下のような目的のために は、新しいカーネルをコンパイルすることは有益です。 ● 特殊なハードウェアを使ったり、標準カーネルとハードウェアとの競合を回避する ため ● (ハイメモリサポートなど) 標準カーネルでサポートされていない機能を利用するた め ● 使わないドライバを取り除くことでカーネルを最適化し、起動にかかる時間を短く するため ● モジュール化されたカーネルの代わりに、一体化したカーネルを作成するため ● 最新のカーネルや開発版のカーネルを使用するため ● linux カーネルに関してもっと学ぶため 8.6.1. カーネルイメージの管理 カーネルのコンパイルを恐がらないでください。楽しく、かつ役に立つ作業です。 Debian 流にカーネルをコンパイルするのに必要なパッケージは、 fakeroot、 kernel-package、 linux-source-2.6 、あとは多分すでにインストール済みのパッケー ジがいくつか、です (完全な一覧については /usr/share/doc/kernel-package/ README.gz をご覧ください)。 この方法はカーネルソースから .deb を作り、また非標準のモジュールがあれば、作成 したカーネルに依存した .deb も同時に作ります。これはカーネルイメージの管理には 良い方法で、 /boot にカーネル、System.map、ビルドに使った設定ファイルの記録を保 存します。 必ずしも「Debian 流」にカーネルをコンパイルする必要はありません。しかし、カーネ ルの管理にもパッケージングシステムを用いるほうが、実際に安全で簡単です。実は linux-source-2.6 ではなく、Linus が配付しているカーネルソースをそのまま利用する こともできますが、その場合でも kernel-package を用いてコンパイルしてください。 kernel-package の利用に必要な文書すべては、 /usr/share/doc/kernel-package ディ レクトリにあります。そのため、この節では簡単な解説のみを行います。 以降では、あなたがマシン上で行動する自由があって、ホームディレクトリのどこかに カーネルソースを展開すると仮定します^[16]。また、カーネルバージョンが 2.6.18 だ と仮定します。カーネルソースを取り出したいディレクトリにいることを確認してから 、 tar xjf /usr/src/linux-source-2.6.18.tar.bz2 としてソースを展開し、作成され た linux-source-2.6.18 ディレクトリに移動してください。 次にカーネルコンパイルの設定を行います。X11 のインストールおよび設定が済んでい て、X11 を実行中の場合は make xconfig を、そうでない場合は make menuconfig を実 行します (後者では libncurses5-dev がインストールされている必要があります)。オ ンラインヘルプを時間をかけて読み、注意深く選択してください。一般的に、迷った場 合はそのデバイスドライバ (イーサネットカードや、 SCSI コントローラなどの周辺機 器を制御するソフトウェア) を入れた方がよいでしょう。なお注意していただきたいの ですが、特定のハードウェアに関係のないその他のオプションで、よく理解できないも のはデフォルトの値のままにしておいてください。また、「Loadable module support」 にある「Kernel module loader」 (デフォルトでは選択されていません) は忘れずに選 択してください。さもないと、Debian のインストールに問題が生じることもあります。 続いてソースツリーをクリアし、kernel-package のパラメータをリセットします。これ には、make-kpkg clean を実行してください。 さあ、カーネルをコンパイルしましょう。 fakeroot make-kpkg --initrd --revision= custom.1.0 kernel_image を実行してください。バージョン番号「1.0」は自由に変えら れます。この番号は、構築したカーネルを後から確認できるようにするためのものだか らです。同様に、「custom」の箇所にもお好みのキーワード (例えばホスト名など) を 使うことができます。マシンのパワーにもよりますが、カーネルのコンパイルにはかな り時間がかかります。 一旦コンパイルが完了すれば、他のパッケージと同じように、そのカスタムカーネルを インストールできます。root アカウントで dpkg -i ../ linux-image-2.6.18-subarchitecture_custom.1.0_mips.deb を実行してください。 subarchitecture は、カーネルのオプションで設定された任意のサブアーキテクチャを 表しています。また dpkg -i とすると、カーネルと一緒に役に立つ補助的なファイルも いくつかインストールされます。例えばカーネルの問題をデバッグするのに役立つ System.map や、現行のカーネルの設定が記録されている /boot/config-2.6.18 などが 適切にインストールされます。さらに、新たに作成されたカーネルパッケージは、新し いカーネルを使用するようにブートローダの設定を自動的に更新してくれます。なお、 モジュールパッケージを作成した場合、同様にそれらもインストールする必要があるで しょう。 さて、システムを再起動する時がやってきました。これまでの作業の間に何か警告が表 示されていたらそれらを注意深く読み、それから shutdown -r now を実行してください 。 Debian カーネルやカーネルのコンパイルに関するより詳しい情報については、 Debian Linux Kernel Handbook をご覧ください。 kernel-package に関するより詳しい情報に ついては、 /usr/share/doc/kernel-package にある素晴しいドキュメントをお読みくだ さい。 8.7. 起動しなくなってしまったシステムの回復 時に物事は失敗し、慎重にインストールしたはずのシステムはもはや起動しません。お そらくブートローダの設定ファイルを編集しているうちに壊してしまったか、あるいは インストールした新しいカーネルでは起動しないか、ことによると宇宙線がディスクに 命中して /sbin/init の中のビットがちょっと弾きとばされてしまったのかもしれませ ん。原因のいかんを問わず、問題を修正する間に動作するようなシステムが必要になる でしょう。レスキューモードはそんな時に役に立ちます。 レスキューモードにアクセスするためには、boot: プロンプトで rescue とタイプする か、ブートパラメータに rescue/enable=true を指定して起動してください。インスト ーラの最初で、これがフルインストールではなくレスキューモードだということを知ら せる注意書きが、ディスプレイの隅にほんの少し表示されます。心配しないでください 、あなたのシステムが上書きされるわけではありません! レスキューモードは単に、シ ステムを修復している間にディスクやネットワークデバイスなどが利用できることを確 認するために,ハードウェア検出機能を利用します。 パーティション分割ツールの代わりに、システム上のパーティションリストが示され、 それらのうちの一つを選択するよう尋ねられるでしょう。通常は、修復する必要のある ルートファイルシステムを含むパーティションを選択すべきです。ディスク上で直接作 成されたパーティションと同様に RAID や LVM デバイス上のパーティションも選択でき ます。 可能であれば次にインストーラは、選択したファイルシステムにおける、どんな必要な 修復を実行するためにも使えるシェルプロンプトを提供します。 選択したルートファイルシステムにあるシェルをインストーラが実行できない場合は、 おそらくファイルシステムが壊れているので、インストーラは警告を発し、代わりにイ ンストーラ環境でのシェルを提供することを提案します。この環境で利用できるツール は多くはありませんが、たいていの場合、システムをとにかく復旧させるには充分でし ょう。選択したルートファイルシステムは、 /target ディレクトリにマウントされます 。 いずれの場合でも、シェルを抜けた後にシステムが再起動します。 最後に。壊れてしまったシステムを修復するのは難しいことがあります。本マニュアル が、うまくいかない事や問題を修正する方法のすべてを説明しようとしているわけでは ないということに注意してください。もし問題があれば、専門家に相談してください。 ━━━━━━━ ^[12] thunderbird が Debian で icedove に改名された理由は、ライセンス問題と関係 があります。詳細は本マニュアルでは扱いません。 ^[13] 例えば: cron、quota、 logcheck、aide、... ^[14] 標準のユーザアカウントへの root 宛てのメールの転送は、 /etc/aliases で設 定します。標準のユーザアカウントを作成しなかった場合、もちろんメールは root ア カウント自身に配送されます。 ^[15] もちろん、exim4 を削除し、他の MTA/MDA を使用することもできます。 ^[16] 他にも、カーネルソースを展開してカスタムカーネルをビルドできる場所はあり ますが、特別なパーミッションを必要としないここが最も簡単です。 付録 A. インストール Howto 目次 A.1. 前置き A.2. インストーラを起動する A.2.1. CD-ROM A.2.2. ネットワークからの起動 A.2.3. ハードディスクからの起動 A.3. インストール A.4. インストールレポートを送ってください A.5. そして最後に... この文書は、新しい debian-installer で Mips (「mips」) に Debian GNU/Linux etch をインストールする方法について説明します。これは、インストール作業の迅速なリハ ーサルで、たいていの導入のために必要となるであろうすべての情報を含んでいます。 もっと多くの情報が有用な場合には、この文書内の他の部分にある、より詳細な説明に リンクします。 A.1. 前置き インストール中にバグに遭遇した場合には、それらを報告する方法の説明のために項 5.3.5. 「インストールレポートの送信」を参照してください。この文書で答えることが できない質問があれば、debian-boot メーリングリスト (debian-boot@lists.debian.org) で直接質問するか、 IRC (OFTC ネットワーク上の # debian-boot) で訊ねてください。 A.2. インストーラを起動する debian-cd チームが debian-installer を使用してビルドした CD イメージは、 Debian CD ページから入手できます。どこで CD を手に入れられるかについてのより詳細に関し ては、項4.1. 「公式 Debian GNU/Linux CD-ROM セット」をご覧ください。 一部のインストール方法では、CD イメージ以外のイメージを必要とします。項4.2.1. 「どこでインストールイメージを探すか」は、Debian ミラーサイトでイメージを探す方 法について説明しています。 以下の小節では、インストール可能なそれぞれの手段のためにどのイメージを取得する べきかを詳しく説明します。 A.2.1. CD-ROM debian-installer での etch のインストールに使用できる 2 つの異なる netinst CD イメージがあります。これらは、CD から起動し、ネットワーク越しに追加パッケージを インストールするように意図されているので、`netinst' という名前がついています。 2 つのイメージの違いは、完全な netinst イメージの方にはベースパッケージが含まれ ているのに対して、名刺サイズの CD イメージを使用する場合は、ウェブからそれらを ダウンロードしなければならないということです。インストールするのにはむしろネッ トワークを必要としないフルサイズ CD イメージを手に入れる方が良いでしょう。それ なら CD セットの最初の 1 枚を必要とするだけです。 好みのタイプをダウンロードして、CD に焼いてください。 A.2.2. ネットワークからの起動 debian-installer をネットから完全に起動することもできます。 netboot のための様 々な方法は、アーキテクチャや netboot の設定に依存します。 netboot/ 以下のファイ ルは、debian-installer を netboot するために使用できます。 A.2.3. ハードディスクからの起動 リムーバブルメディアを使用せずに、単に既存のハードディスク (そこに異なる OS が あっても構いません) を使ってインストーラを起動することができます。 hd-media/ initrd.gz、hd-media/vmlinuz および Debian CD イメージをハードディスクの一番上の ディレクトリにダウンロードしてください。 CD イメージのファイル名が .iso で終わ っていることを確かめてください。それは initrd を備えた linux の起動にかかわる問 題です。 A.3. インストール インストーラが立ち上がるとすぐに、歓迎の初期画面が表示されます。起動するために Enter を押すか、他の起動方法やパラメータのための説明を読んでください (項5.2. 「 ブートパラメータ」をご覧ください)。 しばらくして、言語を選択するための質問がされます。矢印キーを使って言語を選び、 継続するために Enter を押してください。次に、その言語が話される国々を含む選択肢 が表示され、国を選択するよう質問されます。短いリスト上にはない場合は、世界中の すべての国のリストから選択できます。 キーボードレイアウトを確認するよう尋ねられるかもしれません。もしよく分からなけ れば、デフォルトを選択してください。 debian-installer がハードウェアの一部を検知し、CD やフロッピー、あるいは USB な どからインストーラの残りの部分をロードする間、くつろいでいてください。 次にインストーラは、ネットワークハードウェアを検知し、DHCP によってネットワーク の設定をしようとします。ネットワーク上にないか、 DHCP が無い場合は、ネットワー クを手動で設定する機会が与えられます。 さあ、ディスクのパーティションを分割しましょう。最初に、ドライブのすべてか、ま たはドライブの利用可能な空き領域を自動的にパーティション分割するか選択する機会 が与えられます (ガイドによるパーティショニング)。これは新規ユーザや急いでいる誰 にでも勧められます。自動分割をしたくない場合は、メニューから手動を選んでくださ い。 次の画面でパーティションテーブル (パーティションをどうフォーマットするか、それ をどこにマウントするか) を見ることになります。修正や削除をするためには、パーテ ィションを選択してください。もし自動パーティション分割を行っていれば、設定した ものを使用するメニューから、パーティショニングの終了とディスクへの変更の書き込 みで決定できます。スワップスペースのために少なくとも 1 つのパーティションを割り 当てることと / にパーティションをマウントすることを忘れないようにしてください。 付録 C. Debian でのパーティション分割にパーティション分割に関するもっと多くの情 報があります。 それから debian-installer はパーティションをフォーマットし、ベースシステムのイ ンストール (時間がかかることがあります) を始めます。続いてカーネルがインストー ルされます。 次のステップは、タイムゾーンと時計の設定です。インストーラは正しい設定を自動で 選択し、不可能な場合のみ問い合わせてきます。続いて、ユーザアカウントの設定を行 います。デフォルトでは、「root」 (管理者) アカウントのパスワードを設定し、通常 ユーザのアカウントを 1 つ作成することになります。 最初にインストールしたベースシステムでも動作はしますが、最低限のものしかインス トールされていません。もっと機能的にするには、次のステップでタスクを選択し、追 加パッケージをインストールしてください。なお、パッケージをインストールする前に 、パッケージをどこから取得してインストールするかの定義を、 apt に設定する必要が あります。「標準システム」タスクはデフォルトで選択され、通常は既にインストール されているはずです。インストール後にグラフィカルデスクトップが必要であれば、「 デスクトップ環境」を選択してください。このステップについてのさらなる情報は、項 6.3.5.2. 「ソフトウェアの選択・インストール」をご覧ください。 最後の段階はブートローダをインストールすることです。コンピュータ上に他のオペレ ーティングシステムを検出した場合は、インストーラがブートメニューにそれらを加え て知らせます。 次に debian-installer は、インストールが終了したことを伝えます。 CD-ROM やその 他の起動メディアを取り出して、マシンを再起動するために Enter を叩いてください。 新しくインストールしたシステムが起動し、ログインできるはずです。これは章 7. 新 しい Debian システムを起動させるで説明しています。 インストール手順についてもっと多くの情報が必要ならば、章 6. Debian Installer の 使用法をご覧ください。 A.4. インストールレポートを送ってください debian-installer で首尾よくインストールをやり遂げられたならば、レポート提出のた めにしばらく時間をかけてください。 reportbug パッケージをインストールして ( aptitude install reportbug)、項8.5.2. 「システムの外に電子メールを送る」の説明 にあるように reportbug を設定し、 reportbug installation-reports と実行するのが 最も簡単な方法です。 もしインストールが完了しなかったのならば、おそらく debian-installer のバグを発 見しました。インストーラを改善するためには、私たちがそれらについて知っているこ とが必要ですので、バグ報告するための時間をとってください。問題を報告するために はインストールレポートが使用できます。インストールが完全に失敗する場合は、項 5.3.4. 「インストールで発生した問題の報告」をご覧ください。 A.5. そして最後に... Debian のインストールが快適であり、Debian が役に立つことに気づいていただければ と思います。章 8. 次のステップとそれからを読みたいと思ったかもしれません。 付録 B. preseed を利用したインストールの自動化 目次 B.1. はじめに B.1.1. preseed の方法 B.1.2. 制限 B.2. preseed の利用 B.2.1. 事前設定ファイルの読み込み B.2.2. preseed が質問するブートパラメータの利用 B.2.3. 自動モード B.2.4. preseed で利用できるエイリアス B.2.5. 事前設定ファイルを指定するための DHCP の利用方法 B.3. 事前設定ファイルの作成 B.4. 事前設定ファイルの内容 B.4.1. 地域化 B.4.2. ネットワーク設定 B.4.3. ミラーサイト設定 B.4.4. パーティション分割 B.4.5. RAID を用いたパーティション分割 B.4.6. 時計・タイムゾーン設定 B.4.7. apt 設定 B.4.8. アカウント設定 B.4.9. 基本システムのインストール B.4.10. ブートローダのインストール B.4.11. パッケージ選択 B.4.12. インストール第 1 段階の仕上げ B.4.13. X の設定 B.4.14. 他パッケージの preseed B.5. 高度なオプション B.5.1. インストール中のカスタムコマンド実行 B.5.2. preseed を用いたデフォルト値変更 B.5.3. 事前設定ファイルの多重読み込み 本付録は preseed の方法を説明します。これは debian-installer の質問に回答してお きインストールを自動化するものです。 本付録で使用する設定の断片は、 http://www.debian.org/releases/etch/ example-preseed.txt のサンプル事前設定ファイルでも利用できます。 B.1. はじめに preseed は、インストールの実行中に手動で回答を入力せずに、インストールプロセス 中の質問の答を設定する方法を提供します。これにより、ほとんどの方法のインストー ルを自動化し、さらに通常のインストールでは利用できない特徴もあります。 B.1.1. preseed の方法 preseed を利用するには、 initrd, ファイル, ネットワークと 3 種類の方法がありま す。 initrd preseed は、いずれのインストール方法でも動作し、より多くの preseed をサポートしますが、大量の準備が必要です。ファイル preseed やネットワーク preseed は、それぞれインストール方法が異なる場合に使用されます。 以下の表では、各インストール方法で使用できる preseed 方法を示します。 ┌─────────────┬─────┬──────┬──────────┐ │ インストール方法 │ initrd │ ファイル │ ネットワーク │ ├─────────────┼─────┼──────┼──────────┤ │CD/DVD │yes │yes │yes^[a] │ ├─────────────┼─────┼──────┼──────────┤ │netboot │yes │no │yes │ ├─────────────┼─────┼──────┼──────────┤ │hd-media │yes │yes │yes^[a] │ ├─────────────┴─────┴──────┴──────────┤ │^[a] ネットワークアクセスを行う場合だけでなく、適切な preseed/url を設定す│ │る場合。 │ └─────────────────────────────────────┘ preseed 方法の重要な違いは、事前設定ファイルを読込・処理するポイントです。 initrd preseed では、インストールの始め (最初の質問が行われる前) に読み込まれま す。ファイル preseed では、CD や CD イメージが読み込まれた後です。ネットワーク preseed では、ネットワークの設定の後でないと読み込まれません。 言うまでもなく、事前設定ファイルが読み込まれる前に処理される質問は、 preseed で きません。 (最初のハードウェア検出のように、優先度が中や低でしか表示されない質 問も含んでいます) 項B.2.2. 「preseed が質問するブートパラメータの利用」では、そ ういった質問が出ないようにする方法を提供しています。 preseed が起動する前に、通常現れる質問を回避するのに、「自動」モードでインスト ーラを起動できます。これによりネットワークの設定が終わるまで、preseed の前に行 われる質問 (言語、国、キーボード選択など) を遅らせ、preseed にその質問を含めら れます。また、インストールの優先度を最重要で行うため、大量にある重要でない質問 を回避できます。詳細は項B.2.3. 「自動モード」をご覧ください。 B.1.2. 制限 debian-installer で行われる質問のほとんどはこの方法で preseed できますが、いく つか注目すべき例外があります。ディスク全体を (再度) パーティション分割するか、 ディスクの空き領域を利用しなければなりません。つまり既存のパーティションを利用 できないと言うことです。 B.2. preseed の利用 事前設定ファイルを最初に作成し、使用する場所に配置する必要があります。事前設定 ファイルの作成は本付録で後ほど扱います。ネットワーク preseed の場合や、ファイル をフロッピーや USB メモリから読み込む場合、簡単に正しい位置に事前設定ファイルを 配置できます。 CD や DVD にファイルを含めたければ、 ISO イメージを再度マスタリ ングする必要があります。 initrd に含まれている事前設定ファイルを取り出す方法は 、この文書では扱いません。debian-installer の開発者向け文書を当たってください。 事前設定ファイルの手本にできる事前設定ファイルのサンプルは、 http:// www.debian.org/releases/etch/example-preseed.txt から取得できます。このファイル は、この付録にある設定の断片を元にしています。 B.2.1. 事前設定ファイルの読み込み initrd preseed を使用する場合、preseed.cfg というファイルが initrd のルートディ レクトリに確実にある必要があります。インストーラは、このファイルがあるか自動的 にチェックし、読み込みます。 他の preseed 方法では、起動時にどのファイルを読み込むか、インストーラに指定する 必要があります。通常、カーネルのブートパラメータで渡して行います。これは起動時 に手動で与えるか、ブートローダ設定ファイル (例: syslinux.cfg) を編集し、カーネ ルへの append 行の最後にパラメータを追加して与えます。 ブートローダの設定で事前設定ファイルを指定する場合、設定を変更すれば、インスト ーラの起動時に ENTER を押す必要はありません。 syslinux ではこの設定をするのに、 syslinux.cfg でタイムアウトを 1 にします。 インストーラが確実に正しい事前設定ファイルを取得するのに、このファイルのチェッ クサムを指定できます。現在、これには md5sum 値の指定が必要です。指定した値と事 前設定ファイルの値は一致しなければなりません。一致しない場合は、インストーラは 事前設定ファイルを使用しません。 ブートパラメータの設定: - netboot の場合: preseed/url=http://host/path/to/preseed.cfg preseed/url/checksum=5da499872becccfeda2c4872f9171c3d - リマスタリングした CD で起動する場合: preseed/file=/cdrom/preseed.cfg preseed/file/checksum=5da499872becccfeda2c4872f9171c3d - USB メディアで起動する場合 (事前設定ファイルを USB メモリの トップレベルディレクトリに置くこと): preseed/file=/hd-media/preseed.cfg preseed/file/checksum=5da499872becccfeda2c4872f9171c3d ブートパラメータに渡す際に、 preseed/url は url に、 preseed/file は file に短 縮できることに注意してください。 B.2.2. preseed が質問するブートパラメータの利用 事前設定ファイルを preseed の各段階で使用できない場合でも、 preseed の値をイン ストーラ起動時のコマンドラインに与えることで、インストールを自動で行えます。 preseed を使用せず指定した質問への答を設定したい場合にも、ブートパラメータを使 用します。有用な使用法のサンプルが、このマニュアルの別の場所にあります。 debian-installer 内部で使用する値をセットするには、 path/to/variable=value のよ うに本付録の例にある preseed 変数を渡すだけです。値がターゲットシステムのパッケ ージを設定することがある場合、 owner^[17] 変数を、あらかじめ用意し、 owner:path /to/variable=value で使用する必要があります。 owner を指定しない場合、変数の値 はターゲットシステムの debconf データベースにコピーされず、関連パッケージの設定 中使用されません。 ブートプロンプトによく使用される変数には、短いエイリアスがあることに注意してく ださい。有効なエイリアスは、本サンプル内で完全な変数名の代わりに使用しています 。特に、preseed/url 変数には url というエイリアスがあり、短い URL が使えること による技がいくつかあります。もう一つ、tasks というエイリアスがあり、これは tasksel:tasksel/first に変換されます。 ブートオプションの「--」は特別な意味を持ちます。最後の「--」に続きカーネルパラ メータがあると、 (インストーラがサポートするブートローダの場合) インストール済 みのブートローダの設定にコピーされます。インストーラは、(事前設定オプションのよ うな) オプションを認識すると、自動的にフィルタをかけます。 注意 現在の Linux カーネル (2.6.9 以降) では、最大 (インストーラがデフォルトで指定す るオプションを含め) コマンドラインオプションを 32 個、環境オプションを 32 個受 け取れます。この数を超えると、カーネルはパニック (クラッシュ) してしまいます。 (初期のカーネルではこの数字がもっと少ないです) ほとんどのインストールでは、ブートローダ設定ファイルにある (vga=normal のよう な) デフォルトオプションを安全に削除できるかもしれません。これにより preseed 用 にもっとオプションを追加できます。 注意 ブートパラメータに空白を含んだ値を設定するのは、引用符で囲んだとしてもいつもう まくいくとは限りません。 B.2.3. 自動モード かなりシンプルなコマンドラインをブートプロンプトに与え、任意の複雑なカスタマイ ズを自動インストールに対して行う Debian Installer の機能があります。これを説明 するため、以下にブートプロンプトで使用できる例を示します。 auto url=autoserver これは、DNS で autoserver の名前解決ができ (おそらく DHCP でローカルドメイン追 加後)、そのマシンが DHCP サーバであることを前提にしています。 example.com とい うドメインのサイトが、普通のまともな DHCP を設定していれば、 http:// autoserver.example.com/d-i/etch/./preseed.cfg から、preseed ファイルを取得する ようになります。 URL (d-i/etch/./preseed.cfg) の最後の部分は、 auto-install/defaultroot から取ら れています。デフォルトでは、将来のバージョンでコードネームを指定して移行してい けるように、 etch ディレクトリが含まれています。 /./ は、その後に続くパスが確定 するように、ルートからの相対パスを示します (preseed/include や preseed/run で使 用)。これにより、完全な URLや / で始まるパス、前回 preseed が見つかった場所から の相対パスでファイルを指定できます。スクリプトの階層構造を壊さずに新しい場所に 移動できる (例えばウェブサーバで開始し、USB メモリにコピーする)、よりポータブル なスクリプトを構成するのに便利です。このサンプルでは、preseed ファイルの preseed/run に /scripts/late_command.sh が設定されている場合、 http:// autoserver.example.com/d-i/etch/./scripts/late_command.sh からファイルを取得し ます。 手元に DHCP や DNS のインフラがない場合や、 preseed.cfg のデフォルトパスを使用 したくない場合でも、きちんとした URL を使用でき、/./ 要素を使用しない場合は、パ スの開始点を決定できます (例えば URL の 3 つ目の /)。以下は、手元のネットワーク インフラから最低限必要な物のサンプルです。 auto url=http://192.168.1.2/path/to/mypreseed.file この方法は次のように動作します。 ● URL が見つからない場合、http だと仮定します。 ● ホスト名セクションにピリオドがなければ、DHCP から引き出して追加します。 ● ホスト名の後に / がなければ、デフォルトパスを追加します。 URL を指定するのに加えて、 debian-installer 自身の振る舞いには直接影響しない設 定も追加できますが、読み込んだ preseed ファイルの preseed/run で指定した、スク リプトに渡すことができます。現在のところ、classes というエイリアスを持つ、 auto-install/classes のサンプルのみです。以下のように使用します。 auto url=example.com classes=class_A;class_B classes にはこのサンプルでは、インストールするシステムのタイプや、地域化を指定 するのに使用できます。 この概念はもちろん拡張でき、もしそうする場合、 auto-install 名前空間を使用する のが妥当です。ですから、次にあなたのスクリプトで使用する auto-install/style の ような物かもしれません。これが必要だと思うのなら、名前空間の衝突を避けるために メーリングリストで提案してください。おそらくパラ メータのエイリアスが追加されます。 auto ブートラベルは、どのアーキテクチャでもまだ定義されていません。カーネルのコ マンドラインに、単にパラメータを 2 つ auto=true priority=critical を追加すると 、同じ効果を得られます。 auto パラメータは auto-install/enable のエイリアスで、 ロケールやキーボードの質問を preseed で行えるよう遅らせます。また、priority は debconf/priority のエイリアスで、critical に設定すると、優先度の低い質問を抑制 するようになります。 DHCP を使用してインストールの自動化を行う際に、関連する追加オプションは以下の通 りです。interface=auto netcfg/dhcp_timeout=60 これはマシンが最初の使用可能 NIC を選択し、 DHCP 問い合わせに対する返答をもっと我慢強く待つようになります。 ティップ スクリプトやクラスのサンプルを含む、フレームワークの使用法についての大規模なサ ンプルが、開発者のウェブサイトにあります。そこで得られるサンプルでも、事前設定 の独創的な使用を成し遂げる、たくさんのすばらしい効果があります。 B.2.4. preseed で利用できるエイリアス 以下のエイリアスが (自動モード) preseed を使用する際に利用できます。 auto auto-install/enable classes auto-install/classes fb debian-installer/framebuffer locale debian-installer/locale priority debconf/priority file preseed/file url preseed/url interface netcfg/choose_interface hostname netcfg/get_hostname domain netcfg/get_domain protocol mirror/protocol suite mirror/suite B.2.5. 事前設定ファイルを指定するための DHCP の利用方法 事前設定ファイルをネットワークからダウンロードするよう指定するのに、 DHCP も使 用できます。DHCP はファイル名の指定ができます。通常これは netboot のファイルで すが、URL 形式になっていると、ネットワーク preseed をサポートするインストールメ ディアが、 URL からファイルをダウンロードし、事前設定ファイルとして使用します。 以下は、ISC DHCP サーバのバージョン 3 用 dhcpd.conf で設定するサンプルです。 if substring (option vendor-class-identifier, 0, 3) = "d-i" { filename "http://host/preseed.cfg"; } 上記の例は、 "d-i" を名乗る DHCP クライアントにこのファイル名を渡すよう制限され ており、通常の DHCP クライアントではなく、インストーラにのみ影響を与えることに 注意してください。この文字列で、ネットワーク上の全マシンに preseed でインストー ルするのではなく、特定のホストに対して行うようにもできます。 DHCP preseed を使用するよい方法は、自分のネットワークには、 Debian ミラーサイト のような preseed の値のみ指定することです。自分のネットワークにこの方法でインス トールすると、選択したよいミラーサイトから自動で取得しますが、インストールの残 りのプロセスはインタラクティブに行われます。 DHCP preseed を用いた Debian の完 全自動インストールは、充分注意しなければ行うべきではありません。 B.3. 事前設定ファイルの作成 事前設定ファイルのフォーマットは、debconf-set-selections コマンドで使用されるも のと同じです。事前設定ファイルの行の一般的なフォーマットは以下のようになります 。 <所有者> <質問名> <質問タイプ> <値> 事前設定ファイルを記述する際には、ちょっとした規則があると気に留めておいてくだ さい ● 型と値の間には、空白かタブを 1 つだけおいてください。空白を追加すると、値の 一部として解釈されます。 ● 行継続文字としてバックスラッシュ (「\」) を付けて複数行に分割できます。質問 名の後で分割するのが適当でしょう。型と値の間はよくありません。 ● ほとんどの質問では、訳した値ではなく英語の値を指定する必要がありますが、 (partman など) 訳した値を使用できる質問もあります。 ● 質問の中には、インストール中に表示される英語のテキストの代わりに、コードを 取るものがあります。 事前設定ファイルを作成する簡単な方法は、項B.4. 「事前設定ファイルの内容」にある サンプルファイルを元にして作業することです。 その他には、手動インストールを行い、再起動してから debconf-utils パッケージの debconf-get-selections を使用します。以下のように debconf データベースとインス トーラの cdebconf データベースを 1 ファイルに出力してください。 $ debconf-get-selections --installer > file $ debconf-get-selections >> file しかし、この方法で生成したファイルでは preseed されない項目があります。ほとんど のユーザはサンプルファイルから始めるのがよいでしょう。 注意 この方法は、インストーラの cdebconf データベースが、インストールしたシステムの /var/log/installer/cdebconf に保存されているのを前提にしています。しかし、デー タベースに機密情報が含まれる可能性がありますので、デフォルトでは root にのみ読 み込みが許可されています。 /var/log/installer ディレクトリとその中のファイルは、 installation-report パッ ケージを完全削除することで、削除されます。 有効な質問の値をチェックするのに、インストール中に /var/lib/cdebconf のファイル を、 nano を使用して確認できます。生のテンプレートは templates.dat を、現在の値 や変数に割り当てられた値は questions.dat を確認してください。 インストールを実行する前に、事前設定ファイルのフォーマットが適切かどうかを調べ るには、 debconf-set-selections -c preseed.cfg が使えます。 B.4. 事前設定ファイルの内容 本付録で使用する設定の断片は、 http://www.debian.org/releases/etch/ example-preseed.txt のサンプル事前設定ファイルでも利用できます。 本サンプルは、 Intel x86 アーキテクチャ用インストールを元にしていることに注意し てください。他のアーキテクチャにインストールする場合、サンプルのいくつか (キー ボードの選択やブートローダの選択など) は適切でないかもしれませんので、そのアー キテクチャ用に適切な debconf 設定で置き換える必要があるでしょう。 B.4.1. 地域化 地域化の設定値は initrd preseed を利用しているときのみ動作します。他のすべての 方法では、この質問をされた後にしか事前設定ファイルを読み込めません。 ロケールは言語と国を両方指定します。ブートパラメータでロケールを指定するには、 locale=en_US としてください。 # Locale sets language and country. d-i debian-installer/locale string en_US キーボード設定は、キーボードアーキテクチャとキーマップを選択することから成って います。ほとんどの場合、正しいキーボードアーキテクチャはデフォルトで選択されて います。そのため、通常 preseed する必要はありません。キーマップは選択したキーボ ードアーキテクチャで、有効でなくてはなりません。 # Keyboard selection. #d-i console-tools/archs select at d-i console-keymaps-at/keymap select us # Example for a different keyboard architecture #d-i console-keymaps-usb/keymap select mac-usb-us キーボード設定をスキップするには、 console-tools/archs を skip-config と preseed してください。これにより、カーネルのキーマップが有効になったままとなり ます。 注意 カーネル 2.6 では入力レイヤが変更され、キーボードアーキテクチャは事実上時代遅れ です。カーネル 2.6 では通常、「PC」 (at) キーマップが既に選択されています。 B.4.2. ネットワーク設定 もちろん、ネットワークから事前設定ファイルを読み込む場合、 preseed のネットワー ク設定は動作しません。しかし、CD や USB メモリから起動するときには重要です。ネ ットワークから事前設定ファイルを読み込む場合、ネットワーク設定パラメータは、カ ーネルブートパラメータで渡すことになります。 ネットワークから事前設定ファイルを読み込む前に netboot するとき、特定のインター フェースを選ぶ必要があるなら、 interface=eth1 のようにブートパラメータを使用し てください。 「preseed/url」でネットワーク preseed を使用する際、ネットワーク設定の preseed は通常不可能ですが、例えば、ネットワークインターフェースに静的アドレスを設定す るといった、以下のハックを利用して動作させることができます。このハックは、以下 の行を含む「preseed/run」スクリプトを作成し、事前設定ファイルを読み込んだ後でネ ットワークの設定を強制的に再度行う、というものです。 killall.sh dhclient netcfg # netcfg will choose an interface that has link if possible. This makes it # skip displaying a list if there is more than one interface. d-i netcfg/choose_interface select auto # To pick a particular interface instead: #d-i netcfg/choose_interface select eth1 # If you have a slow dhcp server and the installer times out waiting for # it, this might be useful. #d-i netcfg/dhcp_timeout string 60 # If you prefer to configure the network manually, uncomment this line and # the static network configuration below. #d-i netcfg/disable_dhcp boolean true # If you want the preconfiguration file to work on systems both with and # without a dhcp server, uncomment these lines and the static network # configuration below. #d-i netcfg/dhcp_failed note #d-i netcfg/dhcp_options select Configure network manually # Static network configuration. #d-i netcfg/get_nameservers string 192.168.1.1 #d-i netcfg/get_ipaddress string 192.168.1.42 #d-i netcfg/get_netmask string 255.255.255.0 #d-i netcfg/get_gateway string 192.168.1.1 #d-i netcfg/confirm_static boolean true # Any hostname and domain names assigned from dhcp take precedence over # values set here. However, setting the values still prevents the questions # from being shown, even if values come from dhcp. d-i netcfg/get_hostname string unassigned-hostname d-i netcfg/get_domain string unassigned-domain # Disable that annoying WEP key dialog. d-i netcfg/wireless_wep string # The wacky dhcp hostname that some ISPs use as a password of sorts. #d-i netcfg/dhcp_hostname string radish B.4.3. ミラーサイト設定 使用するインストール方法に依存しますが、インストーラの追加コンポーネントのダウ ンロードや、基本システムのインストール、インストールしたシステムの /etc/apt/ sources.list のセットアップにミラーサイトを使用できます。 mirror/suite パラメータでは、インストールするシステム用の組を設定します。 mirror/udeb/suite パラメータでは、インストーラの追加コンポーネントの組を設定し ます。実際にコンポーネントをネットワークでダウンロードする場合に役立つだけです 。また、インストールで使用するインストール方法のための initrd を生成するには、 この組が一致していなければなりません。 mirror/udeb/suite のデフォルト値は、 mirror/suite と同じです。 # If you select ftp, the mirror/country string does not need to be set. #d-i mirror/protocol string ftp d-i mirror/country string enter information manually d-i mirror/http/hostname string http.us.debian.org d-i mirror/http/directory string /debian d-i mirror/http/proxy string # Suite to install. #d-i mirror/suite string testing # Suite to use for loading installer components (optional). #d-i mirror/udeb/suite string testing B.4.4. パーティション分割 ハードディスクのパーティション分割に preseed を使用するのは、 partman-auto でサ ポートしている機能に限定されています。パーティションはディスクに既存の空き領域 とディスク全体のどちらかから選べます。ディスクレイアウトは、あらかじめ定義した レシピ、レシピファイルによるカスタムレシピ、事前設定ファイルに書いたレシピから 選択できます。現在のところ、パーティションに preseed を用いて複数のディスクを割 り当てることはできません。 警告 ディスクの識別は、ドライバの読み込み順に依存します。複数のディスクがシステムに ある場合、preseed を使用する前に、正しいディスクを確実に選択できるようにしなけ ればなりません。 # If the system has free space you can choose to only partition that space. # Note: this must be preseeded with a localized (translated) value. #d-i partman-auto/init_automatically_partition \ # select Guided - use the largest continuous free space # Alternatively, you can specify a disk to partition. The device name # can be given in either devfs or traditional non-devfs format. # For example, to use the first disk: d-i partman-auto/disk string /dev/discs/disc0/disc # In addition, you'll need to specify the method to use. # The presently available methods are: "regular", "lvm" and "crypto" d-i partman-auto/method string lvm # If one of the disks that are going to be automatically partitioned # contains an old LVM configuration, the user will normally receive a # warning. This can be preseeded away... d-i partman-auto/purge_lvm_from_device boolean true # And the same goes for the confirmation to write the lvm partitions. d-i partman-lvm/confirm boolean true # You can choose from any of the predefined partitioning recipes. # Note: this must be preseeded with a localized (translated) value. d-i partman-auto/choose_recipe \ select All files in one partition (recommended for new users) #d-i partman-auto/choose_recipe \ # select Separate /home partition #d-i partman-auto/choose_recipe \ # select Separate /home, /usr, /var, and /tmp partitions # Or provide a recipe of your own... # The recipe format is documented in the file devel/partman-auto-recipe.txt. # If you have a way to get a recipe file into the d-i environment, you can # just point at it. #d-i partman-auto/expert_recipe_file string /hd-media/recipe # If not, you can put an entire recipe into the preconfiguration file in one # (logical) line. This example creates a small /boot partition, suitable # swap, and uses the rest of the space for the root partition: #d-i partman-auto/expert_recipe string \ # boot-root :: \ # 40 50 100 ext3 \ # $primary{ } $bootable{ } \ # method{ format } format{ } \ # use_filesystem{ } filesystem{ ext3 } \ # mountpoint{ /boot } \ # . \ # 500 10000 1000000000 ext3 \ # method{ format } format{ } \ # use_filesystem{ } filesystem{ ext3 } \ # mountpoint{ / } \ # . \ # 64 512 300% linux-swap \ # method{ swap } format{ } \ # . # This makes partman automatically partition without confirmation. d-i partman/confirm_write_new_label boolean true d-i partman/choose_partition \ select Finish partitioning and write changes to disk d-i partman/confirm boolean true B.4.5. RAID を用いたパーティション分割 ソフトウェア RAID アレイにパーティションをセットアップすることも、 preseed を使 用してできます。サポートしているのは、RAID 0, 1, 5、や縮退アレイの作成、スペア デバイスの指定です。 RAID 1 を使用する際には、アレイで使用する全デバイスへイン ストールするよう、 preseed で探せます。項B.4.10. 「ブートローダのインストール」 をご覧ください。 警告 自動パーティション分割でのこの形式は、誤動作をしやすいです。また、とても新しい コンポーネントで、まだバグやエラー処理漏れがあるはずです。様々な条件で正しく動 作するかの責任 (理解でき衝突しない限り) は、ユーザの側にあります。問題が発生し たら、/var/log/syslog をチェックしてください。 コンポーネントの開発者によってテストされているのは、 RAID 0 と RAID 1 のみであ ることに注意してください。 RAID 5 はテストされていません。縮退アレイやスペアデ バイスを使用した、拡張 RAID セットアップは軽くテストしただけです。 # NOTE: this option is of beta release quality and should be used carefully # The method should be set to "raid". #d-i partman-auto/method string raid # Specify the disks to be partitioned. They will all get the same layout, # so this will only work if the disks are the same size. #d-i partman-auto/disk string /dev/discs/disc0/disc /dev/discs/disc1/disc # Next you need to specify the physical partitions that will be used. #d-i partman-auto/expert_recipe string \ # multiraid :: \ # 1000 5000 4000 raid \ # $primary{ } method{ raid } \ # . \ # 64 512 300% raid \ # method{ raid } \ # . \ # 500 10000 1000000000 raid \ # method{ raid } \ # . # Last you need to specify how the previously defined partitions will be # used in the RAID setup. Remember to use the correct partition numbers # for logical partitions. # Parameters are: # \ # # RAID levels 0, 1 and 5 are supported; devices are separated using "#" #d-i partman-auto-raid/recipe string \ # 1 2 0 ext3 / \ # /dev/discs/disc0/part1#/dev/discs/disc1/part1 \ # . \ # 1 2 0 swap - \ # /dev/discs/disc0/part5#/dev/discs/disc1/part5 \ # . \ # 0 2 0 ext3 /home \ # /dev/discs/disc0/part6#/dev/discs/disc1/part6 \ # . # This makes partman automatically partition without confirmation. d-i partman-md/confirm boolean true d-i partman/confirm_write_new_label boolean true d-i partman/choose_partition \ select Finish partitioning and write changes to disk d-i partman/confirm boolean true B.4.6. 時計・タイムゾーン設定 # Controls whether or not the hardware clock is set to UTC. d-i clock-setup/utc boolean true # You may set this to any valid setting for $TZ; see the contents of # /usr/share/zoneinfo/ for valid values. d-i time/zone string US/Eastern B.4.7. apt 設定 /etc/apt/sources.list のセットアップと基本設定オプションは、インストール方法と 初期の質問への回答から、完全に自動的に行われます。さらに、他の (ローカルな) リ ポジトリを追加できます。 # You can choose to install non-free and contrib software. #d-i apt-setup/non-free boolean true #d-i apt-setup/contrib boolean true # Uncomment this if you don't want to use a network mirror. #d-i apt-setup/use_mirror boolean false # Uncomment this to avoid adding security sources, or # add a hostname to use a different server than security.debian.org. #d-i apt-setup/security_host string # Additional repositories, local[0-9] available #d-i apt-setup/local0/repository string \ # deb http://local.server/debian stable main #d-i apt-setup/local0/comment string local server # Enable deb-src lines #d-i apt-setup/local0/source boolean true # URL to the public key of the local repository; you must provide a key or # apt will complain about the unauthenticated repository and so the # sources.list line will be left commented out #d-i apt-setup/local0/key string http://local.server/key # By default the installer requires that repositories be authenticated # using a known gpg key. This setting can be used to disable that # authentication. Warning: Insecure, not recommended. #d-i debian-installer/allow_unauthenticated string true B.4.8. アカウント設定 root アカウント用のパスワードや、最初のユーザアカウントの名前・パスワードは preseed できます。パスワードには、クリアテキストか MD5 ハッシュのどちらかを使用 できます。 警告 preseed のパスワードは、パスワードを知っている事前設定ファイルが誰でもアクセス できるために、完全に安全というわけではないことを知っておいてください。 MD5 ハッ シュを使えば、セキュリティ的には多少ましと言えますが、 MD5 ハッシュは総当たり攻 撃にかけられることを考えると、セキュリティ的に誤解を与えるかもしれません。 # Skip creation of a root account (normal user account will be able to # use sudo). #d-i passwd/root-login boolean false # Alternatively, to skip creation of a normal user account. #d-i passwd/make-user boolean false # Root password, either in clear text #d-i passwd/root-password password r00tme #d-i passwd/root-password-again password r00tme # or encrypted using an MD5 hash. #d-i passwd/root-password-crypted password [MD5 hash] # To create a normal user account. #d-i passwd/user-fullname string Debian User #d-i passwd/username string debian # Normal user's password, either in clear text #d-i passwd/user-password password insecure #d-i passwd/user-password-again password insecure # or encrypted using an MD5 hash. #d-i passwd/user-password-crypted password [MD5 hash] passwd/root-password-crypted 変数や passwd/user-password-crypted 変数では、 preseed で「!」という値を取れます。この場合、そのアカウントは無効となります。も ちろん管理権限での実行や root ログインを許可する代替手段 (例えば SSH キー認証や sudo) を用意しておいた上で、 root アカウントに設定すると便利です。 パスワードの MD5 ハッシュは以下のコマンドで生成できます。 $ echo "r00tme" | mkpasswd -s -H MD5 B.4.9. 基本システムのインストール インストールのこの段階では、実際にはうまく preseed できないことがあります。その 唯一のものが、カーネルのインストールについての質問です。 # Select the initramfs generator used to generate the initrd for 2.6 kernels. #d-i base-installer/kernel/linux/initramfs-generators string yaird B.4.10. ブートローダのインストール # Grub is the default boot loader (for x86). If you want lilo installed # instead, uncomment this: #d-i grub-installer/skip boolean true # This is fairly safe to set, it makes grub install automatically to the MBR # if no other operating system is detected on the machine. d-i grub-installer/only_debian boolean true # This one makes grub-installer install to the MBR if it also finds some other # OS, which is less safe as it might not be able to boot that other OS. d-i grub-installer/with_other_os boolean true # Alternatively, if you want to install to a location other than the mbr, # uncomment and edit these lines: #d-i grub-installer/only_debian boolean false #d-i grub-installer/with_other_os boolean false #d-i grub-installer/bootdev string (hd0,0) # To install grub to multiple disks: #d-i grub-installer/bootdev string (hd0,0) (hd1,0) (hd2,0) B.4.11. パッケージ選択 有効なタスクを組み合わせてインストールするものを選ぶことができます。有効なタス クを以下に書き出します。 ● standard ● desktop ● gnome-desktop ● kde-desktop ● web-server ● print-server ● dns-server ● file-server ● mail-server ● sql-database ● laptop タスクをインストールしないこともできますし、他の方法でパッケージのセットが強制 的にインストールされることもあります。 standard タスクは常に含めるのをお奨めし ます。 タスクでインストールするパッケージに加えて、特定のパッケージをインストールする 場合、 pkgsel/include パラメータを使用できます。このパラメータの値は、カーネル コマンドラインにそのまま渡されるので、カンマか空白で区切ったパッケージのリスト を取れます。 tasksel tasksel/first multiselect standard, desktop #tasksel tasksel/first multiselect standard, web-server #tasksel tasksel/first multiselect standard, kde-desktop # Individual additional packages to install #d-i pkgsel/include string openssh-server build-essential # Some versions of the installer can report back on what software you have # installed, and what software you use. The default is not to report back, # but sending reports helps the project determine what software is most # popular and include it on CDs. #popularity-contest popularity-contest/participate boolean false B.4.12. インストール第 1 段階の仕上げ # Avoid that last message about the install being complete. d-i finish-install/reboot_in_progress note # This will prevent the installer from ejecting the CD during the reboot, # which is useful in some situations. #d-i cdrom-detect/eject boolean false B.4.13. X の設定 Debian の X 設定を preseed 可能です。しかし、マシンのビデオハードウェアについて 、詳細を知っている必要があるかもしれません。 Debian の X コンフィグレータはすべ てを自動設定するわけには行かないのです。 # X can detect the right driver for some cards, but if you're preseeding, # you override whatever it chooses. Still, vesa will work most places. #xserver-xorg xserver-xorg/config/device/driver select vesa # A caveat with mouse autodetection is that if it fails, X will retry it # over and over. So if it's preseeded to be done, there is a possibility of # an infinite loop if the mouse is not autodetected. #xserver-xorg xserver-xorg/autodetect_mouse boolean true # Monitor autodetection is recommended. xserver-xorg xserver-xorg/autodetect_monitor boolean true # Uncomment if you have an LCD display. #xserver-xorg xserver-xorg/config/monitor/lcd boolean true # X has three configuration paths for the monitor. Here's how to preseed # the "medium" path, which is always available. The "simple" path may not # be available, and the "advanced" path asks too many questions. xserver-xorg xserver-xorg/config/monitor/selection-method \ select medium xserver-xorg xserver-xorg/config/monitor/mode-list \ select 1024x768 @ 60 Hz B.4.14. 他パッケージの preseed # Depending on what software you choose to install, or if things go wrong # during the installation process, it's possible that other questions may # be asked. You can preseed those too, of course. To get a list of every # possible question that could be asked during an install, do an # installation, and then run these commands: # debconf-get-selections --installer > file # debconf-get-selections >> file B.5. 高度なオプション B.5.1. インストール中のカスタムコマンド実行 事前設定ツールには、インストール中の一定の箇所でコマンドやスクリプトを実行する といった、とても強力で柔軟なオプションが存在します。 # d-i preseeding is inherently not secure. Nothing in the installer checks # for attempts at buffer overflows or other exploits of the values of a # preconfiguration file like this one. Only use preconfiguration files from # trusted locations! To drive that home, and because it's generally useful, # here's a way to run any shell command you'd like inside the installer, # automatically. # This first command is run as early as possible, just after # preseeding is read. #d-i preseed/early_command string anna-install some-udeb # This command is run just before the install finishes, but when there is # still a usable /target directory. You can chroot to /target and use it # directly, or use the apt-install and in-target commands to easily install # packages and run commands in the target system. #d-i preseed/late_command string apt-install zsh; in-target chsh -s /bin/zsh B.5.2. preseed を用いたデフォルト値変更 preseed を用いて、質問へのデフォルトの回答を変更できます。この場合でも質問は行 われます。これには、質問への回答を設定した後で、 seen フラグを「false」にリセッ トしなければなりません。 d-i foo/bar string value d-i foo/bar seen false ブートプロンプトで preseed/interactive=true パラメータを設定し、すべての質問に 対して同じ効果を及ぼすこともできます。これは事前設定ファイルのテストやデバッグ にも便利です。ブートパラメータを利用して preseed を行う場合、質問に対して「?=」 演算子を使用して回答できます。例: foo/bar?=value これはもちろん、インストール中 に実際に表示される質問に対応するパラメータにのみ効果を及ぼし、「内部」パラメー タには効果を及ぼしません。 B.5.3. 事前設定ファイルの多重読み込み 事前設定ファイルから他の事前設定ファイルを読み込めます。前に読み込まれたファイ ルの既存設定を、後から読み込まれたいずれの設定でも上書きします。これは例えば、 あるファイルに一般的なネットワークの設定を書いておき、他のファイルでより確かな 設定を指定するという使い方ができます。 # More than one file can be listed, separated by spaces; all will be # loaded. The included files can have preseed/include directives of their # own as well. Note that if the filenames are relative, they are taken from # the same directory as the preconfiguration file that includes them. #d-i preseed/include string x.cfg # The installer can optionally verify checksums of preconfiguration files # before using them. Currently only md5sums are supported, list the md5sums # in the same order as the list of files to include. #d-i preseed/include/checksum string 5da499872becccfeda2c4872f9171c3d # More flexibly, this runs a shell command and if it outputs the names of # preconfiguration files, includes those files. #d-i preseed/include_command \ # string echo if [ "`hostname`" = bob ]; then echo bob.cfg; fi # Most flexibly of all, this downloads a program and runs it. The program # can use commands such as debconf-set to manipulate the debconf database. # More than one script can be listed, separated by spaces. # Note that if the filenames are relative, they are taken from the same # directory as the preconfiguration file that runs them. #d-i preseed/run string foo.sh また、あらかじめ用意したファイルの preseed/url で設定したネットワーク preseed へ、 initrd やファイル preseed の段階で、多重読み込みを行うことができます。これ により、ネットワークに接続した時点でネットワーク preseed を行えます。この場合、 2 種類の異なる preseed が実行されることに注意してください。例えば、preseed/ early コマンドを実行する機会が 2 度あり、 2 回目はネットワークに接続した時に発 生するということです。 ━━━━━━━ ^[17] debconf 変数 (やテンプレート) の所有者 (owner) は、 debconf テンプレート に含まれるように、通常パッケージ名です。インストーラ自体が使用する値は、「d-i」 になっています。テンプレートや変数は、複数の owner を持て、パッケージを完全削除 する際に debconf データベースから削除できるかどうかを決定するのに利用されます。 付録 C. Debian でのパーティション分割 目次 C.1. Debian のパーティションとそのサイズを決める C.2. ディレクトリツリー C.3. お勧めするパーティションルール C.4. Linux におけるデバイス名 C.5. Debian のパーティション分割プログラム C.5.1. Mips でのパーティション分割 C.1. Debian のパーティションとそのサイズを決める 必要最小限の構成でも、GNU/Linux は自身のために少なくとも 1 つのパーティションを 必要とします。オペレーティングシステム全体、アプリケーション、個人ファイルは 1 つのパーティションに収めることが可能です。多くの人はこれと別にスワップパーティ ションも必要だと思っているようですが、これは厳密には正しくありません。「スワッ プ」とはオペレーティングシステムが用いるメモリの一時退避用空間で、これを用いる とシステムはディスク装置を「仮想メモリ」として使えるようになります。スワップを 独立したパーティションに割り当てると、 Linux からの利用がずっと効率的になります 。 Linux は普通のファイルを無理やりスワップとして利用することもできますが、これ はお勧めできません。 とはいえ大抵の人は、この最低限必要な数よりは多くのパーティションを GNU/Linux に 割り当てます。ファイルシステムをいくつかのより小さなパーティションに分割する理 由は 2 つあります。 1 つめは安全性です。もし偶然に何かがファイルシステムを破壊 したとしても、一般的にその影響を被るのは 1 つのパーティションだけです。そのため 、システムの一部を (注意深く保持しておいたバックアップと) 置き換えるだけですみ ます。少なくとも、いわゆる「ルートパーティション」は別にすることを考慮しましょ う。ここにはシステムの最も基本的な構成部分が収められており、もし他のパーティシ ョンに破損が生じたとしても、 Linux を起動してシステムを補修できます。システムを ゼロから再インストールしなければならないようなトラブルが防げるのです。 2 つめの理由は、一般的にビジネスで使う際により重要になってくるものですが、これ はコンピュータの利用方法にかなり依存します。例えばスパムメールをたくさん受け取 ったメールサーバは、パーティションを簡単に溢れさせてしまうかもしれません。もし メールサーバ上の独立したパーティションを /var/mailに割り当てれば、スパムメール を取り込んでもシステムの大半は問題なく動作するでしょう。 たくさんのパーティションを利用する際に唯一の不利になる点は、どのようなパーティ ションが必要となるかをあらかじめ予測するのが、ほとんどの場合は難しいということ です。用意したパーティションが小さすぎると、システムを再インストールしたり、容 量の足りないパーティションからしょっちゅうファイルを移動して、スペースを空けた りしなければならないでしょう。一方、あまりに大きなパーティションを用意すれば、 他で利用できるスペースを浪費しかねません。近頃はディスクも安価になったとはいえ 、お金を無駄に使う必要はないでしょう? C.2. ディレクトリツリー ディレクトリとファイルの名前について、Debian GNU/Linux は Filesystem Hierarchy Standard に従っています。この規格を用いると、ユーザやプログラムは、ファイルやデ ィレクトリの場所を予想しやすくなります。根っこ (ルート = root) にあるディレクト リは、単にスラッシュ / で表されます。ルートのレベルには、 Debian システムでは必 ず以下のようなディレクトリが含まれます。 ┌──────┬──────────────────────────────┐ │ディレクトリ│ 内容 │ ├──────┼──────────────────────────────┤ │bin │基本的なコマンドバイナリ │ ├──────┼──────────────────────────────┤ │boot │ブートローダのスタティックなファイル │ ├──────┼──────────────────────────────┤ │dev │デバイスファイル │ ├──────┼──────────────────────────────┤ │etc │ホスト固有のシステム設定 │ ├──────┼──────────────────────────────┤ │home │ユーザのホームディレクトリ │ ├──────┼──────────────────────────────┤ │lib │基本的な共有ライブラリとカーネルモジュール │ ├──────┼──────────────────────────────┤ │media │取替え可能なメディア用のマウントポイントを含む │ ├──────┼──────────────────────────────┤ │mnt │ファイルシステムを一時的にマウントするためのポイント │ ├──────┼──────────────────────────────┤ │proc │システム情報を含む仮想ディレクトリ (2.4 および 2.6 カーネル)│ ├──────┼──────────────────────────────┤ │root │root ユーザのホームディレクトリ │ ├──────┼──────────────────────────────┤ │sbin │基本的なシステムバイナリ │ ├──────┼──────────────────────────────┤ │sys │システム情報を含む仮想ディレクトリ (2.6 カーネル) │ ├──────┼──────────────────────────────┤ │tmp │一時ファイル用 │ ├──────┼──────────────────────────────┤ │usr │第 2 階層 │ ├──────┼──────────────────────────────┤ │var │可変データ │ ├──────┼──────────────────────────────┤ │srv │システムによって割り当てられた、サービスのためのデータ │ ├──────┼──────────────────────────────┤ │opt │アドオンアプリケーションソフトウェアパッケージ │ └──────┴──────────────────────────────┘ 以下の一覧は、ディレクトリやパーティションについて重要となる考え方を説明したも のです。与えられたシステム構成や特別な使用パターンによって、ディスク使用状況は 大きく変化することに注意して下さい。ここで提案するのは一般的なガイドラインであ り、パーティション分割の第一歩を提供しています。 ● ルートパーティション / は、必ず /etc、/bin、 /sbin、/lib、 /dev を物理的に 含んでいなければなりません (つまりこれらのディレクトリを別のパーティション にしてはいけません)。さもないと起動ができなくなります。一般的にここは 150-250MB 程度を必要とします。 ● /usr: すべてのユーザプログラムを含む (/usr/bin)、ライブラリ (/usr/lib)、文 書 (/usr/share/doc) など。ここは一般に、ファイルシステムの中でも最も容量を 必要とするところです。少なくとも 500MB のディスク容量を割り当てるべきでしょ う。インストールしようとするパッケージの数やタイプによっては、もっと多くの ディスク容量を割り当てなければなりません。ディスク容量がたっぷりあるワーク ステーションやサーバのインストールでは 4-6GB を割り当てるべきです。 ● /var: ニュース記事、電子メール、ウェブコンテンツ、データベース、パッケージ ングシステムのキャッシュなど、様々な可変データがこのディレクトリに収められ ます。このディレクトリの容量はシステムの利用方法に大きく左右されますが、た いていの場合はパッケージ管理ツールの使う分が最も大きな影響を持つことになる でしょう。Debian が提供するものすべてをいっぺんにフルインストールする場合で も、 /var には 2-3GB ほどの容量を割り当てておけば足りるはずです。一度にすべ てをインストールせず、部分部分を徐々に (例えば、まずサービスやユーティリテ ィを、次にコンソール用のもの、次に X 用のもの...というように) インストール するなら、300-500MB の空き容量があれば良いでしょう。ハードディスクの空き容 量が貴重で、メジャーアップデートをする予定がないならば、 30-40MB ほどでもな んとかやっていけるでしょう。 ● /tmp: プログラムが作成する一時データは、普通このディレクトリを利用します。 通常は 40-100MB あれば充分です。いくつかのアプリケーション (アーカイブマニ ピュレータ、CD/DVD オーサリングツール、およびマルチメディアソフトウェアを含 む) が、一時イメージファイルを保存するのに /tmp を使用するかもしれません。 そのようなアプリケーションを使用する計画があるのなら、それ相応に /tmp で利 用できる容量を調整すべきです。 ● /home: 各ユーザは、個人的なデータをこのディレクトリのサブディレクトリに収め ます。その容量は、このシステムを利用するユーザの数や、ユーザディレクトリに どのようなファイルが収められるかによって異なってきます。システムの使い方に もよりますが、ユーザごとに約 100MB ほどが必要でしょう。しかしこの値は必要に 応じて調整しなければなりません。もし、たくさんのマルチメディアファイル (写 真、MP3、動画) をホームディレクトリに保存するつもりなら、もっと多くの容量を 確保しておいてください。 C.3. お勧めするパーティションルール 新規ユーザや Debian マシンを個人で使う人、家庭で使うシステム、その他ユーザ 1 人 で使うようなマシンには、 / パーティション 1 つ (とスワップ) で済ますのが、恐ら くもっとも簡単で素直なやり方でしょう。しかし、パーティションがおよそ 6GB より大 きいサイズなら、パーティションタイプに ext3 を選んでください。 ext2 パーティシ ョンは定期的にファイルシステムの整合性のチェックを必要とします。そして、このこ とはパーティションが大きいときに起動遅延の原因となります。 マルチユーザシステムやたくさんのディスク容量があるシステムでは、 /usr、/var、 / tmp、/home をそれぞれ / パーティションとは別の独立したパーティションにするのが 良いでしょう。 Debian のディストリビューションには含まれていないプログラムをたくさんインストー ルするつもりなら、 /usr/local パーティションが必要となるかもしれません。またメ ールサーバとして利用するなら、 /var/mail を別のパーティションにする必要があるか もしれません。 /tmp に独自のパーティション (例えば 20-50MB くらい) を割り当てる のも、多くの場合は良い考えです。たくさんのユーザアカウントを抱えるサーバを設置 するなら、独立した大きな /home パーティションを用意することも大抵は良い考えです 。このように、利用方法に応じて、パーティションの配置状態はコンピュータによって 様々です。 とても複雑なシステムのためには、 Multi Disk HOWTO をご覧になるとよいでしょう。 こちらには、ISP やサーバの管理者が関心を持つような事柄の多くが、詳細な情報とし て含まれています。 スワップスペースの問題に関しては、様々な見方があります。大雑把ながらも悪くない やり方は、搭載しているシステムメモリと同じ容量のスワップを用意することです。た だし多くの場合は 16MB 以下にすべきではありません。もちろんこのルールにも例外は あります。例えば 256MB ほどの RAM を積んだマシンで、 10000 変数の連立方程式を解 こうとするならば、 1GB (もしくはそれ以上) のスワップを必要とするでしょう。 32-bit のアーキテクチャ (i386、m68k、32-bit SPARC、PowerPC) におけるスワップパ ーティションの最大サイズは 2GB です。これはほとんどの場合において充分な大きさで あるはずです。しかし、もしこれ以上の大きさのスワップ領域が必要なら、別のディス ク (あるいは「スピンドル」) にスワップ領域を分散したり、また可能ならば、SCSI や IDE の別々のチャンネルにスワップ領域を分散したりするよう試みるべきでしょう。こ のようにすると、カーネルは複数のスワップ領域をバランス良く使おうとするので性能 が向上します。 一例として、以前の自宅用マシンを紹介しましょう。このマシンは 32MB の RAM と / dev/hda に 1.7GB IDE のハードディスクを搭載していました。 /dev/hda1 には別の OS 用に 500MB のパーティションがあり、 /dev/hda3 を 32MB のスワップパーティション として使用し、残りの約 1.2GB の /dev/hda2 を Linux パーティションにしていました 。 システムのインストールが完了した後に入れることになるであろう各タスク (task) の 占める領域については項D.2. 「タスクに必要なディスクの空き容量」を調べてください 。 C.4. Linux におけるデバイス名 Linux におけるディスクおよびパーティションの命名法は、他のオペレーティングシス テムとは異なっています。パーティションを作成したりマウントしたりする際には、 Linux がどのようなディスク名を用いるのか知っておく必要があります。以下は基本的 な命名法の仕組みです。 ● 第 1 フロッピードライブは /dev/fd0 と名付けられる。 ● 第 2 フロッピードライブは /dev/fd1 と名付けられる。 ● 第 1 SCSI ディスク (SCSI ID アドレスによる) は /dev/sda と名付けられる。 ● 第 2 SCSI ディスク (アドレスによる) は /dev/sdb と名付けられ、以下も同様。 ● 第 1 SCSI CD-ROM は /dev/scd0 および /dev/sr0 と名付けられる。 ● IDE プライマリーコントローラのマスターディスクは /dev/hda と名付けられる。 ● IDE プライマリーコントローラのスレーブディスクは /dev/hdb と名付けられる。 ● IDE セカンダリーコントローラのマスターディスクおよびスレーブディスクは、そ れぞれ /dev/hdc、/dev/hdd と名付けられる。最近の IDE コントローラは 2 つの チャンネルを持ち、事実上 2 つのコントローラがあるかのように動作します。 各ディスクのパーティションは、ディスク名に十進数を付け加えることで表します。例 えば sda1 と sda2 は、それぞれシステムの第 1 SCSI ディスクドライブの第 1、第 2 パーティションを表します。 実際にありそうな例を挙げてみましょう。2 つの SCSI ディスクを持つシステムで、一 方の SCSI アドレスが 2、もう一方の SCSI アドレスが 4 だとします。最初のディスク (アドレス 2) は sda、 2 つ目のディスクは sdb と名付けられます。もし sda ドライ ブに 3 つのパーティションがあるなら、それらは sda1、sda2、 sda3 と名付けられま す。 sdb ディスクとそのパーティションについても同様です。 2 つの SCSI ホストバスアダプタ (コントローラ) があると、ドライブの順序が混乱す るかもしれないので注意してください。ドライブのモデルや容量を知っているなら、ブ ートメッセージに注目するのが最も良い解決策でしょう。 C.5. Debian のパーティション分割プログラム いろいろな種類のパーティション分割ツールが Debian 開発者によって組み込まれ、様 々な形式のハードディスクやコンピュータアーキテクチャで動作するようになっていま す。以下に、それらのアーキテクチャで使えるプログラムのリストを示します。 partman Debian 推奨のパーティション分割ツールです。このアーミーナイフは、パーティシ ョンサイズを変更したり、ファイルシステムを作成したり、マウントポイントを指 定したりすることもできます。 fdisk 上級魔術師用の、Linux オリジナルのディスクパーティション作成プログラムです 。 すでにコンピュータに FreeBSD のパーティションが存在する場合は注意が必要です 。インストール用のカーネルはこのパーティションをサポートしていますが、 fdisk の表示方法では名前が異なります (そもそも表示されないかもしれません)。 Linux+FreeBSD HOWTO をご覧になってください。 cfdisk 一般ユーザのための、操作の容易なフルスクリーン表示ディスクパーティション作 成プログラムです。 cfdisk は FreeBSD パーティションを全く理解しません。したがって、こちらでも デバイス名が変わってしまうかもしれません。 ディスクのパーティショニング (あるいは同様のもの) を選択すると、上記のプログラ ムの中のひとつがデフォルトで実行されます。 VT2 のコマンドラインから、異なるパー ティション分割ツールを使うこともできますがお勧めしません。 C.5.1. Mips でのパーティション分割 SGI マシンでは、システムをハードディスクから起動するのに SGI ディスクラベルを必 要とします。これは fdisk の expert メニューから作成できます。ここで作成されるボ リュームヘッダ (パーティション番号 9) は、少なくとも 3MB の大きさが必要です。こ こで作るボリュームヘッダが小さすぎた場合は、単にパーティション番号 9 を削除して サイズを変えて作り直すことができます。ボリュームヘッダは、セクタ 0 から開始しな ければなりませんので注意してください。 付録 D. ランダムビット 目次 D.1. Linux のデバイス D.1.1. マウスのセットアップ D.2. タスクに必要なディスクの空き容量 D.3. Unix/Linux システムからの Debian GNU/Linux のインストール D.3.1. はじめに D.3.2. debootstrap のインストール D.3.3. debootstrap の実行 D.3.4. 基本システムの設定 D.3.5. カーネルのインストール D.3.6. ブートローダのセットアップ D.3.7. 仕上げに D.4. PPP over Ethernet (PPPoE) を用いた Debian GNU/Linux のインストール D.1. Linux のデバイス Linux では、/dev に特別なファイルがいろいろとあります。このファイルはデバイスフ ァイルと呼ばれ、通常のファイルと異なる振る舞いをします。デバイスファイルの一般 的なものは、ブロックデバイスとキャラクタデバイスです。このファイルは、ハードウ ェアにアクセスする実際のドライバ (Linux カーネルの一部) へのインターフェースで す。その他、あまり一般的ではありませんが、パイプというデバイスファイルの形式も あります。以下に、最も重要なデバイスファイルを一覧します。 ┌──┬────────────┐ │fd0 │第 1 フロッピードライブ │ ├──┼────────────┤ │fd1 │第 2 フロッピードライブ │ └──┴────────────┘ ┌───┬───────────────────────────┐ │hda │第 1 IDEポートの IDE ハードディスク / CD-ROM (Master) │ ├───┼───────────────────────────┤ │hdb │第 1 IDEポートの IDE ハードディスク / CD-ROM (Slave) │ ├───┼───────────────────────────┤ │hdc │第 2 IDEポートの IDE ハードディスク / CD-ROM (Master) │ ├───┼───────────────────────────┤ │hdd │第 2 IDEポートの IDE ハードディスク / CD-ROM (Slave) │ ├───┼───────────────────────────┤ │hda1 │最初の IDE ハードディスクの最初のパーティション │ ├───┼───────────────────────────┤ │hdd15 │4 番目の IDE ハードディスクの 15 番目のパーティション │ └───┴───────────────────────────┘ ┌───┬───────────────────────────┐ │sda │SCSI ID が最小の SCSI ハードディスク (例: 0) │ ├───┼───────────────────────────┤ │sdb │SCSI ID が次に小さい SCSI ハードディスク (例: 1) │ ├───┼───────────────────────────┤ │sdc │SCSI ID がその次に小さい SCSI ハードディスク (例: 2) │ ├───┼───────────────────────────┤ │sda1 │最初の SCSI ハードディスクの最初のパーティション │ ├───┼───────────────────────────┤ │sdd10 │4番目の SCSI ハードディスクの 10 番目のパーティション │ └───┴───────────────────────────┘ ┌──┬────────────────┐ │sr0 │SCSI ID が最小の SCSI CD-ROM │ ├──┼────────────────┤ │sr1 │SCSI ID が次に小さい SCSI CD-ROM│ └──┴────────────────┘ ┌────┬────────────────────────────┐ │ttyS0 │シリアルポート 0、MS-DOS では COM1 │ ├────┼────────────────────────────┤ │ttyS1 │シリアルポート 1、MS-DOS では COM2 │ ├────┼────────────────────────────┤ │psaux │PS/2 マウスデバイス │ ├────┼────────────────────────────┤ │gpmdata │疑似デバイス、GPM (マウス) デーモンからのリピータデータ │ └────┴────────────────────────────┘ ┌───┬──────────────────────┐ │cdrom │CD-ROM ドライブへのシンボリックリンク │ ├───┼──────────────────────┤ │mouse │マウスデバイスファイルへのシンボリックリンク│ └───┴──────────────────────┘ ┌──┬──────────────────────┐ │null│書き込まれたものをすべて消してしまうデバイス│ ├──┼──────────────────────┤ │zero│無限に 0 を読み出せるデバイス │ └──┴──────────────────────┘ D.1.1. マウスのセットアップ (gpm が動いている) Linux コンソールと X ウィンドウ環境の両方で、マウスを使用で きます。通常、gpm や X サーバ自体をインストールするだけです。どちらも、マウスデ バイスとして /dev/input/mice を使用するように設定されています。正しいマウスプロ トコルは、gpm では exps2、 X では ExplorerPS/2 とされています。それぞれの設定フ ァイルは /etc/gpm.conf と /etc/X11/xorg.conf です。 あなたのマウスが動作するには、特定のカーネルモジュールを読み込まなければなりま せん。ほとんどの場合、正しいモジュールを自動検出しますが、旧式のシリアルマウス や、バスマウスでは^[18]いつもそうとは限りません。とはいえ、非常に古いコンピュー タでなければ、かなり「まれ」です。以下に、マウスのタイプごとの、Linux カーネル モジュールをまとめます。 ┌─────┬───────────────────────────┐ │モジュール│ 説明 │ ├─────┼───────────────────────────┤ │psmouse │PS/2 マウス (自動検出可) │ ├─────┼───────────────────────────┤ │usbhid │USB マウス (自動検出可) │ ├─────┼───────────────────────────┤ │sermouse │ほとんどのシリアルマウス │ ├─────┼───────────────────────────┤ │logibm │Logitech アダプタカードに接続するバスマウス │ ├─────┼───────────────────────────┤ │inport │ATI や Microsoft の InPort カードに接続するバスマウス │ └─────┴───────────────────────────┘ マウスドライバモジュールを読み込むのに、 modconf コマンド (同名のパッケージに収 録) を使用でき、 kernel/drivers/input/mouse カテゴリから探せます。 D.2. タスクに必要なディスクの空き容量 i386 アーキテクチャの全標準パッケージを含む標準インストールで、デフォルトの 2.6 カーネルを用いると、353MB 以上のディスク領域を必要とします。「標準システム」タ スクを選択しない最小の基本インストールでは、 225MB 必要でしょう。 重要項目 どちらの場合も、インストールが完了し一時ファイルを削除した後の、実際のディスク 領域です。ジャーナルファイルのような、ファイルシステムのオーバーヘッドで消費さ れる量は含まれていません。これは、インストールの最中や通常のシステム利用では、 もっと大量にディスク領域が必要だということです。 以下の表は tasksel で表示されるタスクについて、 aptitude が報告したサイズです。 いくつかのタスクでは、内容が一部重複していることに注意してください。つまり、2 つのタスクを一緒にインストールした後のインストールサイズは、挙げてある数値を合 計したものよりも、小さくなるということです。 パーティションのサイズを決定するとき、標準インストールのサイズに加え、以下の表 に列挙したサイズが必要であるのに注意してください。「Installed size」はインスト ール完了時に /usr と /lib に必要なサイズを、「Download size」は /var に (一時的 に) 必要なサイズを記述しています。 ┌──────┬────────┬────────┬────────────┐ │ タスク │インストールサイ│ダウンロードサイ│インストールに必要な空き│ │ │ ズ (MB) │ ズ (MB) │ 容量 (MB) │ ├──────┼────────┼────────┼────────────┤ │デスクトップ│1360 │454 │1814 │ │環境 │ │ │ │ ├──────┼────────┼────────┼────────────┤ │ラップトップ│27 │10 │37 │ │^[a] │ │ │ │ ├──────┼────────┼────────┼────────────┤ │ウェブサーバ│35 │11 │46 │ ├──────┼────────┼────────┼────────────┤ │印刷サーバ │184 │56 │240 │ ├──────┼────────┼────────┼────────────┤ │DNS サーバ │2 │1 │3 │ ├──────┼────────┼────────┼────────────┤ │ファイルサー│50 │21 │71 │ │バ │ │ │ │ ├──────┼────────┼────────┼────────────┤ │メールサーバ│13 │5 │18 │ ├──────┼────────┼────────┼────────────┤ │SQL データベ│32 │10 │42 │ │ース │ │ │ │ ├──────┴────────┴────────┴────────────┤ │^[a] ラップトップタスクとデスクトップタスクはかなり重複しています。両方イ │ │ンストールした場合、ラップトップタスクはディスク領域を、数 MB 追加で必要と│ │するだけでしょう │ └─────────────────────────────────────┘ 注意 デスクトップタスクは、 GNOME デスクトップ環境をインストールします。 英語以外の言語でインストールする場合、その言語が有効なら tasksel は地域化タスク を、自動的にインストールします。必要な容量は言語によって異なりますが、ダウンロ ードとインストールで最大 350MB 必要となります。 D.3. Unix/Linux システムからの Debian GNU/Linux のインストール 本節は、マニュアルの他の部分で説明されているメニュードリブンインストーラを使用 せずに、既存の Unix・Linux システムから Debian GNU/Linux をインストールする方法 について説明します。この「クロスインストール」 HOWTO は、 Red Hat, Mandrake, SUSE から Debian GNU/Linux に移行するユーザの要望で書かれました。本節では、*nix コマンドの入力について熟知し、ファイルシステムを操作できるのが前提となっていま す。また、#が Debian chroot に入力されたコマンドを示し、 $ はユーザの現在のシス テムに入力されるコマンドを表します。 一旦、新しい Debian システムを好みに設定したら、既存のユーザデータを (あるなら) 稼働したまま移行できます。したがって、これは「0 ダウンタイム」 Debian GNU/Linux インストールになります。またこれは、様々な起動・インストールメディアと相性のよ くないハードウェアに対処する、うまい方法です。 D.3.1. はじめに 今の *nix のパーティション分割ツールで、スワップと最低 1 つファイルシステムを作 成するよう、ハードディスクを希望に添って再分割してください。コンソールのみのイ ンストールには、最低 350MB の空き領域が必要ですし、 X をインストールする予定な ら 1GB (GNOME や KDE のようなデスクトップ環境をインストールする場合はもっと) 必 要です。 次に、パーティションにファイルシステムを作成してください。例えば、/dev/hda6 パ ーティションに、 ext3 ファイルシステムを作成するには、以下のようにします。 (今 回の例ではこのパーティションを root パーティションとします) # mke2fs -j /dev/hda6 ext3 ではなく ext2 ファイルシステムを作成するには、 -j を取ってください。 スワップを以下のように初期化して有効にしてください。 (パーティション番号は、 Debian スワップパーティションにするパーティション番号に、読み替えてください) # mkswap /dev/hda5 # sync; sync; sync # swapon /dev/hda5 パーティションを /mnt/debinst (インストールポイント。新システムの root (/) ファ イルシステムになります) にマウントしてください。厳密にいうとマウントポイント名 は何でも構いません。以降の説明ではこれを使用します。 # mkdir /mnt/debinst # mount /dev/hda6 /mnt/debinst 注意 分割したパーティションをファイルシステムの一部 (例 /usr) にマウントする場合、次 のステージに進む前に、手動でそのディレクトリを作成・マウントする必要があります 。 D.3.2. debootstrap のインストール Debian インストーラが使用するユーティリティで、 Debian 基本システムをインストー ルする公式の方法と認められているのが debootstrap です。 wget と ar を使用します が、 /bin/sh と基本的な Unix/Linux ツール^[19]にのみ依存しています。今のシステ ムにまだインストールしていなければ、 wget と ar をインストールし、その後 debootstrap をダウンロード・インストールしてください。 また、手動でインストールするには、以下の手順になります。まず .deb を展開するた めに作業フォルダを次のように作ってください。 # mkdir work # cd work debootstrap バイナリは、Debian アーカイブ (あなたのアーキテクチャに適合するファ イルを必ず選ぶこと) にあります。 pool から debootstrap .deb をダウンロードして 、作業フォルダにパッケージをコピーし、ファイルを展開してください。ファイルをイ ンストールする際には root 権限を持つ必要があるでしょう。 # ar -x debootstrap_0.X.X_all.deb # cd / # zcat /full-path-to-work/work/data.tar.gz | tar xv D.3.3. debootstrap の実行 debootstrap は,実行されると、アーカイブから必要なファイルを直接ダウンロードで きます。以下のコマンドの例では、 http.us.debian.org/debian としていますが、ネッ トワーク的に近い Debian アーカイブミラーサイトで代用できます。ミラーサイトは、 http://www.debian.org/misc/README.mirrors でリストされています。 etch Debian GNU/Linux CD を持っていて、 /cdrom にマウントしていれば、 http URL に代えて file URL (file:/cdrom/debian/) を使用することができます。 debootstrap コマンドの ARCH は、以下のうち一つを使用してください。 alpha, amd64 , arm, hppa, i386, ia64, m68k, mips, mipsel, powerpc, s390, sparc. # /usr/sbin/debootstrap --arch ARCH etch \ /mnt/debinst http://ftp.us.debian.org/debian D.3.4. 基本システムの設定 さあ、これでディスクに真の Debian システムを (いくぶん中がスカスカですが) 手に 入れました。そこに chroot してください。 # LANG=C chroot /mnt/debinst /bin/bash chroot した後で、 Debian 基本システムと互換のある端末定義にする必要があるかもし れません。例えば、以下のようにします。 # export TERM=xterm-color D.3.4.1. パーティションのマウント /etc/fstab を作る必要があります。 # editor /etc/fstab 以下のサンプルを自分に合うように編集できます。 # /etc/fstab: static file system information. # # file system mount point type options dump pass /dev/XXX / ext3 defaults 0 1 /dev/XXX /boot ext3 ro,nosuid,nodev 0 2 /dev/XXX none swap sw 0 0 proc /proc proc defaults 0 0 /dev/fd0 /media/floppy auto noauto,rw,sync,user,exec 0 0 /dev/cdrom /media/cdrom iso9660 noauto,ro,user,exec 0 0 /dev/XXX /tmp ext3 rw,nosuid,nodev 0 2 /dev/XXX /var ext3 rw,nosuid,nodev 0 2 /dev/XXX /usr ext3 rw,nodev 0 2 /dev/XXX /home ext3 rw,nosuid,nodev 0 2 /etc/fstab で指定したファイルシステムを、すべてマウントするには mount -a として ください。また、ファイルシステムを別々にマウントするには、以下のようにしてくだ さい。 # mount /path # e.g.: mount /usr 現在 Debian システムでは、リムーバブルメディアのマウントポイントを /media にし ていますが、 / にシンボリックリンクを置き互換性を保っています。以下の例のように 、必要であれば作成してください。 # cd /media # mkdir cdrom0 # ln -s cdrom0 cdrom # cd / # ln -s media/cdrom proc ファイルシステムは、どこでも何度でもマウントすることができますが、慣習的に /proc にマウントします。 mount -a を使用しなかった場合は、以下のように先に進む 前に必ず proc をマウントしてください。 # mount -t proc proc /proc ls /proc コマンドは、今度は空のディレクトリにはならないはずです。これが失敗する ようなら、以下のように chroot の外側から proc をマウントできるかもしれません。 # mount -t proc proc /mnt/debinst/proc D.3.4.2. タイムゾーンの設定 /etc/default/rcS ファイルにある設定で、システムがハードウェアの時計を UTC とし て解釈するか、現地時間としてを解釈するかを決定します。以下のコマンドで、上記の 選択とタイムゾーンの選択を行えます。 # editor /etc/default/rcS # tzconfig D.3.4.3. ネットワークの設定 ネットワークの設定をするには、 /etc/network/interfaces, /etc/resolv.conf, /etc/ hostname, /etc/hosts を編集してください。 # editor /etc/network/interfaces 次は、 /usr/share/doc/ifupdown/examples のシンプルな例です。 ###################################################################### # /etc/network/interfaces -- configuration file for ifup(8), ifdown(8) # See the interfaces(5) manpage for information on what options are # available. ###################################################################### # We always want the loopback interface. # auto lo iface lo inet loopback # To use dhcp: # # auto eth0 # iface eth0 inet dhcp # An example static IP setup: (broadcast and gateway are optional) # # auto eth0 # iface eth0 inet static # address 192.168.0.42 # network 192.168.0.0 # netmask 255.255.255.0 # broadcast 192.168.0.255 # gateway 192.168.0.1 /etc/resolv.conf に、ネームサーバと search ディレクティブを入力してください。 # editor /etc/resolv.conf 以下は、/etc/resolv.conf の簡単な例です。 search hqdom.local nameserver 10.1.1.36 nameserver 192.168.9.100 システムのホスト名 (2 から 63 文字) を入力してください。 # echo DebianHostName > /etc/hostname また、IPv6 をサポートした基本的な /etc/hosts は以下のようにします。 127.0.0.1 localhost DebianHostName # The following lines are desirable for IPv6 capable hosts ::1 ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters ff02::3 ip6-allhosts 複数のネットワークカードを持っているなら、 /etc/modules ファイルに希望の順番で 、ドライバモジュールの名前を配置してください。その後起動中に、各カードは期待通 りにインターフェース名 (eth0, eth1など) と結びつけられます。 D.3.4.4. apt の設定 debootstrap は、追加パッケージをインストールする、非常に基本的な /etc/apt/ sources.list を作成します。しかし、他のパッケージ取得先を追加したくなると思いま す。以下の例はソースパッケージとセキュリティ更新を追加しています。 deb-src http://ftp.us.debian.org/debian etch main deb http://security.debian.org/ etch/updates main deb-src http://security.debian.org/ etch/updates main sources list を更新したら、 aptitude update を必ず実行してください。 D.3.4.5. ロケールとキーボードの設定 英語以外の言語を使用するようロケールの設定をするために、ロケールをサポートする パッケージ (locales) をインストール・設定してください。現在は UTF-8 ロケールを 使用するのをお奨めします。 # aptitude install locales # dpkg-reconfigure locales (必要なら) 以下のようにキーボードの設定を行ってください。 # aptitude install console-data # dpkg-reconfigure console-data chroot 内では、キーボードを設定できませんが、再起動後に有効になることに注意して ください。 D.3.5. カーネルのインストール このシステムを起動できるようにするなら、おそらく Linux カーネルとブートローダが 必要でしょう。以下のようにして、パッケージ化済みカーネルを確認してください。 # apt-cache search linux-image パッケージ化済みカーネルを使用する予定であれば、事前に /etc/kernel-img.conf 設 定ファイルを作成したくなると思います。以下にサンプルファイルを掲げます。 # Kernel image management overrides # See kernel-img.conf(5) for details do_symlinks = yes relative_links = yes do_bootloader = yes do_bootfloppy = no do_initrd = yes link_in_boot = no このファイルや様々なオプションの詳細は、 kernel-package パッケージインストール 後に有効になる man ページで説明しています。これで、あなたのシステムに適切な値を チェックするのをお奨めします。 それから、選んだパッケージ名のカーネルパッケージをインストールしてください。 # aptitude install linux-image-2.6.18-arch-etc パッケージ化済みカーネルをインストールする前に /etc/kernel-img.conf を作成しな い場合、インストール時に関連する質問が行われると思います。 D.3.6. ブートローダのセットアップ Debian GNU/Linux システムを起動できるようにするために、インストールしたカーネル を新しい root パーティションから読み込むように、ブートローダをセットアップして ください。debootstrap は、ブートローダをインストールしないことに注意してくださ い。とは言っても、セットアップするのに Debian chroot 内部の aptitude を使用でき ます。 D.3.7. 仕上げに すでに述べたように、インストールしたシステムは非常に基本的な物になります。もっ と成熟したシステムにしたければ、優先度が「standard」のパッケージを、すべてイン ストールする簡単な方法があります。以下のようにしてください。 # tasksel install standard もちろん aptitude で、個々のパッケージをインストールすることもできます。 インストールが終わると、ダウンロードしたパッケージが /var/cache/apt/archives/ に大量に残っています。以下のようにして、ディスク領域を解放できます。 # aptitude clean D.4. PPP over Ethernet (PPPoE) を用いた Debian GNU/Linux のインストール いくつかの国でインターネットサービスプロバイダに接続するのに、ブロードバンド接 続 (ADSL やケーブル TV) の一般的なプロトコルは、 PPP over Ethernet (PPPoE) です 。インストーラでは、 PPPoE を用いたネットワーク接続のセットアップをサポートして いませんが、非常に簡単に設定できます。この節ではその方法を説明します。 また、インストール中に PPPoE 接続をセットアップすると、インストールしたシステム を再起動した後でも有効になります (章 7. 新しい Debian システムを起動させる参照) 。 インストール中に PPPoE をセットアップし使用するには、 CD-ROM/DVD イメージを使用 する必要があります。その他のインストール方法 (例: netboot) では、サポートしてい ません。 PPPoE でのインストールは、他のインストール方法とほとんど同じです。以下で説明す るステップが異なるだけです。 ● ブートパラメータに modules=ppp-udeb を指定してインストーラを起動してくださ い。ブートプロンプトに以下のように入力するということです。 install modules=ppp-udeb または、グラフィカルインストーラを用いる場合、以下のようにします。 installgui modules=ppp-udeb これにより、PPPoE のセットアップに使用するコンポーネント (ppp-udeb) を確実 に読み込み、自動的に起動します。 ● 通常のインストール初期化手順 (言語、国、キーボードの選択、追加インストーラ コンポーネント^[20]の読み込み) を行います。 ● 次のステップでは、システムにあるイーサネットカードを特定するのに、ネットワ ークハードウェアを検出します。 ● この後、実際の PPPoE のセットアップが始まります。インストーラは、PPPoE コン セントレータ (PPPoE 接続を扱う一種のサーバ) を見つけるのに、検出したすべて のイーサネットインターフェースを調べます。 最初の試行では、コンセントレータが見つからない可能性があります。これはネッ トワークが遅い・負荷が高い場合や、サーバ側のエラーで起こる可能性があります 。ほとんどの場合、2 回目の試行でコンセントレータの検出に成功します。再試行 するには、インストーラのメニューにある Configure and start a PPPoE connection を選択してください。 ● コンセントレータを検出した後、ログイン情報 (PPPoE のユーザ名とパスワード) を入力してください。 ● インストーラは、先ほど入力した情報を用いて PPPoE 接続を確立します。正しい情 報を入力していれば PPPoE 接続の設定を行い、インストーラはその接続を用いてイ ンターネットに接続し、 (必要なら) パッケージを取得できます。ログイン情報が 正しくない場合や、何かエラーが発生した場合、インストーラは停止しますが、メ ニューの Configure and start a PPPoE connection を選択して、設定を再度行え ます。 ━━━━━━━ ^[18] シリアルマウスには、通常 9 穴の D 型コネクタが、バスマウスには、8 ピン円 形コネクタが付いており、 PS/2 マウスの 6 ピン円形コネクタや、 ADB マウスの 4 ピ ン円形コネクタと混同することはないでしょう。 ^[19] これには、sed, grep, tar, gzip といった、 GNU コアユーティリティが含まれ ます。 ^[20] ppp-udeb コンポーネントは、このステップの追加コンポーネントの 1 つとして 読み込まれます。優先度を「中」「低」でインストールする場合 (エキスパートモード) 、ブートプロンプトの「modules」パラメータに入力する代わりに、 ppp-udeb を選択す ることもできます。 付録 E. 付記 目次 E.1. この文書について E.2. この文書への貢献 E.3. 多大な貢献 E.4. 商標表示 E.1. この文書について 本マニュアルは、初期の Debian インストールマニュアルを元にした、 boot-floppies 用の woody インストールマニュアルを元に、 sarge 用 debian-installer のために書 かれました。また、2003 年 GPL でリリースした、Progeny ディストリビューションマ ニュアルも元にしています。 この文書は DocBook XML を用いて書かれています。出力形式は、docbook-xml パッケー ジや docbook-xsl パッケージの情報を用いて、様々なプログラムで生成されます。 この文書では、そのメンテナンス性を高めるために、実体やプロファイル属性など数々 の XML の特徴を利用しています。これらは、プログラミング言語の変数や条件に似た機 能を果たします。この XML ソースには、異なる各アーキテクチャの情報が含まれていま すが、各アーキテクチャ固有の文章のまとまりを分離するのに、プロファイル属性が使 われています。 日本語訳は、鴨志田睦 (1997 年)、岡充 (1998-1999 年)、遠藤美純 (1998-2000 年)、 門脇正史、鍋谷栄展、八田真行、Guangcheng Wen (1999 年)、今井伸広、上川純一、喜 瀬浩、久保田智広、齋藤努、中野武雄 (2002 年)、杉山友章、武井伸光、倉澤望 (2002-2006 年) が行いました。 E.2. この文書への貢献 この文書に関する問題や提案がある場合には、それらを installation-guide パッケー ジに対するバグ報告として提出してください。その方法については reportbug パッケー ジや Debian バグ追跡システムのオンラインドキュメントをご覧ください。なお同じ問 題が報告済みかどうかを調べるためには、 installation-guide パッケージに関するバ グ報告を確認するとよいでしょう。もし同じ問題が報告済みならば、 宛に、確証のための追加情報や有益な情報を提供することができま す。 XXXX には、報告済みのバグに付けられた番号を当てはめてください。 もちろんこの文書の DocBook ソースを入手し、それに対するパッチを作成していただけ るともっと助かります。 DocBook ソースは debian-installer WebSVN にあります。 DocBook に慣れていなくても心配しないでください。あなたが始められるよう、マニュ アルディレクトリに簡単なチャートシートがあります。 html に似ていますが、プレゼ ンテーションではなく、テキストの意味の方を重視しています。パッチは debian-boot メーリングリスト (以下を参照) に提出してください。歓迎いたします。 SVNでソース をチェックする方法については、ソースのルートディレクトリの README をご覧くださ い。 どうか、この文書の著者に直接連絡をとるようなことはしないでください。このマニュ アルの話題も含め、 debian-installer に関する議論を行うメーリングリストがありま す。その宛先は です。またDebian メーリングリスト 購読ページには、このメーリングリストの購読に関する説明があります。また Debian メーリングリストアーカイブでは、その写しをオンラインで読むこともできます。 E.3. 多大な貢献 もともとこの文書は Bruce Perens, Sven Rudolph, Igor Grobman, James Treacy, Adam Di Carlo によって書かれました。 Sebastian Ley はインストール Howto を書きました 。非常に多くの Debian ユーザや開発者がこの文書に貢献しています。特に Michael Schmitz (m68k のサポート) や、Frank Neumann (Amiga install manual の原著者)、 Arto Astala, Eric Delaunay/Ben Collins (SPARC に関する情報)、さまざまな文書を編 集、著述している Tapio Lehtonen と St?phane Bortzmeyer には多大なご協力をいただ きました。また、Pascal Le Bail には USB メモリースティックから起動する方法につ いて、有益な情報をいただいたことに感謝いたします。 Miroslav Ku?e には Sarge の debian-installer の新機能について、たくさん記述していただきました。 Jim Mintha によるネットワークブートに関する HOWTO (利用可能な URL が不明) や、 Debian FAQ、 Linux/m68k FAQ、 SPARC プロセッサ向け Linux FAQ、 Linux/Alpha FAQ やその他の文書には、極めて有用な文章や情報があります。これらの自由に利用できる 素晴らしい情報源をメンテナンスされている方々は、高く評価されるべきでしょう。 本マニュアルの chroot してのインストールに関する節 (項D.3. 「Unix/Linux システ ムからの Debian GNU/Linux のインストール」) は、 Karsten M. 自身が著作権を持つ ドキュメントの一部が元になっています。 E.4. 商標表示 すべての商標には、それぞれに所有者がいます。 付録 F. GNU General Public License Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the gnu General Public License is intended to guarantee your freedom to share and change free software -- to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the gnu Library General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and /or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a. You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b. You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c. If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a. Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b. Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c. Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL AND COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. one line to give the program's name and a brief idea of what it does. Copyright (C) year name of author This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with absolutely no warranty; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items -- whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. signature of Ty Coon, 1 April 1989 Ty Coon, President of Vice This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License.