Debian GNU/Linux インストールガイド 製作著作 © 2004 - 2023 the Debian Installer team 本マニュアルはフリーソフトウェアです。GNU 一般公有使用許諾にそって、配布・改変 する事ができます。付録F GNU General Public License のライセンスを参照してくださ い。 このマニュアルのビルドバージョン: 20230508+deb12u1. 概要 この文書は 32-bit hard-float ARMv7 (「armhf」) アーキテクチャ用 Debian GNU/ Linux 12 システム (コードネーム「bookworm」) のインストール説明書です。また、さ らに詳しい情報へのポインタや、新しく Debian システムを構築する方法にも言及して います。 日本語訳については、 (要 subscribe) で議論を行っていま す。また、Debian JP Project: メーリングリストに購読に関する簡単な説明があり、 debian-doc Mailing List Archive では過去のメールを読むことができます。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 目次 armhf 用 Debian GNU/Linux 12 のインストール 1. ようこそ Debian へ 1.1. Debian とは? 1.2. GNU/Linux とは? 1.3. Debian GNU/Linux とは? 1.4. Debian Installer とは? 1.5. Debian の入手 1.6. このドキュメントの最新版の入手 1.7. この文書の構成 1.8. 著作権およびソフトウェアライセンスについて 2. 必要なシステム 2.1. サポートするハードウェア 2.1.1. サポートするアーキテクチャ 2.1.2. 3つの異なるARM移植版 2.1.3. ARM CPU の設計のばらつきとそのサポートの複雑さ 2.1.4. Debian/armhf でサポートされるプラットフォーム 2.1.5. マルチプロセッサ 2.1.6. グラフィックハードウェアのサポート 2.1.7. ネットワーク接続機器 2.1.8. 周辺機器やその他のハードウェア 2.2. ファームウェアが必要なデバイス 2.3. GNU/Linux に適したハードウェアの購入 2.3.1. 独占的・閉鎖的なハードウェアを避ける 2.4. インストールに利用できるメディア 2.4.1. CD-ROM/DVD-ROM/BD-ROM 2.4.2. ネットワーク 2.4.3. ハードディスク 2.4.4. Un*x・GNU システム 2.4.5. サポートする記憶装置 2.5. 必要なメモリとディスクスペース 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 の設定 3.6.1. ARM ファームウェア 3.6.2. Debian から提供されている U-Boot (システムファームウェア) イメー ジ 3.6.3. U-Boot でのイーサネット MAC アドレスの設定 3.6.4. U-Boot でのカーネル/initrd/デバイスツリーの再配置問題 4. システムインストールメディアの入手 4.1. 公式 Debian GNU/Linux インストールイメージ 4.2. Debian ミラーサイトからのファイルのダウンロード 4.2.1. どこでインストールファイルを探すか 4.3. TFTP ネットブート用ファイルの準備 4.3.1. RARP サーバの設定 4.3.2. DHCP サーバの設定 4.3.3. BOOTP サーバの設定 4.3.4. TFTP サーバの立ち上げ 4.3.5. TFTP イメージを適切な場所に配置する 4.4. 自動インストール 4.4.1. Debian インストーラを用いた自動インストール 4.5. インストールファイルの整合性の検証 5. インストールシステムの起動 5.1. 32-bit hard-float ARMv7 でのインストーラの起動 5.1.1. ブート用イメージのフォーマット 5.1.2. コンソール設定 5.1.3. TFTP による起動 5.1.4. U-Boot でのUSB メモリからの起動 5.1.5. インストーラでのビルド済みSDカードイメージの利用 5.2. アクセシビリティ 5.2.1. インストーラフロントエンド 5.2.2. 基板デバイス 5.2.3. 高コントラストテーマ 5.2.4. 拡大 5.2.5. Expert モード、Rescue モード、自動化インストール 5.2.6. インストールしたシステムのアクセシビリティ 5.3. 起動パラメータ 5.3.1. ブートコンソール 5.3.2. Debian Installer パラメータ 5.3.3. 起動パラメータで質問に答える 5.3.4. カーネルモジュールへパラメータを渡す 5.3.5. カーネルモジュールのブラックリスト化 5.4. インストールプロセスのトラブルシューティング 5.4.1. 光学メディアの信頼性 5.4.2. 起動設定 5.4.3. カーネルの起動時メッセージの意味 5.4.4. インストールで発生した問題の報告 5.4.5. インストールレポートの送信 6. Debian インストーラーの使用法 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.3.9. トラブルシューティング 6.3.10. network-console を利用したインストール 6.4. 見つからないファームウェアの読み込み 6.4.1. メディアの準備 6.4.2. ファームウェアとインストールしたシステム 6.4.3. インストールしたシステムの設定を完了する 6.5. カスタム化 6.5.1. 代替 init システムのインストール 7. 新しい Debian システムを起動してみる 7.1. 決定的瞬間 7.2. 暗号化ボリュームのマウント 7.2.1. トラブルシューティング 7.3. ログイン 8. 次のステップとそれから 8.1. システムをシャットダウンする 8.2. Debian に慣れる 8.2.1. Debian パッケージングシステム 8.2.2. Debian で利用できる追加ソフトウェア 8.2.3. アプリケーションのバージョン管理 8.2.4. cron ジョブ管理 8.3. さらなる文書や情報 8.4. 電子メールを使用するためのシステム設定 8.4.1. デフォルトの電子メール設定 8.4.2. システムの外に電子メールを送る 8.4.3. Exim4 Mail Transport Agent の設定 8.5. 新しいカーネルのコンパイル 8.6. 起動しなくなってしまったシステムの回復 A. インストール Howto A.1. 前置き A.2. インストーラを起動する A.2.1. 光学ディスク 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. ブートプロンプトの preseed の例 B.2.6. 事前設定ファイルを指定するための DHCP の利用方法 B.3. 事前設定ファイルの作成 B.4. 事前設定ファイルの内容 (bookworm 用) B.4.1. 地域化 B.4.2. ネットワーク設定 B.4.3. ネットワークコンソール B.4.4. ミラーサイト設定 B.4.5. アカウント設定 B.4.6. 時計と時間帯の設定 B.4.7. パーティション分割 B.4.8. 基本システムのインストール B.4.9. apt 設定 B.4.10. パッケージ選択 B.4.11. インストールの仕上げ B.4.12. 他パッケージの 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 のパーティション分割プログラム 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. リモートアクセス: SSH のインストールとアクセス方法の設定 D.3.8. 仕上げに 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. 最低限必要なシステム (推奨値) armhf 用 Debian GNU/Linux 12 のインストール 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 Installer とは? 1.5. Debian の入手 1.6. このドキュメントの最新版の入手 1.7. この文書の構成 1.8. 著作権およびソフトウェアライセンスについて この章では、Debian プロジェクトと Debian GNU/Linux の概略を紹介します。Debian プロジェクトの歴史と Debian GNU/Linux についてすでにご存知でしたら、この章を飛 ばして構いません。 1.1. Debian とは? Debian は、有志の集まってできた団体で、フリーソフトウェアを開発し、フリーソフト ウェアコミュニティの理想を推進することを目的としています。Debian プロジェクトは 1993 年に、比較的新しい Linux カーネルをもとにした、完全で一貫性あるディストリ ビューションの制作のために、Ian Murdock が開発者を広く募ったときに始まりました 。献身的なファンたちの比較的小さな団体は、最初 Free Software Foundationによって 支援を受け、GNUの哲学に影響されていましたが、数年後には 1000 人もの Debian 開発 者を抱える組織になりました。 Debian 開発者は様々な活動に参加しています。例えば、Web や FTP サイトの管理、グ ラフィックデザイン、ソフトウェアライセンスの法律的な分析、文書の執筆、そしても ちろん、ソフトウェアパッケージのメンテナンスです。 私たちの哲学を伝え、Debian が支持する原則を信じている開発者を引き寄せるために、 Debian プロジェクトは、私たちの価値の概略を述べ、Debian 開発者であるとはどうい うことかという指針とするために、多数の文書を発表しています: • Debian 社会契約は、Debian のフリーソフトウェアコミュニティへの関与について 述べたものです。この社会契約を守ることに同意する人は、誰でもメンテナになる ことができます。メンテナは誰でも、Debian に新しいソフトウェアを追加すること ができます -- そのソフトウェアが私たちの条件に照らしてフリーであり、パッケ ージの品質が基準を満たしていれば。 • Debian フリーソフトウェアガイドライン (DFSG) は、フリーソフトウェアに関する Debian の基準を明確かつ簡潔に述べたものです。この DFSG は、フリーソフトウェ ア運動において非常に影響力のある文書で、オープンソースの定義のもととなった ものです。 • Debian ポリシーマニュアルは、Debian プロジェクトの品質基準を詳しく定めたも のです。 Debian 開発者は、ほかの多数のプロジェクトにも関与しています。それらのプロジェク トには、Debian 固有のものもあり、Linux コミュニティの一部や全体に関係するものも あります。以下に例を挙げます。 • Filesystem Hierarchy Standard (FHS) は、Linux のファイルシステムのレイアウ トを標準化しようという試みです。これによって、ソフトウェア開発者はパッケー ジが様々な GNU/Linux ディストリビューションにどのようにインストールされるか を心配することなしに、プログラムのデザインに努力を集中することができます。 • Debian Jr. は、Debian を若年ユーザーに提供できるようなものにするための内部 プロジェクトです。 より一般的な情報については、Debian FAQ を参照して下さい。 1.2. GNU/Linux とは? GNU/Linux はオペレーティングシステム (あなたとコンピュータの間に立ち、他のプロ グラムを実行させる一連のプログラム) です。 オペレーティングシステムは、様々な基礎的なプログラムを含んでいます。それらによ って、コンピュータは、ユーザーと交信したり指示を受け取ったり、ハードディスクや テープ、プリンタにデータを読み書きしたり、メモリの使い方を制御したり、他のソフ トウェアを実行したりすることができます。オペレーティングシステムの最も重要な部 分は、カーネルです。GNU/Linux システムにおいては、Linux がカーネルです。システ ムの残りの部分は、他のプログラムでできており、その大部分は GNU プロジェクトによ って書かれたものです。Linux カーネルだけでは動作するオペレーティングシステムを 構成できませんので、多くの人が日常的に「Linux」と呼ぶシステムのことを、私たちは 「GNU/Linux」と呼ぶようにしています。 GNU/Linux は Unix オペレーティングシステムを手本にしています。当初から、GNU/ Linux はマルチタスク、マルチユーザーシステムとして設計されました。この事実によ り、Linux は他の有名なオペレーティングシステムに対し、充分差別化できています。 しかし、GNU/Linux はあなたが想像するよりもさらに異なっています。他のオペレーテ ィングシステムとは対照的に、誰も GNU/Linux を所有しません。その開発の多くは無償 のボランティアによって行われます。 後に GNU/Linux になるものの開発は 1984 年、フリーソフトウェア財団が GNU という Unix ライクなオペレーティングシステムの開発を始めたときに始まりました。 GNU プロジェクトは、Unix (tm) や、GNU/Linux などの Unix ライクなオペレーティン グシステムと共に使うための一連のフリーソフトウェアツールを開発してきました。こ れらのツールは、ファイルのコピー・削除といった日常的な作業から、プログラムの作 成・コンパイルや様々なドキュメントフォーマットの高度な編集といった作業までを可 能にします。 多くのグループや個人が GNU/Linux に寄与する中で、最大の単独貢献者はいまだに (GNU/Linux の中で使用されるほとんどのツールだけでなく哲学も作成した) フリーソフ トウェア財団と、GNU/Linux を可能にしたコミュニティーです。 Linux カーネルは、Linus Torvalds というフィンランド人の計算機科学の学生が 1991 年に、Usenet の comp.os.minix ニュースグループに Minix の代替カーネルの初期バー ジョンを公表したのが始まりです。Linux International の Linux 史のページ参照して 下さい。 Linus Torvalds は、何人ものサブシステムのメンテナの協力を得て、数百人の開発者の 作業を調整し続けています。Linux カーネルの公式ウェブサイトがあります。 linux-kernel メーリングリストの情報は、linux-kernel メーリングリスト FAQ で読む ことができます。 GNU/Linux ユーザーは、それらのソフトウェアの大きな選択の自由を持っています。例 えば、ユーザーは、1 ダースの異なるコマンドラインシェルや数種のグラフィカルデス クトップの中から選ぶことができます。この選択できるということが、しばしばコマン ドラインやデスクトップを変更できるという考えに慣れていない、他のオペレーティン グシステムのユーザーを当惑させています。 GNU/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 プロジェクトが運営する多数 のメーリングリストを用いることです (この文章の執筆時点で 327 以上のメーリングリ ストがあります)。メーリングリストを簡単に講読するためには、 Debian メーリングリ スト講読ページを訪れて、フォームに必要事項を記入するとよいです。 1.4. Debian Installer とは? Debian インストーラ (「d-i」としても知られています) は基本的な動作を行う Debian システムをインストールするためのソフトウェアシステムです。組込みシステム・ラッ プトップ・デスクトップ・サーバーマシンのような幅広いハードウェアをサポートして おり、様々な目的に使われる膨大な量のフリーソフトウェアを提供します。 インストール作業は簡単な質問群に答えることで進みます。インストール作業での全設 定をコントロールすることができるエキスパート・モードや、自動インストールを実行 する拡張機能も提供されています。インストールしたシステムはそのまま使うことも、 さらにカスタマイズすることもできます。インストールは多数のソースから実行できま す: USB、CD/DVD/Blu-Ray、そしてネットワーク経由です。インストーラーは、80 以上 の言語で翻訳されたインストール画面をサポートしています。 インストーラーは boot-floppies プロジェクトを起源としており、これは Joey Hess によって 2000 年に初めて言及されています。以来インストールシステムは継続してボ ランティアらによって開発されており、改善と機能追加が行われています。 Debian インストーラーのページ、Wiki、debian-boot メーリングリストなどで、より詳 細な情報を確認できます。 1.5. Debian の入手 インターネットを通じて Debian GNU/Linux をダウンロードしたり Debian の公式イン ストールメディアを購入したりするための情報については、入手方法についてのページ を参照して下さい。Debian のミラー一覧には、Debian の公式ミラーサイトがすべて載 っていますので、もっとも近いサイトを簡単に探すことができます。 Debian は、インストール後に非常に簡単にアップグレードできます。このインストール 手順では、システムの設定についてお助けします。一度インストールが済んでしまえば 、必要に応じてこのようなアップグレードを行えるようになります。 1.6. このドキュメントの最新版の入手 この文書には絶えず変更が加えられています。Debian GNU/Linux システムの 12 リリー スに関する最新情報については、Debian 12 ページにて確認してください。このインス トールマニュアルの最新版は、公式インストールマニュアルページからも利用できます 。 1.7. この文書の構成 この文書は、初めて Debian をお使いになるユーザーのために書かれたマニュアルです 。お手持ちのハードウェアの動作に関しては一般的な知識があることを前提としていま すが、なるべく専門的な知識がなくてもお読みいただけるよう心がけています。 また熟練したユーザーであっても、この文書で、最低限インストールに必要な容量や、 Debian インストールシステムでサポートされるハードウェアの詳細など、参考になる情 報を得ることができるでしょう。熟練したユーザーの方には、この文書のあちこちをか いつまんでお読みになることをお勧めします。 基本的にこの文書は、実際に体験するインストールのプロセスに沿って、順々に説明す るように構成されています。Debian GNU/Linux のインストールの各作業段階と、それに 関連するこの文書の各節は以下の通りになっています。 1. 2章必要なシステムでは、お手持ちのハードウェアがインストーラのシステム要件を 満たしているかどうかを調べます。 2. 3章Debian GNU/Linux のインストール前にでは、既存のシステムをバックアップし 、Debian のインストールに先だつシステム設計やハードウェアの設定を行います。 もしマルチブートシステムを考えているのでしたら、ハードディスク上に、Debian 用パーティションを作るための空き領域を作っておく必要があるかもしれません。 3. 4章システムインストールメディアの入手では、あなたのインストール方法のための インストールファイルを入手します。 4. 次の 5章インストールシステムの起動では、インストーラを起動します。またこの 章では、起動に問題があった際のトラブルシューティングの手順についても紹介し ます。 5. 6章Debian インストーラーの使用法に従って実際のインストールを実行してくださ い。ここでは言語選択、周辺機器のドライバモジュールの設定、(CD/DVD インスト ールイメージセットからインストールしていない場合) 残りのインストールするフ ァイルを Debian サーバから直接取得するようなネットワーク接続の設定、ハード ディスクのパーティション分割、基本システムのインストールを行います。その後 、インストールするタスクの選択を行います。(Debian システムのパーティション セットアップについては、付録C Debian でのパーティション分割で背景を説明して います) 6. 7章新しい Debian システムを起動してみるでは、新しくインストールした基本シス テムを起動します。 システムのインストールが終了したら、8章次のステップとそれからを読んで下さい。こ の章では、Unix や Debian に関する情報の探し方や、カーネルの切り換えの方法を説明 します。 最後に、付録E 付記には、この文書に関する情報や貢献の方法が載っています。 1.8. 著作権およびソフトウェアライセンスについて この文書を読んでいる方は、多数の商用ソフトウェアにあるようなライセンス (購入し たソフトウェアのコピー 1 部を、1 台のコンピュータで使用できる) はご存知のことで しょう。しかし、このシステムはそのようなものとは違います。私たちは、あなたの通 っている学校や仕事場にあるすべてのコンピュータに Debian GNU/Linux をインストー ルすることを勧めます。また、友達に貸して、彼らのコンピュータにインストールする のを手伝ってあげましょう。さらには、わずかな制限にさえ気をつければ、何千部もの コピーを作って売ることも可能です。なぜなら、Debian はフリーソフトウェアに基づい ているからです。 フリーソフトウェアとは、著作権を持っていないという意味ではありません。また、こ のソフトウェアを含むインストールメディアが、無償で配布されなければならないとい う意味でもありません。フリーソフトウェアとは、ひとつには、個々のプログラムのラ イセンスにおいて、プログラムの利用や再配付の権利に、お金を払う必要がないことを 意味しています。また誰でも、そのソフトウェアを拡張したり、改造したり、修正する こと、さらにその成果を再配付することが可能であることも意味しています。 注記 Debian プロジェクトでは、ユーザーの実用性に関する妥協から、私たちのフリーの基準 に適合しないパッケージも利用できるようになっています。このパッケージは公式なデ ィストリビューションの一部ではありませんが、Debian ミラーの contrib・non-free エリア、またはサードパーティ製 CD/DVD-ROM から入手できます。このレイアウトや、 アーカイブの内容については、Debian FAQ にある「Debian FTP アーカイブ」の節をご 覧ください。 このシステムに入っているプログラムの多くは、「GPL」と略される GNU General Public License にしたがって利用許諾されています。この GPL は、プログラムのコピ ーを配布するときには、必ずプログラムのソースコードを利用可能にしておくことを要 求しています。これは、ユーザーがそのソフトウェアを変更できることを保証するもの です。そのため、私たちは、Debian システムに含まれる GPL 準拠のプログラムのソー スコード^[1]をすべて収録しています。 Debian に収録されたプログラムの著作権やソフトウェアライセンスの形式には、他にも 数種あります。それぞれのプログラムの著作権やライセンスは、一度システムをインス トールすれば、/usr/share/doc/パッケージ名/copyright ファイルを探せば見つけるこ とができます。 ライセンスや、Debian が main ディストリビューションにソフトウェアを収録する際に 用いているフリーの基準に関してより詳細な情報をお求めの場合は、Debian フリーソフ トウェアガイドラインをご覧ください。 最も重要な法律上の注意点は、このソフトウェアが無保証であることです。これは、こ のソフトウェアを作成したプログラマらがコミュニティの利益を考えてのことです。ソ フトウェアは、いかなる目的への利用に対しても保証されていません。しかし、ソフト ウェアがフリーであるゆえに、ユーザーには必要に応じてソフトウェアを修正する権限 が与えられます。また、このようにしてソフトウェアの拡張が誰かによってなされれば 、その利益も享受できます。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ^[1] Debian ソースパッケージの探し方や展開の仕方やバイナリの作成方法に関する情 報については、Debian FAQ の「Debian パッケージ管理システムの基本」をご覧くださ い。 第2章必要なシステム 目次 2.1. サポートするハードウェア 2.1.1. サポートするアーキテクチャ 2.1.2. 3つの異なるARM移植版 2.1.3. ARM CPU の設計のばらつきとそのサポートの複雑さ 2.1.4. Debian/armhf でサポートされるプラットフォーム 2.1.5. マルチプロセッサ 2.1.6. グラフィックハードウェアのサポート 2.1.7. ネットワーク接続機器 2.1.8. 周辺機器やその他のハードウェア 2.2. ファームウェアが必要なデバイス 2.3. GNU/Linux に適したハードウェアの購入 2.3.1. 独占的・閉鎖的なハードウェアを避ける 2.4. インストールに利用できるメディア 2.4.1. CD-ROM/DVD-ROM/BD-ROM 2.4.2. ネットワーク 2.4.3. ハードディスク 2.4.4. Un*x・GNU システム 2.4.5. サポートする記憶装置 2.5. 必要なメモリとディスクスペース この節では、Debian を始めるために必要なハードウェアに関する情報を扱います。また 、GNU や Linux でサポートされるハードウェアに関するより詳しい情報へのリンクも用 意しました。 2.1. サポートするハードウェア Debian は、Linux・kFreeBSD カーネルや GNU ツールセットが必要とする以上のハード ウェアを要求しません。それゆえ、Linux・kFreeBSD カーネル、libc、gcc などが移植 されていて、Debian の移植版が存在すれば、どんなアーキテクチャやプラットフォーム でも Debian を動作させることができます。すでに Debian GNU/Linux でテストされて いる 32-bit hard-float ARMv7 アーキテクチャシステムの詳細は、 https:// www.debian.org/ports/arm/ にある移植版のページを参照してください。 この節では、32-bit hard-float ARMv7 でサポートされるハードウェアの様々な設定の すべてに触れることは避け、一般的な情報とさらなる情報が見つけられる場所へのポイ ンタを紹介します。 2.1.1. サポートするアーキテクチャ Debian GNU/Linux 12 は 9 の主要なアーキテクチャと、「フレーバー」と呼ばれる各ア ーキテクチャのバリエーションをサポートしています。 ┌───────────────────────────┬─────────────┬────────────────────────┬──────────┐ │ アーキテクチャ │Debian での名│ サブアーキテクチャ │フレーバー│ │ │ 称 │ │ │ ├───────────────────────────┼─────────────┼────────────────────────┼──────────┤ │AMD64 & Intel 64 │amd64 │  │  │ ├───────────────────────────┼─────────────┼────────────────────────┼──────────┤ │ │ │デフォルトの x86 マシン │デフォルト│ │Intel x86 ベース │i386 ├────────────────────────┼──────────┤ │ │ │Xen PV ドメインのみ │xen │ ├───────────────────────────┼─────────────┼────────────────────────┼──────────┤ │ARM │armel │Marvell Kirkwood 及び │marvell │ │ │ │Orion │ │ ├───────────────────────────┼─────────────┼────────────────────────┼──────────┤ │ハードウェア FPU がある ARM│armhf │複数プラットフォーム対応│armmp │ ├───────────────────────────┼─────────────┼────────────────────────┼──────────┤ │64bit ARM │arm64 │  │  │ ├───────────────────────────┼─────────────┼────────────────────────┼──────────┤ │ │ │MIPS Malta │5kc-malta │ │64bit MIPS (リトルエンディ │ ├────────────────────────┼──────────┤ │アン) │mips64el │Cavium Octeon │octeon │ │ │ ├────────────────────────┼──────────┤ │ │ │Loongson 3 │loongson-3│ ├───────────────────────────┼─────────────┼────────────────────────┼──────────┤ │ │ │MIPS Malta │4kc-malta │ │32bit MIPS (リトルエンディ │ ├────────────────────────┼──────────┤ │アン) │mipsel │Cavium Octeon │octeon │ │ │ ├────────────────────────┼──────────┤ │ │ │Loongson 3 │loongson-3│ ├───────────────────────────┼─────────────┼────────────────────────┼──────────┤ │Power Systems │ppc64el │IBM POWER8 以降のマシン │  │ ├───────────────────────────┼─────────────┼────────────────────────┼──────────┤ │64bit IBM S/390 │s390x │VM-reader や DASD からの│generic │ │ │ │IPL │ │ └───────────────────────────┴─────────────┴────────────────────────┴──────────┘ この文書は Linux カーネルを用いた 32-bit hard-float ARMv7 アーキテクチャへのイ ンストールを扱います。Debian がサポートしている他のアーキテクチャに関する情報を 探しているなら、Debian 移植版のページをご覧ください。 2.1.2. 3つの異なるARM移植版 ARMアーキテクチャは時間とともに進化し、今のARMプロセッサでは旧型では利用できな かった機能を提供しています。Debian ではそのため、幅広い種類のマシンを可能な限り サポートできるように3つのARM移植版を提供しています: • Debian/armel はハードウェア浮動小数点演算ユニット (FPU) をサポートしない、 古い32ビットのARMプロセッサを対象としています。 • Debian/armhf は最低でも ARMv7 アーキテクチャにARMベクトル浮動小数点演算仕様 のバージョン3 (VFPv3) を実装した新しい32ビットのARMプロセッサでのみ動作しま す。Debian/armhf ではそういったモデルで拡張された機能や性能拡張を利用するよ うになっています。 • Debian/arm64 は ARMv8 以降のアーキテクチャを実装する64ビットのARMプロセッサ で動作します。 現在利用できる CPU は全て、技術的に (ビッグ、リトルの) どちらのエンディアンモー ドでも動作します。しかし、大多数のシステム実装では、リトルエンディアンモードを 使用します。Debian/arm64 や Debian/armhf、Debian/armel はどれもリトルエンディア ン ARM システムのみサポートします。 2.1.3. ARM CPU の設計のばらつきとそのサポートの複雑さ ARMシステムは i386/amd64 ベースのPCアーキテクチャと比べてかなり異質なので、サポ ート状況ははるかに複雑になります。 ARM アーキテクチャはいわゆる「systems-on-chip」 (SoC) で主に利用されています。 こういった SoC は多くの様々な企業により設計され、そのハードウェアの構成要素はシ ステムの起動に必要となるような非常に基本的な機能までが非常に様々です。システム ファームウェアのインターフェイスは時とともに標準化が進みましたが、特に古いハー ドウェアではファームウェアやブート用インターフェイスは非常に様々であるため、PC の世界ではマザーボードの BIOS/UEFI が扱うようなシステム固有の低レベルの問題につ いても、そういったシステムでは Linux カーネルが担当しないといけない、ということ になります。 Linux カーネルでのARMサポート初期に、ハードウェアの種類が多いことからPCシステム での「1つで万能」のカーネルとは対照的に、ARMシステムごとに別個のカーネルが必要 となりました。この方法は大量の異なるシステムに対応させるには向かないため、異な るARMシステムでも動作する単一のARMカーネルをブートできるようにする作業が行われ ました。より新しいARMシステムのサポートはこういった複数プラットフォーム対応カー ネルを利用できるようにする方法で実装されるようになりましたが、古い複数のシステ ムでは専用のカーネルが必要なままです。そのため、標準の Debian ディストリビュー ションではそういった古いARMシステムについては特定のものへのインストールだけをサ ポートします。新しいシステムは Debian/armhf で、(「armmp」と呼ばれる) 複数プラ ットフォーム対応カーネルによりサポートされます。 2.1.4. Debian/armhf でサポートされるプラットフォーム 以下のシステムは複数プラットフォーム対応 (armmp) カーネルを使って Debian/armhf が動作することがわかっています: フリースケール MX53 クイック・スタート・ボード (MX53 LOCO Board) IMX53QSB は i.MX53 SoC ベースの開発ボードです。 Versatile Express Versatile Express は様々なCPUドーターボードを搭載できるベースボードで構成さ れるARMの開発ボードシリーズです。 Allwinner sunXi ベースの一部の開発ボード及び組み込みシステム armmp カーネルは Allwinner A10 (アーキテクチャコード名「sun4i」) や A10s/ A13 (アーキテクチャコード名「sun5i」)、A20 (アーキテクチャコード名「sun7i」 )、A31/A31s (アーキテクチャコード名「sun6i」)、A23/A33 (「sun8i」ファミリの 一部) SoC を基にした複数の開発用ボードや組み込みシステムをサポートします。 現在、(既存のSDカード用インストーライメージでの提供も含めて) 以下の sunXi ベースのシステムでインストーラの完全サポートが利用できます: □ Cubietech Cubieboard 1 + 2 / Cubietruck □ LeMaker Banana Pi 及び Banana Pro □ LinkSprite pcDuino 及び pcDuino3 □ Olimex A10-Olinuxino-LIME / A20-Olinuxino-LIME / A20-Olinuxino-LIME2 / A20-Olinuxino Micro / A20-SOM-EVB □ Xunlong OrangePi Plus Allwinner sunXi ベースの機器のシステムサポートは主流側 Linux カーネルで利用 できるドライバやデバイスツリーの情報に限られています。(Allwinner SDK カーネ ル等) ベンダー固有のカーネルツリーや android 派生の linux-sunxi.org カーネ ルの 3.4 系列は Debian ではサポートしていません。 主流側 Linux カーネルは全般に Allwinner A10、A10s/A13、A20、A23/A33、A31/ A31s SoC のシリアルコンソール、イーサネット、SATA、USB、MMC/SDカードをサポ ートします。ローカルディスプレイ (HDMI/VGA/LCD) とオーディオハードウェアの サポートレベルは個々のシステムで差があります。ほとんどのシステムでカーネル はグラフィックドライバをネイティブには持たず、ブートローダがディスプレイを 初期化する「simplefb」プラットフォームを使ってカーネルはただその初期化済み フレームバッファを再利用するだけです。これは通常うまく動作しますが特定の制 限があります (ディスプレイ解像度をすぐその場で変更することとディスプレイの 電源管理ができません)。 sunXi ベースのシステムの大容量ストレージデバイスに利用されているオンボード のフラッシュメモリは大きく分けてそのままの NAND フラッシュと eMMC フラッシ ュの2種類が存在します。オンボードフラッシュストレージを搭載する古い sunXi ベースのボードでは多くが、主流側カーネルでは通常サポートされないそのままの NAND フラッシュを使っているため Debian でも使えません。新しいシステムではそ のままの NAND フラッシュではなく eMMC フラッシュを使っているものが出てきて います。eMMC フラッシュチップは基本的に高速な取り替えの出来ないSDカードであ り、通常のSDカードと同様にサポートされています。 上記の一覧になくても基礎的なサポートをインストーラに収録している sunXi ベー スのシステムはいくらかありますが、対応するハードウェアに Debian プロジェク トでアクセスする方法がないため当該システムの大部分はテストされていません。 こういったシステム向けに提供されているインストーラ搭載のビルド済みSDカード イメージはありません。サポートがそのように限定されている開発用ボードには □ Olimex A10s-Olinuxino Micro / A13-Olinuxino / A13-Olinuxino Micro □ Sinovoip BPI-M2 (A31s ベース) □ Xunlong Orange Pi (A20 ベース) / Orange Pi Mini (A20 ベース) があります。上記のシステム一覧にある SoC に加え、インストーラでは Allwinner H3 SoC 及びそれを基にしたボードをかなり限定的にサポートしています。主流側カ ーネルでの H3 サポートは Debian 9 リリースのフリーズ時点では相当の作業が残 っているため、インストーラでは H3 ベースのシステムではシリアルコンソール、 MMC/SD、USBホストコントローラだけをサポートしています。H3 のオンボードイー サネットポート向けドライバはまだ無いため、ネットワーク接続はUSB接続のイーサ ネットアダプターかUSB接続の WiFi 経由でのみ可能です。こういったかなり基礎的 なインストーラサポートを利用できる H3 ベースのシステムには以下があります。 □ FriendlyARM NanoPi NEO □ Xunlong Orange Pi Lite / Orange Pi One / Orange Pi PC / Orange Pi PC Plus / Orange Pi Plus / Orange Pi Plus 2E / Orange Pi 2 NVIDIA Jetson TK1 NVIDIA Jetson TK1 は (Tegra 124 としても知られる) Tegra K1 チップを基にした 開発用ボードです。Tegra K1 は4コアの32ビット ARM Cortex-A15 CPU と 192 CUDA コアの Kepler GPU (GK20A) を搭載しています。Tegra 124 を基にした他のシステ ムでも使えるかもしれません。 Seagate Personal Cloud 及び Seagate NAS Seagate Personal Cloud 及び Seagate NAS は Marvell Armada 370 プラットフォ ームを基にしたNAS機器です。Debian では Personal Cloud (SRN21C)、Personal Cloud 2-Bay (SRN22C)、Seagate NAS 2-Bay (SRPD20)、Seagate NAS 4-Bay (SRPD40) をサポートしています。 SolidRun Cubox-i2eX / Cubox-i4Pro Cubox-i シリーズはフリースケール i.MX6 SoC ファミリを基にした小型、立方体型 のシステム群です。Cubox-i シリーズのシステムサポートは主流側の Linux カーネ ルで利用できるドライバやデバイスツリーの情報に限られています。Cubox-i 向け のフリースケール 3.0 シリーズのカーネルは Debian ではサポートしていません。 主流側のカーネルで利用できるドライバではシリアルコンソールやイーサネット、 USB、MMC/SD カード、HDMI 経由のディスプレイを (コンソールと X11) でサポート しています。以上に加え、Cubox-i4Pro の eSATA ポートもサポートしています。 Wandboard Wandboard Quad、Dual、Solo は Freescale i.MX6 Quad SoC ベースの開発用ボード です。システムサポートは主流側カーネルで利用できるドライバ及びデバイスツリ ーの情報に限定されています。wandboard.org で配布している wandboard 特有の 3.0 及び 3.10 カーネル系列は Debian ではサポートしていません。主流側カーネ ルにはシリアルコンソール、HDMI経由のディスプレイ (コンソールと X11)、イーサ ネット、USB、MMC/SD、SATA (Quad のみ)、アナログオーディオのドライバサポート が収録されています。他のオーディオオプション (S/PDIF、HDMIオーディオ) やオ ンボードの WLAN/Bluetooth モジュールのサポートは Debian 9 ではテストされて いないか利用できるものがありません。 Linux カーネルのARMの複数プラットフォーム対応では通常 debian-installer で利用さ れるカーネルで対象システムの構成要素をサポートしていて対象システム向けのデバイ スツリーファイルが利用可能である限りは、上に明示的に列挙されていない armhf シス テムで debian-installer を実行できます。その場合、インストーラは機能するように は通常できますが、システムを自動でブート可能にすることはできないかもしれません 。それには多くの場合デバイス特有の情報が必要となります。 そういったシステムで debian-installer を利用する場合、インストールの最後に例え ば debian-installer から起動したシェルで必要となコマンドを実行し、手作業により システムをブート可能にする必要があるかもしれません。 2.1.5. マルチプロセッサ このアーキテクチャでは、マルチプロセッササポート (「対称型マルチプロセッシング 」や SMP と呼ばれている) が利用できます。Debian 12 の標準カーネルイメージは SMP-alternatives をサポートするようコンパイルされています。これにより、プロセッ サ数 (やプロセッサコア数) を検出し、単一プロセッサシステムの場合には、自動的に SMP を無効にします。 もともと、複数のプロセッサがあるコンピュータはハイエンドサーバシステムのみのも のでしたが、近年では「マルチコア」と呼ばれるプロセッサの登場により、どこでも当 たり前のものになりました。これには、1 つの物理的なチップに、「コア」と呼ばれる 複数のプロセッサユニットが搭載されています。 2.1.6. グラフィックハードウェアのサポート Debian のグラフィカルインターフェースのサポートは、X.Org による X11 システムや カーネルでサポートされているかどうかで決まります。デスクトップ環境は X11 を利用 するのに対し、基本的なフレームバッファのグラフィックはカーネルにより提供されま す。3D ハードウェアアクセラレーションやハードウェアアクセラーションビデオといっ た、高性能なグラフィックカードの機能が有効かどうかは、システムで使用する実際の グラフィックハードウェアと、ある状況下では、追加「ファームウェア」ファイルのイ ンストール (「ファームウェアが必要なデバイス」参照) に依存します。 ほぼ全てのARMマシンがグラフィックハードウェアを、プラグインカードに依らず組み込 みで持っています。グラフィックカードを増設できる拡張スロットを備えるマシンはあ りますが、それは希少です。グラフィックを一切持たないヘッドレス設計のハードウェ アがかなり一般的です。カーネルにより提供される基本的なフレームバッファのビデオ はグラフィックを備えた機器であればどれでも使えるはずですが、高速 3D グラフィッ クを使うためにはバイナリドライバが必ず必要です。状況は刻々と変わりますが、 bookworm のリリース時点では nouveau (Nvidia Tegra K1 の SoC) 及び freedreno (Qualcomm Snapdragon の SoC) 用のフリードライバがこのリリースで利用できるように なっています。他のハードウェアではサードパーティの non-free ドライバが必要です 。 サポートされているグラフィックハードウェアやポインティングデバイスに関する、よ り詳細な情報は https://wiki.freedesktop.org/xorg/ にあります。Debian 12 は X.Org バージョン 7.7 を採用しています。 2.1.7. ネットワーク接続機器 Linux カーネルがサポートしているネットワークインターフェースカード (NIC) なら、 インストールシステムでもほとんどサポートしています。ドライバモジュールは、通常 自動的に読み込まれます。 32-bit hard-float ARMv7 では、ほとんどの内蔵イーサネットデバイスをサポートして おり、追加 PCI デバイスや、USB デバイスのモジュールを提供しています。 2.1.8. 周辺機器やその他のハードウェア Linux は、マウス、プリンタ、スキャナ、PCMCIA/CardBus/ExpressCard、USB デバイス などの様々なハードウェアに幅広く対応しています。しかし、システムのインストール に、これらのデバイスが必要なわけではありません。 2.2. ファームウェアが必要なデバイス デバイスドライバの可用性とは別に、いくつかのハードウェアでは、デバイスを使用で きるようになる前に、いわゆるファームウェアやマイクロコードを、デバイスに読み込 む必要があるものもあります。もっとも一般的なのはネットワークインターフェースカ ード (特にワイヤレス NIC) ですが、例えば USB デバイスやハードディスクコントロー ラでも、ファームウェアが必要なものがあります。 With many graphics cards, basic functionality is available without additional firmware, but the use of advanced features requires an appropriate firmware file to be installed in the system. 動作にファームウェアを必要とする古いデバイスでは、ファームウェアファイルは、メ ーカーによってデバイスの EEPROM/フラッシュチップに永続的に置かれていました。今 日では、ほとんどの新しいデバイスがこの方法でファームウェアを埋め込まなくなり、 ホストの OS がシステムブート時に、毎回ファームウェアファイルを、デバイスにアッ プロードしなければならなくなっています。 In most cases firmware is non-free according to the criteria used by the Debian GNU/Linux project and thus cannot be included in the main distribution. If the device driver itself is included in the distribution and if Debian GNU/Linux legally can distribute the firmware, it will often be available as a separate package from the non-free-firmware section of the archive (prior to Debian GNU/ Linux 12.0: from the non-free section). However, this does not mean that such hardware cannot be used during installation. Starting with Debian GNU/Linux 12.0, following the 2022 General Resolution about non-free firmware, official installation images can include non-free firmware packages. By default, debian-installer will detect required firmware (based on kernel logs and modalias information), and install the relevant packages if they are found on an installation medium (e.g. on the netinst). The package manager gets automatically configured with the matching components so that those packages get security updates. This usually means that the non-free-firmware component gets enabled, in addition to main. Users who wish to disable firmware lookup entirely can do so by setting the firmware=never boot parameter. It's an alias for the longer hw-detect/ firmware-lookup=never form. Unless firmware lookup is disabled entirely, debian-installer still supports loading firmware files or packages containing firmware from a removable medium, such as a USB stick. See 「見つからないファームウェアの読み込み」 for detailed information on how to load firmware files or packages during the installation. Note that debian-installer is less likely to prompt for firmware files now that non-free firmware packages can be included on installation images. debian-installer がファームウェアファイルを要求し、そのファームウェアファイルが ない、または非フリーのファームウェアファイルをシステムにインストールしたくない といった場合は、ファームウェアをロードせずに継続を試せます。特定の状況下で必要 になるはずなので、ドライバが追加ファームウェアを要求する場合があるのですが、ほ とんどのシステムで、デバイスはファームウェアがなくても動作します (例: tg3 ドラ イバを使用する特定のネットワークカードで発生)。 2.3. GNU/Linux に適したハードウェアの購入 Debian や他の GNU/Linux ディストリビューションをプリインストールしたシステムを 出荷しているベンダもあります。多少余分なお金がかかるかもしれませんが、ある程度 の安心を購入できることになります。このハードウェアは GNU/Linux でしっかりサポー トされていることが確信できるわけですから。 Linux がバンドルされたシステムを購入する場合でも、中古のシステムを購入する場合 でも、そのハードウェアが Linux カーネルでサポートされているか改めて確認すること が重要です。前述の参考資料の中に、そのハードウェアが挙げられているかどうかを確 認してください。(もしいれば) 購入先の販売員には、Linux システムを購入することを 伝えましょう。また、Linux に友好的なハードウェアベンダを支援しましょう。 2.3.1. 独占的・閉鎖的なハードウェアを避ける あるハードウェアメーカーは、どのようにドライバを書いたらよいかをまったく教えて くれません。また、フリーソフトウェアの中心要素のひとつである、ドライバのソース コード公開を妨げる NDA (非公開の同意) を結ばない限り、ドキュメントを見せてくれ ないメーカーもあります。そういったデバイスの、有用なドキュメントへのアクセス権 がないため、Linux では、単に動作しないという事になります。 多くの場合、そんなデバイスと、OS や、そのデバイスドライバがどのように通信するの かを説明した、標準 (または少なくともデファクトスタンダード) があります。そのよ うな標準 (あるいはデファクトスタンダード) に従うすべてのデバイスは、ひとつの汎 用デバイスドライバで動作し、デバイス固有のドライバは必要ありません。ある種のハ ードウェア (例: USB 「ヒューマンインターフェースデバイス」、つまりキーボードや マウスなどや、USBフラッシュディスク、メモリーカードリーダのような USB マススト レージデバイス) では非常にうまく動作し、実際に市場に流通しているデバイスはすべ て標準に準拠しています。 他の分野では、たとえばプリンタは、残念ながらそうではありません。多くのプリンタ が、標準 (またはデファクトスタンダード) 制御言語で対処し、いくつもの OS で問題 なく動作できるようにしている一方、少数ですが、ドキュメントがないプロプライエタ リな制御コマンドしか理解せず、自由な OS では使用できないか、メーカーが提供した クローズソースドライバしか使用できないプリンタがあります。 デバイス購入時にそのハードウェア用のクローズソースドライバがベンダーにより提供 されていても、そのデバイスの現実的な寿命はドライバが利用できるかどうかで制限さ れます。最近は製品サイクルが短くなり、消費者向けデバイスが生産終了となってから 短期間で生産者によるドライバ更新が利用できなくなることは珍しくありません。シス テムのアップグレード後にクローズソースドライバが動作しなくなってしまうと、完動 していたデバイスがドライバのサポートが行われないという理由により使えないものに なり、その場合にできることは何もありません。そういうことがあるため、閉鎖的なハ ードウェアの購入はそれを利用する OS を問わず初めから避けるべきです。 私たちがそのハードウェア向けのフリードライバを提供するために必要な、ドキュメン トその他の資料を公開するように閉鎖的なハードウェアの生産者に働きかけることによ り、この状況の改善を支援することができます。 2.4. インストールに利用できるメディア 本節は、Debian をインストールするのに、どのメディアを使用するかを決めるのに、参 考になるでしょう。全体をメディアに費やした章 (4章システムインストールメディアの 入手) があり、そこではメディアごとに利点と欠点を挙げています。その章から、この ページに、もう一度戻ってくるかもしれませんね。 2.4.1. CD-ROM/DVD-ROM/BD-ROM 光学ディスクからのインストールは、ほとんどのアーキテクチャでサポートされていま す。 2.4.2. ネットワーク インストールに必要なファイルをインストール中に取得するのに、ネットワークを使用 できます。ネットワークを使用するかどうかは、あなたが選択したインストール方法と 、インストール中の質問への答に依存します。インストールシステムは、ネットワーク へのほとんどの接続法 (PPPoE を含む。ISDN や PPP は不可) 上での、HTTP と FTP の どちらともサポートしています。インストール完了後に、ISDN や PPP を使用するよう にシステムの設定ができます。 CD/DVD や USB メモリ等のローカルメディアを一切必要とせず、インストールシステム をネットワーク越しに起動することもできます。ネットワーク越しに起動するための基 盤が既にある (つまり、ネットワーク内で既に DHCP および TFTP サービスが動作して いる) 場合は、そうすることで大量のマシンへの展開が簡単、迅速にできるようになり ます。必要となる基盤の準備には、ある程度技術的な経験が要求されるため、この方法 は初心者に勧めるものではありません。 ネットワーク越しに起動を行い、すべてのローカルファイルシステムを NFS でマウント して、ディスクレスインストールをすることも一つの選択です。 2.4.3. ハードディスク ハードディスクからインストールシステムを直接ブートするのは、多くのアーキテクチ ャで使えるもうひとつの方法です。ハードディスク上にあるインストーラをロードする ため、他の OS が必要になります。この方法は、他のインストール方法が利用できない という、特殊な場合にだけ使用してください。 2.4.4. Un*x・GNU システム 他の Unix 系システムが稼働していれば、このマニュアルで説明している debian-installer を使用せずに、Debian GNU/Linux をインストールに使用できます。 このインストール方法なら、他の方法ではサポートしないハードウェアや、ダウンタイ ムを用意できないユーザにとって便利です。この方法に興味があれば、「Unix/Linux シ ステムからの Debian GNU/Linux のインストール」へスキップしてください。このイン ストール方法は、他にインストール方法のない、慣れたユーザにとってのみ、おすすめ します。 2.4.5. サポートする記憶装置 Debian インストーラのカーネルは、なるべくどのシステムでも実行できるように構築さ れています。 IDE システムもサポートされています。 2.5. 必要なメモリとディスクスペース 通常のインストールを行うには、少なくとも 190MB の RAM と 1160MB のハードディス ク領域が必要です。これは、本当に最小限の値だということに注意してください。現実 的な値は、「必要な最低限のハードウェア」をご覧ください。 インストーラは通常自動でメモリ節約トリックを有効にしてそのような低メモリシステ ム上でも動作しますが、あまりテストが行われていないアーキテクチャではそれが働か ないかもしれません。ただそれでも手動で lowmem=1 や lowmem=2 というブートパラメ ータを追加することで有効にできます (「利用可能なメモリのチェック / 低メモリモー ド」と「Debian Installer パラメータ」もご覧ください)。 メモリやディスク領域が少ないシステムへのインストールも可能ですが、経験を積んだ ユーザにのみお勧めします。 第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 の設定 3.6.1. ARM ファームウェア 3.6.2. Debian から提供されている U-Boot (システムファームウェア) イメージ 3.6.3. U-Boot でのイーサネット MAC アドレスの設定 3.6.4. U-Boot でのカーネル/initrd/デバイスツリーの再配置問題 本章は、インストーラを起動する前の、Debian をインストールする準備について扱いま す。ここでは、データのバックアップ、ハードウェアに関する情報収集、必要な情報の 特定といったことを含みます。 3.1. インストールプロセスの概要 はじめに、再インストールについて述べておきます。Debian で、システムの完全な再イ ンストールが必要になる状況は、非常にまれです。おそらく、もっともありそうなケー スはハードディスクの機械的な故障でしょう。 多くの普通のオペレーティングシステムが、重大な故障が起きたり、OS の新バージョン へのアップグレードの際に、完全インストールを要求するかもしれません。完全な新イ ンストールを要求しなくても、使用するプログラムを新 OS で適切に動かすために再イ ンストールしなければなりません。 Debian GNU/Linux では、うまく行かない場合、OS を取り替えるのではなく修理できる ケースの方がはるかに多いでしょう。アップグレードでは大量のインストールは必要あ りませんし、常にその場でアップグレードできます。また OS のリリースが続いても、 プログラムにはほとんど常に互換性があります。プログラムの新バージョンが、より新 しい依存するソフトウェアを要求する場合、Debian パッケージングシステムは、必要な ソフトウェアをすべて自動的に識別し、確実にインストールします。再インストールが 必要ないように力を尽くしてきており、再インストールをしなくてはならないというの は、最後の手段であるというのがポイントです。インストーラは、既に存在するシステ ムに対して、再インストールするように設計されていません。 ここでは、インストールプロセスの中で行う処理を一段階ずつまとめておきましょう。 1. インストールするハードディスクにある、既存のデータや文書のバックアップ。 2. インストールを始める前に、コンピュータの情報と必要な文書を集める。 3. ハードディスクに Debian のパーティションに使える領域を確保する。 4. インストーラソフトウェアと、そのマシンで必要になる、特殊なドライバファイル やファームウェアファイルについて、場所の確認・ダウンロード。 5. CD・DVD・USB メモリといったブートメディアをセットアップや、インストーラを起 動できるネットワークブートインフラの準備。 6. インストールシステムを起動する。 7. インストールする言語を選択する。 8. 可能なら、イーサネットネットワーク接続を有効にする。 9. Debian をインストールするパーティションを作成し、マウントする。 10. 自動で行われる基本システムのダウンロード・インストール・セットアップを監視 する。 11. 追加のソフトウェアを選んでインストール。 12. Debian GNU/Linux と既存システムを起動するブートローダをインストールする。 13. 新しいシステムを初めて起動する。 インストール中に問題があったら、どのステップのどのパッケージでつまずいたかを知 るお手伝いをします。このインストール劇の、そんな主演ソフトウェア俳優をご紹介し ます。 インストーラの 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 用の領域を作る必要があるでしょう。ディスクのパーティション分割作業では、どんな プログラムを使ったとしても、ディスク上のすべてのデータを消してしまう危険があり ます。Debian GNU/Linux のインストールに用いられるプログラム群は、極めて信頼性が 高く、何年も使用されてきたものです。しかし、これらは強力な機能を持つことになる ので、誤動作が起こったときの被害も大きくなります。バックアップを取った後でも、 質問に答える前に充分注意し、よく考えて行動に移してください。ほんの数分間程余計 に配慮することで、何時間もの不要な作業を避けることができるかもしれません。 また、システムをマルチブートシステムにする (複数のオペレーティングシステムを共 存させる) 場合には、既にインストールされているオペレーティングシステムの配布メ ディアが手元にあることを確かめてください。通常は必要ないとはいえ、システムをブ ートするために、OS のブートローダを再インストールする必要があったり、最悪の場合 、完全に OS をインストールし、以前のバックアップをリストアする必要がある可能性 もあります。 3.3. 必要な情報 3.3.1. ドキュメント 3.3.1.1. インストールマニュアル 現在ご覧になっている文書は、Debian の bookworm リリース用公式インストールガイド です。これはさまざまな形式や言語で利用できます。 3.3.1.2. ハードウェアの文書 しばしば、ハードウェアの設定や使用についての有用な情報を含んでいます。 3.3.2. ハードウェア情報の取得先 多くの場合、インストーラはハードウェアを自動的に検出することができます。しかし 、準備としてインストール前にハードウェアに習熟することをお勧めします。 ハードウェアの情報は次のようなところから集められます。 • 各ハードウェアに付属してきたマニュアル。 • コンピュータの BIOS/UEFI 設定画面。この画面を表示させるには、コンピュータの 起動時に何らかのキーの組合せを押します。この組合せについてはマニュアルを見 てください。Delete キーや F2 キーの場合が多いようですが、いくつかのメーカー は、別のキーを使用することもあります。大抵、コンピュータの起動時に、設定画 面に入るキーを表示します。 • 各ハードウェアのケースや箱。 • 他の OS のシステムコマンドやシステムツール、ファイルマネージャの表示など。 こちらからは、RAM やハードドライブのメモリに関する情報が得られることが多い です。 • あなたの部門のシステム管理者や、インターネットサービスプロバイダ。こちらか らは、ネットワークや電子メールに関する設定情報が得られます。 表3.1 インストールに役立つハードウェア情報 ┌──────────────────────────┬──────────────────────────────────────────────────┐ │ ハードウェア │ 必要な情報 │ ├──────────────────────────┼──────────────────────────────────────────────────┤ │ │ドライブの台数 │ │ ├──────────────────────────────────────────────────┤ │ │システムでの接続順序 │ │ ├──────────────────────────────────────────────────┤ │ │IDE (PATA としても知られる)、SATA、SCSI のどれか │ │ハードディスク ├──────────────────────────────────────────────────┤ │ │利用できる空き領域 │ │ ├──────────────────────────────────────────────────┤ │ │パーティション │ │ ├──────────────────────────────────────────────────┤ │ │他の OS がインストールされているパーティション │ ├──────────────────────────┼──────────────────────────────────────────────────┤ │ネットワークインターフェー│利用可能なネットワークインターフェースのタイプ/モ │ │ス │デル │ ├──────────────────────────┼──────────────────────────────────────────────────┤ │プリンタ │メーカーと型番 │ ├──────────────────────────┼──────────────────────────────────────────────────┤ │ビデオカード │タイプ/モデルとメーカー │ └──────────────────────────┴──────────────────────────────────────────────────┘ 3.3.3. ハードウェア互換性 製品の多くは、問題なく Linux で動作します。また Linux でサポートするハードウェ アも日々進歩しています。しかし、それでもまだ Linux は、ある種の OS ほどには多種 多様なハードウェアに対応していません。 Linux に収録されているドライバはほとんどの場合特定の製造者の一部の「製品」や「 商標」向けではなく、あるハードウェア/チップセット向けに書かれています。一見異な るように見える製品/商標が同一のハードウェア設計を基にしています。チップ製造者が 自社チップを基に「リファレンス設計」と呼ばれる製品を提供し、それが複数の異なる デバイス製造者により利用され、多くの異なる製品や商標名で売られることは珍しくあ りません。 これには利点と欠点があります。利点は、製品が同一チップセットを基にしている限り は製品や製造者が異なっていても、一つのチップセットに一つのドライバで動作するこ とです。欠点はある製品/商標で実際にはどのチップセットが使われているのか判定する のが常に簡単だとは限らないことです。残念なことに、デバイス製造者は製品のベース となるハードウェアを変更してもその製品名や製品のバージョン番号すら変えないこと が時々あり、そのために別々に買った商標/製品名が同一の製品が二つある場合、異なる 二種のチップセットを基にしているため異なるドライバを使う必要があったり、一方に は使えるドライバが何もないということもあります。 USB や PCI/PCI-Express/ExpressCard 用のデバイスが基にしているチップセットを調べ るにはデバイス ID を確認するのが良い方法です。USB/PCI/PCI-Express/ExpressCard デバイスには全て、「ベンダー」および「製品」 ID というものがあり、同一チップセ ットを基にしている製品であればこれは通常同じ組み合わせになります。 Linux システムでは、この ID は USB デバイスでは lsusb コマンド、PCI/PCI-Express /ExpressCard デバイスでは lspci -nn コマンドで読み取ることができます。ベンダー および製品 ID は通常「1d6b:0001」のように二つの 16 進数をコロンで区切った形式に なっています。 lsusb の出力例: 「Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub」の場合、1d6b がベンダー ID で 0002 が製品 ID です。 イーサネットカードに対する lspci -nn の出力例: 「03:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller [10ec:8168] (rev 06)」。ID は最も右側の [] 内にあります。つ まりこの場合 10ec がベンダー、8168 が製品の ID です。 また別の例として、あるグラフィックスカードでは次のような出力になります: 「 04:00.0 VGA compatible controller [0300]: Advanced Micro Devices [AMD] nee ATI RV710 [Radeon HD 4350] [1002:954f]」。 Windows システムでは、デバイスの ID は Windows デバイスマネージャの「詳細」タブ で確認できます。ベンダー ID には先頭に VEN_、製品 ID には先頭に DEV_ が付けられ ます。Windows 7 システムではデフォルトでは表示されていないため、実際に ID を確 認するにはデバイスマネージャの詳細タブのプロパティから「ハードウェア ID」を選択 する必要があります。 ベンダー/製品 ID、「Linux」、「ドライバ」を検索語としてインターネットで検索する と多くの場合そのチップセット向けドライバの対応状態に関する情報が得られるでしょ う。ベンダー/製品 ID を検索してあまり有効な検索結果が得られなかった場合は、多く の場合 lsusb や lspci でも提供されるチップのコード名 (ネットワークカードの例で は「RTL8111」/「RTL8168B」、グラフィックスカードの例では「RV710」) を検索するこ とで手がかりが得られるかもしれません。 3.3.3.1. ライブシステムを使用したハードウェア互換性テスト Debian GNU/Linux は一部のアーキテクチャで「ライブシステム」というものも利用でき ます。ライブシステムは設定済みですぐに使える圧縮形式のシステムで、CD や DVD の ような読み込み専用メディアから起動して使えます。デフォルトでの使用では、コンピ ュータ上への恒久的な変更は一切行いません。ライブシステム内でユーザ設定を変更し たりプログラムを追加でインストールすることはできますが、全てコンピュータの RAM 上でのみ発生します。つまり、コンピュータの電源を落としてライブシステムを起動し 直すと、全てがデフォルトにリセットされます。手持ちのハードウェアが Debian GNU/ Linux でサポートされているか確認する最も簡単な方法は Debian ライブシステムを使 って試してみることです。 ライブシステムの使用にはいくつか制限があります。まず、ライブシステム内での変更 は全てコンピュータの RAM に保持する必要があることで、そのため十分な RAM のある システムでないと機能しません。巨大なソフトウェアパッケージを追加でインストール することはメモリの制約のために失敗するかもしれません。もう一つの制限はハードウ ェア互換性テストに関するもので、公式の Debian GNU/Linux ライブシステムにはフリ ーなものしか含まれません。つまり、フリーでないファームウェアファイルは一切含ま れません。そういったフリーでないパッケージを手作業でシステムにインストールする ことはもちろんできますが、debian-installer のように必要なファームウェアファイル を自動的に検出するようなものは一切ないため、フリーでないものが必要であれば全て 手作業によってインストールしなければなりません。 利用可能な Debian ライブイメージの種類についての情報は Debian ライブイメージの ウェブサイトにあります。 3.3.4. ネットワークの設定 コンピュータが固定ネットワークに接続されているならば (つまり、PPP 接続ではなく Ethernet やそれと同等な接続の場合)、ネットワーク管理者に以下の情報を確認してお いてください。 • ホスト名 (自分で決められるかもしれません) • ドメイン名 • コンピュータの IP アドレス • ネットワークのネットマスク • ネットワークにゲートウェイがある場合は、経路を向けるデフォルトゲートウェイ システムの IP アドレス • DNS (Domain Name Service) サーバとして使用するネットワーク上のホスト 接続するネットワークを、DHCP (Dynamic Host Configuration Protocol) を用いて設定 する場合、DHCP サーバがインストールプロセスの間、コンピュータに直接提供するので 、この情報は必要ありません。 DSL やケーブルモデム (つまりケーブルテレビネットワーク) を経由したインターネッ ト接続とルータ (設定済みのものが電話や CATV の提供業者により提供されることがよ くあります) があって、それがネットワーク接続を処理している場合、通常 DHCP がデ フォルトで使えるようになっています。 WLAN/WiFi ネットワークを使用するなら、以下の情報も探さねばなりません。 • ワイヤレスネットワークの ESSID (「ネットワーク名」)。 • (適用できる場合) ネットワークにアクセスする WEP や WPA/WPA2 のセキュリティ キー。 3.4. 必要な最低限のハードウェア コンピュータのハードウェアに関する情報が集まったら、そのハードウェアが今から行 おうとしているインストールの条件に足るものであるかどうかをチェックしましょう。 やむを得ない場合は、以下に載っているリストよりは性能の劣るハードウェアでなんと かしなければならないこともあるでしょう。しかし、これらのお勧めを無視した場合は 、結局不満を感じる可能性が高くなってしまうと思います。 表3.2 最低限必要なシステム (推奨値) ┌──────────────────┬──────────────┬──────────────┬──────────────┐ │インストールタイプ│ RAM (最小) │ RAM (推奨) │ハードディスク│ ├──────────────────┼──────────────┼──────────────┼──────────────┤ │デスクトップなし │256 メガバイト│512 メガバイト│4 ギガバイト │ ├──────────────────┼──────────────┼──────────────┼──────────────┤ │デスクトップあり │1 ギガバイト │2 ギガバイト │10 ギガバイト │ └──────────────────┴──────────────┴──────────────┴──────────────┘ この最小値はスワップを有効にしてライブ CD でないイメージを使うことを前提として います。「デスクトップなし」の値はグラフィカルでない(テキストベースの)インス トーラを使うことを前提としています。 実際に必要な最小メモリはこの表に挙げたものよりも少なくなります。スワップを有効 にすれば、最小 140MB で Debian をインストールできます。必要なディスクスペースに も同じことが言え、特にインストールするアプリケーションを選択する場合に必要なデ ィスクスペースについての追加情報は、「タスクに必要なディスクの空き容量」をご覧 ください。 旧式ないしローエンドシステムでも、グラフィカルデスクトップ環境を実行できますが 、GNOME や KDE Plasma といったデスクトップ環境よりも、リソースを消費しないウィ ンドウマネージャをインストールするのをお勧めします。代替品には、xfce4, icewm, wmaker が含まれますが、他にも選択できます。 インストール時に必要なメモリやディスクの量は、どのようなサーバとして使用するか によって異なるため、一般的な量の提示は事実上不可能です。 これらのサイズには、通常存在するユーザファイル、メール、データなどは含まれてい ないことにご注意ください。自分のファイルやデータに必要な容量は、気前良く確保し ておくに越したことはありません。 Debian GNU/Linux システムを円滑に操作するのに必要なディスクスペースについては、 お勧めするシステム要件で考慮されています。特に、/var パーティションには、ログフ ァイルのような一般的な内容に加え、Debian 特有の状態情報が多く置かれます。dpkg のファイル (インストールされたパッケージすべてに関する情報) は、簡単に 40MB を 消費します。また apt は、インストールする前にダウンロードしたパッケージをここに 置きます。/var には最低 200MB は割り当てておくべきですし、グラフィカルデスクト ップ環境をインストールする場合には、もっと割り当てるべきでしょう。 3.5. マルチブートシステムでの事前パーティション分割 「ディスクのパーティション分割」とは、ディスクをセクションに分けることです。各 セクションは他のセクションから独立しています。この作業は要するに、家の中に壁を 作るようなものです。ある部屋に家具を入れても、それは他の部屋には影響しないとい うわけです。 システム上に既にオペレーティングシステムが入っていてディスク全体を使っていると きに同じディスクに Debian も入れたい場合には、ディスクのパーティション分割をや り直す必要があります。Debian は Windows や MacOS のパーティションにはインストー ルできません。他の Unix システムとはパーティションを共有することも可能かもしれ ませんが、ここではそれは取り扱いません。少なくとも、Debian の root ファイルシス テムには専用のパーティションが必要となります。 現在のパーティションの設定は、のような、現在の OS に対応したパーティション分割 ツールを使えばわかります。パーティション分割ツールには、必ず既存のパーティショ ンを (変更せずに) 表示する機能が付いています。 一般に、既にファイルシステムの入っているパーティションを変更すると、中の情報は すべて破壊されてしまいます。そのため、パーティション分割をやり直す前には、必ず バックアップを取っておいてください。家の例でいうと、壁を動かす前には、家具が壊 れないよう、あらかじめどかしておきます。 今の OS の中には、既存のパーティションをその内容を壊さずに移動、サイズ変更でき る機能を提供しているものがあります。この機能を使うと既存データを失うことなくス ペースを作ることができます。これはほとんどの場合問題なく成功しますが、ディスク のパーティションを変更することは本質的に危険な操作であり、全データを完全にバッ クアップした上で行うべきものです。 3.6. インストール前に行うハードウェア・OS の設定 この節では、Debian のインストールに先立って必要となるハードウェアの設定について 見ていきます。通常この作業では、システムの BIOS/UEFI/システム用ファームウェアの 設定をチェックし、場合によってはその設定を変更することになります。「BIOS/UEFI」 や「システムファームウェア」は、ハードウェアが利用する中核的なソフトウェアで、 電源投入後のブートプロセスの間に起動される、最も重要なものです。 3.6.1. ARM ファームウェア 既に触れたように、残念ながら ARM システムのシステムファームウェアには標準となる ものがありません。名義上同一のファームウェアを利用していても、システムが異なれ ば挙動はかなり異なることがあります。これは ARM アーキテクチャを採用している機器 の大半が組み込みシステムであり、製造者は通常独自の変更を相当に加えたバージョン のファームウェアをビルドし、機器特有のパッチを収録しているという事実に起因しま す。残念ながら製造者が変更や拡張を主流側のファームウェア開発者に送らないことが 多く、そのため製造者による変更が元のファームウェアの新しいバージョンにはなかな か取り入れられません。 結果として新しく販売されているシステムであっても、製造者により改変された1年以上 古いバージョンのファームウェアを基にしたファームウェアを使っていることが多く、 一方で主流側のコードはその間に大きく進化して追加の機能を提供していたり、ある面 で異なる挙動を取るということがあります。それに加え、オンボードデバイスの命名方 法は異なる製造者が改変したバージョン間では同一のファームウェアであっても一貫性 がなく、そのためARMベースのシステムで製品に依存せずに利用できる命令を提供するの はほぼ不可能です。 3.6.2. Debian から提供されている U-Boot (システムファームウェア) イメージ Debian は .../images/u-boot/ で SDカードから U-Boot を読み込める様々な armhf シ ステム向けの U-Boot イメージを提供しています。U-Boot ビルドは2つの形式を提供し ています: U-Boot の構成要素をそのまま収録したものと簡単にSDカードに書き込める既 製のカードイメージです。U-Boot の構成要素をそのまま提供しているのは上級ユーザ向 けです。通常は既製のSDカードイメージのどれかの利用を勧めています。これは <シス テム種類>.sdcard.img.gz といった名前で、例えば zcat <システム種類>.sdcard.img.gz > /dev/SDカードのデバイス のようにしてカードに書き込めます。どのイメージでも同じですが、イメージをSDカー ドに書き込むとそのカードにあった内容は消えてしまうことに留意してください! 当該システム用の U-Boot イメージが Debian から提供されている場合はベンダーから 提供された U-Boot よりもそのイメージの使用を勧めます。通常 Debian 版の方が新し く多機能なためです。 3.6.3. U-Boot でのイーサネット MAC アドレスの設定 通常、全イーサネットインターフェイスのMACアドレスが全体で一意であるべきで、技術 的にはイーサネットブロードキャストドメイン内で一意でないといけません。それを実 現するために製造者は通常、中央管理されている (対価を払う必要のある) MAC アドレ スブロックを割り当てられ、そのアドレスの中から1つを、販売する各製品に事前設定し ます。 開発用ボードの場合、製造者が対価の支払いを避けたいために全体で一意なアドレスが 提供されないこともあります。その場合はユーザ自身でシステムの MAC アドレスを決め ないといけません。イーサネットインターフェイスの MAC アドレスが決められていない 場合、ネットワークドライバによっては MAC アドレスを無作為に生成します。そうして 生成された MAC アドレスはブートのたびに変わる可能性があり、変更が発生した場合、 ユーザが手作業によりアドレスをセットしなくてもネットワークアクセスは可能でしょ うが、例えばリクエストしたクライアントの MAC アドレスを基にして DHCP により半固 定の IP アドレスを割り当てるような場合の動作に信頼性が失われるのは明らかです。 公式に割り当てられている既存の MAC アドレスとの競合を回避するため、いわゆる「ロ ーカル管理用」アドレスとして予約されているアドレス領域があります。アドレスの第1 バイトの特定の2ビットの値が決められています (英語版 Wikipedia の記事「 MAC_address」に良い説明があります)。事実上これは例えば 16 進数 ca から始まる任 意のアドレス (ca:ff:ee:12:34:56 等) をローカル管理用アドレスとして利用できると いうことになります。 システムのファームウェアとして U-Boot を使っているシステムでは、イーサネット MAC アドレスは「ethaddr」環境変数にセットされています。U-Boot のコマンドプロン プトでコマンド「printenv ethaddr」により確認、コマンド「setenv ethaddr ca:ff:ee:12:34:56」によりセットできます。値の設定後にコマンド「saveenv」を実行 するとその割り当てが恒久的になります。 3.6.4. U-Boot でのカーネル/initrd/デバイスツリーの再配置問題 以前のバージョンの U-Boot を利用しているシステムの一部ではブートの過程で Linux カーネルや初期 RAM ディスク、デバイスツリー blob のメモリへの再配置に不具合があ る可能性があります。その場合 U-Boot は「Starting kernel ...」というメッセージを 表示しますがシステムはそれ以上出力することなくフリーズします。この問題は v2014.07 以降の新しいバージョンの U-Boot では解決されています。 システムが元々 v2014.07 よりも古いバージョンの U-Boot を利用していたもので後か ら新しいバージョンにアップグレードした場合、U-Boot のアップグレード後でも問題が 引き続き発生するかもしれません。U-Boot のアップグレードでは通常既存の U-Boot 環 境変数を変更せず、この問題の修正には追加の環境変数 (bootm_size) をセットする必 要があり、既存の環境データの存在しない新規インストール処理でのみ U-Boot は自動 的にそれをセットします。コマンド「env default bootm_size; saveenv」を U-Boot の プロンプトで手作業により実行することで U-Boot の新しいデフォルト値に bootm_size をセットできます。 再配置関連の問題を回避する別の策として、コマンド「setenv fdt_high ffffffff; setenv initrd_high 0xffffffff; saveenv」を U-Boot プロンプトで実行して初期 RAM ディスク、デバイスツリー blob の再配置を完全に無効化する方法があります。 第4章システムインストールメディアの入手 目次 4.1. 公式 Debian GNU/Linux インストールイメージ 4.2. Debian ミラーサイトからのファイルのダウンロード 4.2.1. どこでインストールファイルを探すか 4.3. TFTP ネットブート用ファイルの準備 4.3.1. RARP サーバの設定 4.3.2. DHCP サーバの設定 4.3.3. BOOTP サーバの設定 4.3.4. TFTP サーバの立ち上げ 4.3.5. TFTP イメージを適切な場所に配置する 4.4. 自動インストール 4.4.1. Debian インストーラを用いた自動インストール 4.5. インストールファイルの整合性の検証 4.1. 公式 Debian GNU/Linux インストールイメージ 現在、Debian GNU/Linux をインストールする最も簡単な方法は、公式 Debian インスト ールイメージセットを使うことです。ベンダからこの CD/DVD セットを購入できます ( CD ベンダページをご覧ください)。高速なネットワーク接続と CD/DVD 書き込み装置が あれば、 Debian ミラーからインストールイメージをダウンロードしてもかまいません (詳細説明は Debian CD ページと Debian CD FAQ をご覧ください)。そのような光学イ ンストールメディアを持っていて、マシンをこれらから起動できるなら、5章インストー ルシステムの起動の項目までスキップできます。よく使用するファイルが CD や DVD の 最初のイメージにあることを保証するために、大きな労力が費やされています。そのた め、基本的なデスクトップは最初の DVD だけで足りますし、限られた範囲内では、最初 の CD イメージのみでもインストールできます。 昨今の標準としては、CD は少々容量に制限があり、グラフィカルデスクトップ環境のす べてを、先頭のCDだけですべてはインストールできなかったため、いくつかのデスクト ップ環境では、CD でのインストールに、ダウンロード用のネットワーク接続か、追加 CD から残りのファイルの取得が必要となります。 もう一点、留意しておいてください: あなたが使っているインストールメディアが必要 なパッケージを含んでいない場合、その後動作している新たな Debian システムからこ れらのパッケージをインストールできます (インストール完了後になります)。特定のパ ッケージを見つけるためにどのインストールメディアにあるかを知る必要がある場合は 、https://cdimage-search.debian.org/ を見てください。 あなたのマシンが光学メディアからの起動をサポートしていなくても、CD/DVD セットを 持っているのでしたら、最初のシステムインストーラの起動にネットブート、ディスク からカーネルの手動起動といった別の方法が使えます。これらの方法による起動に必要 なファイルもディスクに収録されており、Debian ネットワークアーカイブとディスクの フォルダ構成は同じです。そのため、以降で起動に必要なそれぞれのファイルの、アー カイブファイルパスがわかれば、インストールメディアの同じディレクトリやサブディ レクトリからファイルを探せます。 いったんインストーラが起動すれば、ほかの必要なファイルはすべてディスクから取得 できます。 インストールメディアセットを持っていない場合は、インストーラのシステムファイル をダウンロードして、接続されたコンピュータのいずれかに保存します。そしてそこか らインストーラを起動します。 4.2. Debian ミラーサイトからのファイルのダウンロード もっとも近い (そしておそらくもっとも速い) ミラーサイトを探すには、 Debian ミラ ーサイト一覧を参照してください。 4.2.1. どこでインストールファイルを探すか 様々なインストールファイルが各 Debian ミラーサーバの debian/dists/bookworm/main /installer-armhf/current/images/ にあります。各イメージとその用途が、MANIFEST に記載されています。 4.2.1.1. Armhf 複数プラットフォーム対応カーネルのインストールファイル armhf 複数プラットフォーム対応カーネル (「Debian/armhf でサポートされるプラット フォーム」参照) によりサポートされるシステムのインストール用ファイルは、標準的 な Linux カーネルイメージ、標準的な Linux 初期RAMディスクイメージ、システム特有 のデバイスツリー blob で構成されます。カーネルと初期RAMディスクイメージは .../ images/netboot/ 、tftp ブート用のデバイスツリー blob は .../images/device-tree/ からそれぞれ取得できます。インストーラを備えたブート可能なUSBメモリを作成するた めの tar アーカイブは .../images/hd-media/ から取得できます。 様々な armhf プラットフォーム用の U-Boot イメージは .../images/u-boot/ から利用 できるようになっています。 4.3. TFTP ネットブート用ファイルの準備 インストール対象のマシンが LAN に接続されている場合、TFTP を用いると、そのマシ ンをネットワーク越しに他のマシンから起動できます。インストールシステムを別のマ シンから起動するには、その「別のマシン」の特定の場所に起動ファイルを置き、また インストール対象のマシンの起動をサポートするよう設定しなければなりません。 TFTP サーバをセットアップする必要があり、そして多くのマシンでは DHCP サーバ、ま たは RARP サーバ、または BOOTP サーバのセットアップも必要です。 Reverse Address Resolution Protocol (RARP) は、どの IP を用いるべきかをクライア ントに伝える方法のひとつです。同種の方法には BOOTP プロトコルがあります。 BOOTP は IP プロトコルのひとつです。クライアントに対して、使うべき IP アドレスと、ブ ートイメージをネットワークのどこから取得するかを伝えます。 DHCP (Dynamic Host Configuration Protocol) は、 BOOTP との後方互換性を保ちつつ、より柔軟に拡張させ たものです。システムによっては DHCP でしか設定できないこともあります。 Trivial File Transfer Protocol (TFTP) は、ブートイメージをクライアントに提供す るために用います。理論的には、どんなサーバでも、どんなプラットフォームでも、こ れらのプロトコルを実装してさえいれば利用できます。この節では、SunOS 4.x, SunOS 5.x (Solaris), GNU/Linux での例を示します。 4.3.1. RARP サーバの設定 To set up RARP, you need to know the Ethernet address (a.k.a. the MAC address) of the client computers to be installed. If you don't know this information, you can boot into 「Rescue」 mode and use the command ip addr show dev eth0. Linux カーネルの RARP サーバシステムや Solaris/SunOS では rarpd を使用します。 クライアントのイーサネットハードウェアアドレスを「ethers」データベースと「hosts 」データベースにリストしておく必要があります (これらのデータベースは /etc/ (ethers,hosts) ファイルか NIS/NIS+ のマップにします)。次に RARP デーモンを起動 します。ほとんどの Linux システムと SunOS 5 (Solaris 2)では /usr/sbin/rarpd -a を、いくつか他の Linux システムでは /usr/sbin/in.rarpd -aを、SunOS 4 (Solaris 1) では /usr/etc/rarpd -a を (ルート権限で) 実行してください。 4.3.2. DHCP サーバの設定 フリーソフトウェアの DHCP サーバのひとつに、 ISC の dhcpd があります。 Debian GNU/Linux では、isc-dhcp-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.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/isc-dhcp-server restart で dhcpd を再起動してください。 4.3.3. BOOTP サーバの設定 GNU/Linux で使える BOOTP サーバは 2 つあります。ひとつは CMU の bootpd です。も う 1 つは実際は DHCP サーバですが、ISC の dhcpd です。 Debian GNU/Linux では、 bootp パッケージと isc-dhcp-server パッケージにそれぞれ入っています。 CMU bootpd を使う場合は、まず /etc/inetd.conf ファイルの該当行をアンコメント (または追加) する必要があります。 Debian GNU/Linux では update-inetd --enable bootps を実行し、続いて /etc/init.d/inetd reload とすれば OK です。 BOOTP サー バが Debian で動かない場合は、以下のようにします。 bootps dgram udp wait root /usr/sbin/bootpd bootpd -i -t 120 ここで次に /etc/bootptab を作成します。このファイルの書式は、 printcap, termcap, disktab ファイルなどでお馴染みの、例のわかりにくい形式になっています。 詳細は bootptab マニュアルページを見てください。 CMU bootpd では、クライアント のハードウェア (MAC) アドレスを知っておかなければなりません。 /etc/bootptab の 例を示します。 client:\ hd=/tftpboot:\ bf=tftpboot.img:\ ip=192.168.1.90:\ sm=255.255.255.0:\ sa=192.168.1.1:\ ha=0123456789AB: 少なくともクライアントのハードウェアアドレスを指定している「ha」オプションは変 更する必要があるでしょう。「bf」オプションはクライアントが TFTP で取得するファ イルを指定しています。詳細は「TFTP イメージを適切な場所に配置する」を参照してく ださい。 対照的に、ISC dhcpd を使っての BOOTP の設定は実に簡単です。dhcpd では、BOOTP ク ライアントはやや特殊な DHCP クライアントとして取り扱われます。アーキテクチャに よっては、BOOTP によるクライアントの起動には複雑な設定が必要になります。これに 該当してしまったら、「DHCP サーバの設定」の節をお読みください。そうでなければ、 おそらく /etc/dhcp/dhcpd.conf にある、クライアントの含まれるサブネットの設定ブ ロックに、allow bootp というディレクティブを追加し、/etc/init.d/isc-dhcp-server restart で dhcpd を再起動するだけです。 4.3.4. TFTP サーバの立ち上げ TFTP サーバの準備をする際に、まず、tftpd が有効であることを確認してください。 tftpd-hpa の場合には、サービスを走らせるのに 2 種類の方法があります。システムの inetd デーモンにより必要に応じて起動する方法と、独立したサーバとして起動する方 法です。どちらにするかは、パッケージのインストール時や再設定時に選択できます。 注記 歴史的に TFTP サーバは、イメージを提供するディレクトリに /tftpboot を使用します 。しかし Debian GNU/Linux のパッケージでは、 Filesystem Hierarchy Standard を満 たす別のディレクトリを使用する可能性があります。例えば、tftpd-hpa では /srv/ tftp をデフォルトで使用します。必要に応じて、本節の設定例を調整してください。 Debian で利用できる in.tftpd の代替はすべて、デフォルトで TFTP リクエストをシス テムログに出力します。いくつかは、出力を冗長にする -v 引数をサポートしています 。ブート時に問題がある場合、エラーの原因を診断する出発点として、ログメッセージ をチェックすることをお勧めします。 4.3.5. TFTP イメージを適切な場所に配置する 次に行うことは、「どこでインストールファイルを探すか」の記述にある、必要な TFTP ブートイメージを、 tftpd のブートイメージディレクトリに置く作業です。 tftpd が 特定のクライアントの起動に用いるファイルへのリンクを、ここに作成してください。 残念ながら、ファイルの名前は TFTP クライアントによって決まり、強制力のある標準 は存在しません。 4.4. 自動インストール 複数のコンピュータにインストールするため、完全自動インストールが可能です。この ための Debian パッケージは、fai-quickstart (インストールサーバとして使用可能) と Debian インストーラそのものです。詳細情報は FAI home page をご覧ください。 4.4.1. Debian インストーラを用いた自動インストール Debian インストーラは、 preconfiguration ファイルによる自動インストールをサポー トしています。 preconfiguration ファイルは、ネットワークやリムーバブルメディア から読み込まれ、インストール中の質問に対する回答を、埋めていくのに使われます。 編集できる動作サンプルを含む preseed の完全なドキュメントは、付録B preseed を利 用したインストールの自動化にあります。 4.5. インストールファイルの整合性の検証 ダウンロードしたファイルの整合性を Debian ミラー上にある SHA256SUMS または SHA512SUMS ファイルで提供しているチェックサムに対して検証できます。これらのファ イルはインストールイメージ自体と同じ場所にあります。次の場所を見てください。 • CD イメージのチェックサムファイル、 • DVD イメージのチェックサムファイル、 • 他のインストールファイルのチェックサムファイル。 ダウンロードしたインストールファイルのチェックサムを計算するには、それぞれ sha256sum filename.iso もしくは sha512sum filename.iso を使い、そして表示されたチェックサムを対応するファイル SHA256SUMS もしくは SHA512SUMS で比較してください。 Debian CD FAQ にはこのトピックのもっと有用な情報 (例えばスクリプト check_debian_iso で上の手順を半自動化できます) があり、説明や上のチェックサムフ ァイル自体の整合性の検証方法もあります。 第5章インストールシステムの起動 目次 5.1. 32-bit hard-float ARMv7 でのインストーラの起動 5.1.1. ブート用イメージのフォーマット 5.1.2. コンソール設定 5.1.3. TFTP による起動 5.1.4. U-Boot でのUSB メモリからの起動 5.1.5. インストーラでのビルド済みSDカードイメージの利用 5.2. アクセシビリティ 5.2.1. インストーラフロントエンド 5.2.2. 基板デバイス 5.2.3. 高コントラストテーマ 5.2.4. 拡大 5.2.5. Expert モード、Rescue モード、自動化インストール 5.2.6. インストールしたシステムのアクセシビリティ 5.3. 起動パラメータ 5.3.1. ブートコンソール 5.3.2. Debian Installer パラメータ 5.3.3. 起動パラメータで質問に答える 5.3.4. カーネルモジュールへパラメータを渡す 5.3.5. カーネルモジュールのブラックリスト化 5.4. インストールプロセスのトラブルシューティング 5.4.1. 光学メディアの信頼性 5.4.2. 起動設定 5.4.3. カーネルの起動時メッセージの意味 5.4.4. インストールで発生した問題の報告 5.4.5. インストールレポートの送信 5.1. 32-bit hard-float ARMv7 でのインストーラの起動 5.1.1. ブート用イメージのフォーマット ARMベースのシステムではほとんどの場合、ブート用イメージに2つのフォーマット: a) 標準的な Linux 初期RAMディスク (「initrd.gz」) と併用する標準的な Linux zImage フォーマットのカーネル (「vmlinuz」)、または b) 対応する初期RAMディスク (「 uInitrd」) と併用する uImage フォーマットのカーネル (「uImage」) のどちらかを利 用します。 uImage/uInitrd はARMベースのシステムの多く (ほとんどが32ビットシステムです) で 利用されている U-Boot ファームウェア向けに設計されたイメージフォーマットです。 古いバージョンの U-Boot でブートできるのは uImage/uInitrd フォーマットのファイ ルだけなので、古い armel システムではこの形式がよく利用されています。新しいバー ジョンの U-Boot では - uImage/uInitrd のブート以外に - 標準的な Linux カーネル 及びRAMディスクイメージもブートできますが、そのためのコマンド書式は uImage のブ ートとはわずかに異なります。 複数プラットフォーム対応カーネルを利用するシステムでは、カーネルと初期RAMディス ク以外にいわゆるデバイスツリーファイル (デバイスツリー blob 「device-tree blob, dtb」) が必要です。これはサポートする各システムごとに特有のもので、特定のハード ウェアの概要が収録されています。dtb はファームウェアによってデバイスに提供され るはずですが、実際にはもっと新しい dtb をロードする必要があることはよくあります 。 5.1.2. コンソール設定 netboot 用の tar アーカイブ (「ビルド済み netboot tar アーカイブ」) 及びインス トーラのSDカード用イメージ (「インストーラでのビルド済みSDカードイメージの利用 」) は U-Boot により「console」変数で定義される (プラットフォーム特有の) デフォ ルトのコンソールを使います。ほとんどの場合これはシリアルコンソールなので、そう いったプラットフォームでインストーラを利用するにはデフォルトでシリアルコンソー ルのケーブルが必要となります。 ビデオコンソールもサポートしているプラットフォームでは、インストーラをビデオコ ンソールで起動したければ U-Boot の「console」変数をそれに合わせて変更することも できます。 5.1.3. TFTP による起動 ネットワークからの起動には、ネットワーク接続と TFTP ネットワークブートサーバが (自動化でのネットワーク設定には恐らく DHCP, RARP, BOOTP も) 必要です。 ネットワーク起動をサポートするためのサーバ側の準備については、「TFTP ネットブー ト用ファイルの準備」で説明します。 5.1.3.1. U-Boot での TFTP のブート U-Boot ファームウェアを採用したシステムでのネットワークブートは3つの段階から構 成されます: a) ネットワークの設定、b) イメージ (カーネル/初期RAMディスク/dtb) のメモリへの読み込み、c) 前段階で読み込んだコードを実際に実行。 最初にネットワークを設定する必要があります。DHCP により自動的に設定する場合: setenv autoload no dhcp あるいは手作業により複数の環境変数を設定する場合: setenv ipaddr <クライアントのIPアドレス> setenv netmask setenv serverip setenv dnsip <名前サーバのIPアドレス> setenv gatewayip <デフォルトゲートウェイのIPアドレス> 希望により、恒久的な設定にすることもできます: saveenv その後はイメージ (カーネル/初期RAMディスク/dtb) をメモリに読み込む必要がありま す。これは tftpboot コマンドで行いますが、イメージが記憶されているメモリのアド レスを指定する必要があります。残念ながらメモリの割り当てはシステムにより異なる 可能性があるため、どのアドレスを利用できるというような原則はありません。 システムによっては読み込みに適するアドレスをセットした環境変数群を U-Boot が事 前に定義しているものがあります: kernel_addr_r、ramdisk_addr_r、fdt_addr_r。定義 されているかどうかは、 printenv kernel_addr_r ramdisk_addr_r fdt_addr_r を実行することで確認できます。定義されていない場合はシステムの文書で適切な値を 確認して手作業によりセットする必要があります。Allwinner SunXi SOC ベースのシス テム (例えば Allwinner A10、アーキテクチャ名「sun4i」や Allwinner A20、アーキテ クチャ名「sun7i」) では、例えば以下の値を利用できます: setenv kernel_addr_r 0x46000000 setenv fdt_addr_r 0x47000000 setenv ramdisk_addr_r 0x48000000 読み込むアドレスが定義されていれば tftpboot ${kernel_addr_r} <カーネルイメージのファイル名> tftpboot ${fdt_addr_r} tftpboot ${ramdisk_addr_r} <初期RAMディスクイメージのファイル名> を実行することにより、前に定義した tftp サーバからイメージをメモリに読み込めま す。3つ目の部分はカーネルコマンドラインの設定で、読み込んだコードを実際に実行し ます。U-Boot は「bootargs」環境変数の内容をカーネルにコマンドラインとして渡すの で、カーネルやインストーラへの任意のパラメータ - 例えばコンソールデバイス (「ブ ートコンソール」参照) や preseed のオプション (「Debian Installer パラメータ」 及び付録B preseed を利用したインストールの自動化参照) - を setenv bootargs console=ttyS0,115200 rootwait panic=10 のようなコマンドでセットできます。前に読み込んだコードを実行する実際のコマンド は利用するイメージのフォーマットに依存します。uImage/uInitrd の場合、コマンドは bootm ${kernel_addr_r} ${ramdisk_addr_r} ${fdt_addr_r} となり、ネイティブの Linux イメージの場合は bootz ${kernel_addr_r} ${ramdisk_addr_r}:${filesize} ${fdt_addr_r} となります。注意: 標準的な linux イメージをブートする場合、カーネルとdtbを読み 込んでから初期RAMディスクイメージを読み込むことが重要となります。U-Boot が最後 に読み込んだファイルのサイズを filesize 変数にセットするのと bootz コマンドが正 常に動作するためにはRAMディスクイメージのサイズが必要となるためです。プラットフ ォーム特有のカーネル、つまりデバイスツリー無しでカーネルをブートする場合には $ {fdt_addr_r} パラメータは省略できます。 5.1.3.2. ビルド済み netboot tar アーカイブ Debian は、tftp サーバ上で単純に展開でき、netboot に必要なファイルを全て収録し ているビルド済みの tar アーカイブ ( .../images/netboot/netboot.tar.gz ) を提供 しています。また、これにはインストーラを読み込む手順を全て自動化するブートスク リプトも収録しています。現在の U-Boot バージョンにはブート可能なローカルストレ ージ機器 (MMC/SD、USB、IDE/SATA/SCSI) がない場合には tftp の autoboot 機能が有 効化されて tftp サーバからブートスクリプトを読み込むという機能があります。この 機能を使うにはクライアントに tftp サーバのアドレスを提供する dhcp サーバがネッ トワークにあることが条件となります。 U-Boot のコマンドラインから tftp の autoboot 機能を作動させたい場合は以下のコマ ンドを使えます: run bootcmd_dhcp tar アーカイブにより提供されたブートスクリプトを手作業でロードするには、U-Boot プロンプトで以下のコマンドを実行する方法もあります: setenv autoload no dhcp tftpboot ${scriptaddr} /debian-installer/armhf/tftpboot.scr source ${scriptaddr} 5.1.4. U-Boot でのUSB メモリからの起動 現在の U-Boot バージョンの多くがUSBをサポートし、USBメモリ等のUSB大容量ストレー ジ機器からのブートができるようになっています。しかし残念ながら実際に必要な手順 は機器によってかなり様々です。 U-Boot v2014.10 で一般的なコマンドラインの処理と autoboot フレームワークが導入 されました。これによって、このフレームワークを実装したシステムであればどれでも 機能する包括的なブートイメージを作れるようになりました。debian-installer はこう いったシステムでのUSBメモリからのインストールをサポートしていますが、残念ながら 全ての基盤でこの新しいフレームワークを採用するには至っていません。 ブート可能な Debian インストール用USBメモリをビルドするには、hd-media の tar ア ーカイブ (「どこでインストールファイルを探すか」参照) をその機器の U-Boot バー ジョンでサポートしているファイルシステムでフォーマットしたUSBメモリに展開します 。現在の U-Boot バージョンでは通常 FAT16 / FAT32 / ext2 / ext3 / ext4 のどれで も使えます。それから1枚目の Debian インストール CD/DVD の ISO イメージファイル をUSBメモリにコピーします。 現在の U-Boot バージョンの autoboot フレームワークは PC BIOS/UEFI のブート順オ プションと似た動作をします。つまり、ブート可能機器一覧から有効なブートイメージ を確認して最初に見つけたものを起動します。OS がインストールされていなければ、 USB メモリを差し込んでシステムの電源を入れればインストーラが起動するはずです。 また、U-Boot のプロンプトで「run bootcmd_usb0」コマンドを入力すればいつでも USB の起動処理を始められます。 シリアルコンソールを使ってUSBメモリからブートした場合に起きる問題として、コンソ ールボーレートの不一致があります。console 変数が U-Boot で定義されている場合、 debian-installer ブートスクリプトは第一のコンソールデバイスをセットするために、 可能であればコンソールボーレートを含めて、それを自動的にカーネルに渡します。残 念ながら console 変数の処理は基盤によって様々です - console 変数にボーレートま で含める (「console=ttyS0,115200」) 基盤もあれば console 変数には (「console= ttyS0」のように) デバイスだけを含める基盤もあります。後者の場合に U-Boot とカー ネルのボーレートのデフォルト値が異なっていると、コンソール出力が化ける原因とな ります。カーネルは未だに古い 9600 ボーをデフォルト値としていますが、U-Boot の現 在のバージョンでは 115200 ボーがよく使われています。そうなった場合は、手作業で console 変数にシステムの正しいボーレートを指定して、「run bootcmd_usb0」コマン ドでインストーラを起動します。 5.1.5. インストーラでのビルド済みSDカードイメージの利用 いくつかのシステムでは U-Boot と debian-installer を両方とも収録したSDカード用 のイメージを Debian で提供しています。SDカード用のイメージは2種類 - ソフトウェ アパッケージをネットワークからダウンロードするタイプ ( .../images/netboot/ SD-card-images/ から利用可) と Debian CD/DVD を使用してオフラインでインストール するタイプ ( .../images/hd-media/SD-card-images/ から利用可) を提供しています。 容量とネットワーク帯域を節約するためにイメージは2部構成となっています - システ ムに依存する部分 (「firmware..img.gz」) とシステムに依存しない部分 (「partition.img.gz」) です。 Linux システムの2つの部分から完全なイメージを作成するには zcat を使って zcat firmware..img.gz partition.img.gz > complete_image.img のようにします。Windows システムでは2つをまず別個に伸張する必要があります。これ には例えば 7-Zip を使えます。それから Windows CMD.exe ウィンドウでコマンド copy /b firmware..img + partition.img complete_image.img を実行してそれぞれ伸長したものを結合します。 出来上がったイメージを例えば Linux システムでは cat complete_image.img > /dev/SD_CARD_DEVICE を実行してSDカードに書き込みます。それから対象のシステムにSDカードを差し込んで システムの電源を入れるとSDカードからインストーラが読み込まれます。hd-media 版を 使ってオフラインでインストールする場合は、インストーラから例えばUSBメモリに書き 込んだ CD/DVD のISOイメージ等、別個のメディアに置かれた1枚目の Debian CD/DVD に アクセスできないといけません。 インストールがパーティション作業 (「パーティションの分割とマウントポイントの選 択」参照) の段階まで進んだら、それまでカードにあったパーティションは削除、書き 換えできます。インストーラは起動したら完全にシステムのメインメモリで動作し、以 後SDカードにアクセスする必要はなくなるため、Debian のインストールにカード全体を 使えます。SDカードに適切なパーティションレイアウトを作成する最も簡単な方法はイ ンストーラに自動で作成させる方法です (「ガイドパーティション分割」参照)。 5.2. アクセシビリティ あるユーザにとっては、目が不自由であるといった理由により、それぞれに見合った支 援が必要なことがあります。多くのアクセシビリティ機能は手動で有効にする必要があ ります。アクセシビリティ機能を有効にするために、起動パラメータを付加できます。 ほとんどのアーキテクチャでは、キーボードを QWERTY キーボードとして認識すること に注意してください。 5.2.1. インストーラフロントエンド Debian インストーラは質問方法にアクセシビリティの異なる複数のフロントエンドをサ ポートしています: 特に挙げると text では平文のテキストを使い、一方 newt ではテ キストベースのダイアログボックスを使います。ブートプロンプトで選択できます。詳 しくは「Debian Installer パラメータ」の DEBIAN_FRONTEND を見てください。 With the newt front-end (used mostly with braille), one mostly just selects answers with arrow keys and presses Enter to validate the choice. Pressing Tab or Shift - Tab allows to switch between dialog elements, and notably to access the Go Back button, which brings back again to previous questions. Some dialogs contain check boxes, which can be ticked on and off by pressing Space. With the text front-end (used mostly with speech), one mostly selects answers either by typing their number followed by pressing Enter, or by selecting an answer with arrow keys, and pressing Enter to validate the choice. One can also not type anything and just press Enter to simply accept the default value. Typing < and pressing Enter brings back again to previous questions. When a selection of choices has to be made (e.g. during task selection), one can type ! to express an empty selection. 5.2.2. 基板デバイス いくつかのアクセシビリティデバイスは、マシンの内部に接続した実際の基板で、ビデ オメモリから直接テキストを読みます。動作させるには、 fb=false 起動パラメータを 用いて、フレームバッファのサポートを無効にしなければなりません。しかし、これに より使用できる言語が減ってしまいます。 5.2.3. 高コントラストテーマ 視力の弱いユーザのために、インストーラは、より見やすい高コントラストの配色を採 用したテーマを使用できます。これを有効にするには、起動画面にて d ショートカット を押して「Accessible high contrast」を使うか、または起動パラメータに theme=dark を追加してください。 5.2.4. 拡大 視力の弱いユーザ向けに、グラフィカルインストーラでは非常に基本的な拡大機能をサ ポートしています: Control++ と Control+- のショートカットでそれぞれフォントサイ ズを拡大、縮小します。 5.2.5. Expert モード、Rescue モード、自動化インストール Expert モードや Rescue モード、自動化インストールの選択はアクセシビリティのサポ ートも利用できるようになっています。それぞれの選択肢にアクセスするには最初にブ ートメニューで a を入力して「Advanced options」サブメニューに進む必要があります 。BIOS システムを使っている場合 (ブートメニューは一度だけビープ音を鳴らします) は続いて Enter を押さないといけません。UEFI システムの場合 (ブートメニューは二 回ビープ音を鳴らします) は Enter を押してはいけません。それから、オプションとし て s を押すと (UEFI システムではなく BIOS システムの場合は、ここでも続いて Enter を押さないといけません)、音声合成が有効になります。それから様々なショート カットが使えるようになります: x は expert モードでのインストール、r は rescue モード、a は自動化インストールです。繰り返しますが、BIOS システムを使っている場 合はそれぞれ続いて Enter を押さないといけません。 自動化インストールを選択することで、preseed を使い完全に自動で Debian をインス トールできます。preseed のソースはアクセシビリティ機能開始後に入力できます。 preseed 自体については付録B preseed を利用したインストールの自動化で言及してい ます。 5.2.6. インストールしたシステムのアクセシビリティ インストールしたシステムのアクセシビリティについての文書は、Debian Accessibility wiki ページで利用できます。 5.3. 起動パラメータ 起動パラメータとは Linux カーネルのパラメータのことで、一般には周辺機器を適切に 扱うために用います。ほとんどの場合、カーネルは周辺機器の情報を自動的に検出しま す。しかし、場合によっては少々カーネルを助けてあげないといけないこともあるので す。 システムを初めて起動する場合は、デフォルトの起動パラメータを試して (つまりなに もパラメータを設定せずに)、正確に動作するか観察してください。たいていはうまくい くと思います。なにか問題が起こったら、そのハードウェアに関する情報をシステムに 伝えるためのパラメータを調べ、あとで再起動します。 多くの起動パラメータの情報は (曖昧なハードウェア用の tips 込みで)、 Linux BootPrompt HOWTO で見つけられます。本節は、最も顕著なパラメータの概要だけを含ん でいます。いくつか共通のものは「インストールプロセスのトラブルシューティング」 以下に含まれています。 5.3.1. ブートコンソール 起動の際にシリアルコンソールを使うと、通常カーネルはこちらを自動検出します。た だし、シリアルコンソールから起動させたいコンピュータに、ビデオカード (フレーム バッファ) とキーボードもついている場合には、カーネルに console=device という引 数を渡す必要があると思います。device は利用したいシリアルデバイスで、通常 ttyS0 のようになります。 通信速度やパリティといった、シリアルポート用のパラメータを指定する必要があるか もしれません。例えば console=ttyS0,9600n8。他の速度としては 57600 や 115200 が 代表的です。このオプションを必ず「---」に続けて指定するようにしてください。そう することで (インストーラでそのブートローダがサポートされている場合) ブートロー ダでの設定がインストールしたシステムにコピーされるようになります。 インストーラが使用する端末タイプと、端末エミュレータが一致するのを保証するため 、パラメータ TERM=type を追加できます。インストーラは以下の端末タイプしかサポー トしないことに注意してください。linux, bterm, ansi, vt102, dumb です。 debian-installer でのシリアルコンソールのデフォルトは、vt102 です。上記の端末タ イプを提供しない IPMI や QEMU/KVM のような仮想化ツールを使用している場合、内部 で screen セッションを開始できます。これにより、vt102 によく似た screen 端末タ イプに変換できます。 5.3.2. Debian Installer パラメータ インストールシステムは、おそらく便利だと思われる、追加起動パラメータ^[2]をいく つか認識します。 多くのパラメータは、カーネルコマンドラインオプションの制限を避けたり、パラメー タの入力を簡単にするため、「短縮形」を持っています。パラメータに短縮形がある場 合、(通常の)長い形式の後にかっこで囲っています。本マニュアルの例は、通常、短縮 形も使用しています。 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 フロントエンドと text フロントエン ドは、デフォルトインストールメディアのほとんどで利用可能です。サポートして いるアーキテクチャでは、グラフィカルインストーラが gtk フロントエンドを使用 します。 BOOT_DEBUG この起動パラメータに 2 を設定すると、インストーラの起動プロセス中に詳細なロ グを出力します。3 を設定すると、起動プロセスの要所でデバッグ用のシェルが利 用できます。(シェルを終了すると起動プロセスを継続します) BOOT_DEBUG=0 デフォルトです。 BOOT_DEBUG=1 通常よりも詳細です。 BOOT_DEBUG=2 デバッグ情報を大量に表示します。 BOOT_DEBUG=3 詳細なデバッグを行うよう、ブートプロセスの様々な箇所でシェルが実行され ます。起動を続けるにはシェルから抜けてください。 log_host, log_port これによりインストーラは、ローカルファイルと同様に、指定したホストとポート を持つリモートの syslog に対して、ログメッセージを転送します。指定しない場 合、ポートのデフォルト値を、標準 syslog ポートの 514 とします。 lowmem インストーラが、利用可能なメモリを元に算出するデフォルト値よりも、より高レ ベルな低メモリ (lowmem) レベルに強制するのに使用できます。有効な値は、1 か 2 です。「利用可能なメモリのチェック / 低メモリモード」もご覧ください。 noshell インストーラが tty2, tty3 の対話シェルを提供しないようにします。物理的セキ ュリティが限られている、無人インストールの際に便利です。 debian-installer/framebuffer (fb) いくつかのアーキテクチャでは、多くの言語でインストールを行うために、カーネ ルフレームバッファを使用します。フレームバッファが問題となるシステムの場合 、パラメータ fb=false によってこの機能を無効にできます。bterm や bogl に関 するエラーメッセージや、真っ暗な画面、インストールが始まって数分後にフリー ズがおきたら問題の兆候です。 debian-installer/theme (theme) テーマ (theme) はインストーラのユーザインターフェースがどのように見えるか (色、アイコンなど) を決定します。どのテーマが利用できるかはフロントエンドに よって異なります。現在、newt と gtk のフロントエンドには、(デフォルトの見た 目のほかに) 目の不自由な方向けにデザインされた「dark」テーマのみがあります 。起動時のパラメータに、theme=dark と指定してテーマを設定してください (この ためのブートメニューのキーボードショートカット d もあります)。 netcfg/disable_autoconfig デフォルトで debian-installer は、IPv6 オートネゴシエーションや DHCP により 、ネットワークの設定を自動検出します。検出に成功すると、確認する機会がなく 検出値を変更できません。自動設定が失敗する場合のみ、手動ネットワーク設定を 行えます。 ローカルネットワークに IPv6 ルータや DHCP サーバがあるのに、それを回避した い場合 (例: 誤った値を返す等)、ネットワークの自動設定をせず (v4, v6 とも)、 手動で情報を入力するには、netcfg/disable_autoconfig=true パラメータを使用で きます。 hw-detect/start_pcmcia PCMCIA サービスが原因で問題が発生する場合、false を設定することで、起動しな いようにすることができます。いくつかのラップトップコンピュータには、そうい う行儀悪さがあることが知られています。 preseed/url (url) preconfiguration ファイルをダウンロードする URL を指定します。これは自動イ ンストールで使用します。「自動インストール」を参照してください。 preseed/file (file) 自動インストールで読み込む preconfiguration ファイルの PATH を指定します。 「自動インストール」を参照してください。 preseed/interactive preseed 中に質問を表示する場合には、true を設定します。事前設定ファイルのテ ストやデバッグに便利でしょう。これは、起動パラメータに渡すパラメータには影 響を及ぼしませんが、特殊な文法が使えるようになります。詳細は、「preseed を 用いたデフォルト値変更」をご覧ください。 auto-install/enable (auto) 通常 preseed の前に行われる質問を、ネットワークの設定が終わるまで遅らせます 。自動インストールでこのパラメータを使用する際には、「自動モード」をご覧く ださい。 finish-install/keep-consoles シリアル端末や管理コンソールからインストール中に、通常の仮想コンソール (VT1 から VT6) は、通常 /etc/inittab で無効にされています。これを回避するには true をセットしてください。 cdrom-detect/eject デフォルトで debian-installer は、再起動の前にインストールに使用した光学メ ディアを、自動的に排出します。自動的にそのようなメディアから起動しないよう なシステムでは、これは必要ありませんし、特定の状況下では、困ることになる可 能性もあります。例えば、光学ドライブがメディアを再び差し込むことができず、 手で挿入するようユーザがいなければいけないのに、行うユーザがそこにいないな ど。大半のスロットローディング、スリムライン、キャディタイプのドライブは、 自動的にメディアをリロードできません。 false に設定すると、自動排出を無効にできます。また、システムの初期インスト ール後に、光学ドライブから自動起動しないことを保証する必要があります。 base-installer/install-recommends (recommends) このオプションを false にすると、インストール中でも、またインストール後でも 、「推奨」パッケージを自動的にインストールしないように、パッケージ管理シス テムを設定します。「基本システムのインストール」をご覧ください。 これにより、より無駄のないシステムを得られますが、通常可能であると期待する 機能が欠落するかもしれないことに注意してください。完全な機能が必要な場合に は、推奨パッケージを手でインストールすることになるでしょう。そのためこのオ プションは、経験豊富なユーザにしか有用ではないでしょう。 debian-installer/allow_unauthenticated デフォルトでは、既知の gpg キーで認証されたリポジトリが、インストーラには必 要です。この認証を無効にするのに true と設定してください。警告: 危険です。 お勧めしません。 rescue/enable 通常のインストールではなく、レスキューモードを実行する場合、true にセットし てください。「起動しなくなってしまったシステムの回復」をご覧ください。 5.3.3. 起動パラメータで質問に答える 例外的に、インストール中の質問に起動パラメータで答を与えることができます。これ は、特殊な状況でのみ便利です。この方法の概要は、「preseed が質問するブートパラ メータの利用」にあります。特殊な例を以下に示します。 debian-installer/language (language), debian-installer/country (country), debian-installer/locale (locale) インストール中やインストール後で使用する、言語・国・ロケールを指定する方法 はふたつあります。 最初の、最も簡単な方法は locale パラメータを渡すことだけです。言語や国はそ の値から導かれます。例えば、言語にドイツ語、国にスイスを指定する場合、 locale=de_CH とします (インストールしたシステムのデフォルトロケールは de_CH.UTF-8 にセットされます)。制限は、言語、国、ロケールのすべての組み合わ せを、この方法で得られるわけではないということです。 ふたつ目のもっと柔軟な選択肢は、language と country を別々に指定することで す。この場合、特定のデフォルトロケールをインストールしたシステムに指定する ため、任意に locale を加えられます。例: language=en country=DE locale= en_GB.UTF-8 anna/choose_modules (modules) デフォルトではロードされないインストーラコンポーネントを、自動的に読み込む のに使用します。追加コンポーネントの例として、openssh-client-udeb (インスト ール中に scp コマンドを使用できる) や、ppp-udeb (「PPP over Ethernet (PPPoE) を用いた Debian GNU/Linux のインストール」をご覧ください) が便利で す。 netcfg/disable_autoconfig IPv6 オートネゴシエーションや DHCP を無効にし、静的ネットワーク設定を強制す るには、true と設定します。 mirror/protocol (protocol) デフォルトでインストーラは、Debian のミラーサイトからファイルをダウンロード するのに http プロトコルを使用し、通常の優先度ではインストール中に ftp に変 更できません。このパラメータに ftp と設定すると、インストーラに ftp を使用 するように強制できます。一覧から ftp ミラーを選択できず、ホスト名を手入力し なければならないことに注意してください。 tasksel:tasksel/first (tasks) kde-desktop タスクのような、タスク一覧に表示されないタスクを選択するのに使 用します。さらなる情報は「ソフトウェアの選択・インストール」をご覧ください 。 5.3.4. カーネルモジュールへパラメータを渡す カーネル内にコンパイルされているドライバの場合、カーネルのドキュメントに記載さ れている方法でパラメータを渡せます。しかし、ドライバがモジュールとしてコンパイ ルされており、インストールしたシステムの起動時に、インストール時と比べてカーネ ルモジュールの読み込みが若干異なる場合、通常の方法ではモジュールにパラメータを 渡せません。代わりに、インストーラが認識できる特殊文法を使って適切な設定ファイ ルにパラメータを格納しなければなりません。パラメータは実際にモジュールをロード する際に利用されます。パラメータは自動的にインストールしたシステムに伝播します 。 モジュールにパラメータを渡さなければならないというのは、本当にまれな状況だとい うことに注意してください。ほとんどの場合、カーネルはシステムにあるハードウェア から得られる値を検出し、適切な値を設定してくれます。しかしある状況下では、未だ にパラメータを手で設定しなければなりません。 モジュールにパラメータを設定する文法は以下のようになります。 module_name.parameter_name=value 1 つないし複数のモジュールに、複数のパラメータを渡す場合は繰り返してください。 例えば、古い 3Com のネットワークインターフェースカードで BNC (coax) を使用し、 IRQ 10 を設定する場合は、以下のようにします。 3c509.xcvr=3 3c509.irq=10 5.3.5. カーネルモジュールのブラックリスト化 時には、カーネルや udev が自動的にモジュールを読み込むのを防ぐために、ブラック リストに載せる必要があるかもしれません。目的の 1 つには、特定のモジュールが、あ なたのハードウェアで問題を起こす場合が挙げられます。またカーネルに、同じデバイ スに対して複数の異なるドライバがある場合もあります。ドライバが衝突したり、間違 ったドライバを先に読み込んでしまうと、デバイスが正しく動作しない原因となります 。 module_name.blacklist=yes といった文法でモジュールをブラックリストに指定できま す。これでそのモジュールが /etc/modprobe.d/blacklist.local にあるブラックリスト に指定され、インストール中・インストールしたシステムの双方で、ブラックリストが 有効になります。 インストールシステム自体が、モジュールをまだ読み込んでいる可能性があることに注 意してください。エキスパートモードでインストールを行い、ハードウェア検出時にモ ジュールの一覧からモジュールの選択を外すことで、モジュールの読み込みを防げます 。 5.4. インストールプロセスのトラブルシューティング 5.4.1. 光学メディアの信頼性 時々、特に古いドライブの場合、光学ディスクからのインストーラの起動に失敗するか もしれません。また、インストーラは (そのディスクから起動しても) そのディスクを 認識しなかったり、インストール中、ディスクの読み込みでエラーを返す可能性もあり ます。 この問題の原因は様々なことが考えられます。一般的な問題を挙げて、一般的な対処法 を提供することしかできません。後はあなた次第です。 まずはじめに試すのは、以下の 2 点です。 • ディスクが起動しない場合、正しく挿入されているか、汚れていないかを確認して ください。 • インストーラがディスクを認識しない場合、次にインストールメディアの検出とマ ウントを試してください。非常に古い CD-ROM ドライブの、DMA に関する問題は、 この方法で解決することが知られています。 これでも動作しない場合、以下の節にあることを試してみてください。ほとんどの (で もすべてではない) 提案は CD-ROM と DVD で有効です。 光学ディスクからインストールができなければ、他のインストール方法も試してみてく ださい。 5.4.1.1. 共通の問題 • 古い CD-ROM ドライブの中には、昨今の CD ライタで使用するような、高速で焼い たディスクからの読み込みをサポートしていない物があります。 • 非常に古い CD-ROM ドライブの中には、「ダイレクトメモリアクセス」 (DMA) が有 効だと、正しく動作しない物があります。 5.4.1.2. 調査および問題解決の方法 光学ディスクが起動に失敗したら、以下のことを試してください。 • BIOS/UEFI が光学ディスクからの起動をきちんとサポートしているか (非常に古い システムでのみ問題あり)、BIOS/UEFI でそのようなメディアからの起動を有効にし ているかをチェックしてください。 • ISO イメージをダウンロードした場合、イメージをダウンロードしたのと同じ場所 にある MD5SUMS に記載されている md5sum と同じかどうかチェックしてください。 $ md5sum debian-testing-i386-netinst.iso a20391b12f7ff22ef705cee4059c6b92 debian-testing-i386-netinst.iso 次に、焼いたディスクの md5sum と一致するかどうかチェックしてください。以下 のコマンドで行います。ディスクから正しいバイト数を読み込むのにイメージのサ イズを利用します。 $ 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 インストーラの起動が成功した後で、ディスクを検出しない場合、単純にリトライする だけで解決することもあります。光学ドライブが複数ある場合、他のドライブに変えて みてください。それでも動作しなかったり、ディスクを認識しても読み込みエラーが発 生する場合は、以下のことを試してみてください。Linux の基礎知識が少し必要です。 コマンドを実行するには、まず第 2 仮想コンソール (VT2) に切り替えて、シェルを有 効にしてください。 • エラーメッセージをチェックするのに VT4 に切り替えたり、/var/log/syslog の内 容を (エディタの nano を使用して) 表示してください。その後、dmesg の出力で もチェックできます。 • 光学ドライブを認識したかを dmesg の出力でチェックしてください。以下のように 見えます。(行は連続している必要はありません) ata1.00: ATAPI: MATSHITADVD-RAM UJ-822S, 1.61, max UDMA/33 ata1.00: configured for UDMA/33 scsi 0:0:0:0: CD-ROM MATSHITA DVD-RAM UJ-822S 1.61 PQ: 0 ANSI: 5 sr0: scsi3-mmc drive: 24x/24x writer dvd-ram cd/rw xa/form2 cdda tray cdrom: Uniform CD-ROM driver Revision: 3.20 以上のように見えなければ、ドライブを接続したコントローラを認識できないか、 おそらくまったくサポートされていません。コントローラに必要なドライバが分か っていれば、modprobe を用い、手で読み込むのを試せます。 • /dev/ にある光学ドライブのデバイスノードをチェックしてください。上の例では 、/dev/sr0 になっています。/dev/cdrom にもあるかもしれません。 • 光学ディスクがすでにマウントされていないか、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 確実に、光学ドライブに一致するデバイスのディレクトリで操作してください。 • インストール中に何か問題があれば、インストーラメインメニューの下の方にある 、インストールメディアの整合性チェックを行ってください。ディスクが確実に読 める場合、このオプションを一般的なテストとして使用できます。 5.4.2. 起動設定 ブートプロセスの最中にカーネルがハングしたり、搭載されている周辺機器やドライブ が正確に認識されないなどの問題が起こったら、まず「起動パラメータ」の説明に従っ て起動パラメータを確認してください。 場合によっては、デバイスのファームウェアがないために動作しないことがあります ( 「ファームウェアが必要なデバイス」や「見つからないファームウェアの読み込み」を 参照)。 5.4.3. カーネルの起動時メッセージの意味 ブートシーケンスの途中で、can't find something (〜が見つからない), something not present (〜が存在しない), can't initialize something (〜を初期化できない), this driver release depends on something (このドライバには〜が必要だ) などのメ ッセージがたくさん出力されることがあります。これらのメッセージのほとんどは無害 です。これらが出力される理由は、インストールシステムのカーネルが、いろいろな周 辺デバイスのできるだけ多くに対応しようとしているからです。そのため、OS が実際に は存在しない周辺機器を探すことになるので、文句を吐くわけです。システムがしばら く止まったように見えることもあります。これはデバイスが反応するのを待っているた めに起こるものです (実際にはそのデバイスは存在しないので、止まってみえるわけで す)。システムの起動に要する時間が堪えがたいほど長い場合は、後で自前のカーネルを 作ることもできます (「新しいカーネルのコンパイル」参照)。 5.4.4. インストールで発生した問題の報告 最初の起動段階は通過したのに、インストールが完了できなかった場合は、メニューか らデバッグログを保存を選択するといいかもしれません。インストーラからのシステム のエラーログや設定情報をストレージメディアに格納したり、web ブラウザでダウンロ ードしたりできるようになります。この情報は、何が間違っていてどのように修正する か、といった手がかりを示しているかもしれません。バグ報告を送る際に、バグ報告に この情報を付けることができます。 その他のインストールメッセージは、インストール中では /var/log/ で、インストール したシステムが起動した後では /var/log/installer/ にあるはずです。 5.4.5. インストールレポートの送信 If you still have problems, please submit an installation report (in English please, whenever possible). We also encourage installation reports to be sent even if the installation is successful, so that we can get as much information as possible on the largest number of hardware configurations. あなたのインストールレポートは、Debian バグ追跡システム (BTS) で公開され、公開 メーリングリストに転送されることに留意してください。必ず、公開されても問題ない e-mail アドレスを使用してください。 動作する Debian システムがある場合、インストールレポートを送る最も簡単な方法は 以下のようになります。installation-report と reportbug パッケージをインストール (apt install installation-report reportbug) し、「システムの外に電子メールを送 る」で説明しているように reportbug を設定して、reportbug installation-reports を実行してください。 Alternatively you can use this template when filling out installation reports, and file the report as a bug report against the installation-reports pseudo package, by sending it to . Package: installation-reports Boot method: Image version: Date: Machine: Processor: Memory: Partitions: Output of lspci -knn (or lspci -nn): Base System Installation Checklist: [O] = OK, [E] = Error (please elaborate below), [ ] = didn't try it Initial boot: [ ] Detect network card: [ ] Configure network: [ ] Detect media: [ ] 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: Please make sure that any installation logs that you think would be useful are attached to this report. (You can find them in the installer system in /var/log/ and later on the installed system under /var/log/installer.) Please compress large files using gzip. In the bug report, describe what the problem is, including the last visible kernel messages in the event of a kernel hang. Describe the steps that you did which brought the system into the problem state. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ^[2] 現在のカーネル (2.6.9 以降) では、コマンドラインオプションを 32 個と環境オ プションを 32 個使用できます。それを越えると、カーネルはパニックしてしまいます 。また、カーネルコマンドライン全体で 255 文字という制限もあります。いずれも、制 限を超えた場合は暗黙のうちに切り詰められる可能性があります。 第6章 Debian インストーラーの使用法 目次 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.3.9. トラブルシューティング 6.3.10. network-console を利用したインストール 6.4. 見つからないファームウェアの読み込み 6.4.1. メディアの準備 6.4.2. ファームウェアとインストールしたシステム 6.4.3. インストールしたシステムの設定を完了する 6.5. カスタム化 6.5.1. 代替 init システムのインストール 6.1. インストーラーの動作 このアーキテクチャでは、インストーラーをテキストベースユーザーインターフェース で使用します。グラフィカルユーザーインターフェースは現在利用できません。 Debian Installer は各インストールタスクを実行するために、たくさんの特定用途コン ポーネントから成ります。各コンポーネントは、必要ならユーザーに質問をして、その タスクを実行します。この質問には優先度が設定されており、この優先度はインストー ラの起動時に設定することができます。 デフォルトのインストールでは、不可欠な (優先度が高い) 質問しかしません。これに より、ユーザーの入力をほとんど行わず、高度な自動インストールを行うことができま す。コンポーネントは自動的に順番に実行されます。どのコンポーネントを実行するか は、主に使用するインストール法やハードウェアに左右されます。インストーラーは、 質問しない項目についてはデフォルト値を使用します。 問題がある場合はエラー画面を表示し、インストーラーメニューに、代替アクションを 選択するように表示するかもしれません。いずれも問題なければ、ユーザーはインスト ールメニューを目にすることはなく、単に順番に各コンポーネントの質問に答えて行く だけでしょう。重大なエラー通知は優先度を「重要」に設定されているため、常に表示 されます。 インストーラーが使用するデフォルト値は、debian-installer の起動時にパラメータで 渡して指定できます。たとえば、強制的に静的ネットワーク設定をしたい場合 (デフォ ルトでは可能なら IPv6 オートネゴシエーションと DHCP を利用)、ブートパラメータに netcfg/disable_autoconfig=true を加えられます。利用できるオプションは「Debian Installer パラメータ」を参照してください。 パワーユーザーは、メニュードリブンインターフェース (自動で順に各ステップを実行 するインストーラーではなく、ユーザーが各ステップを制御する) の方が、満足するか もしれません。手動 (メニュー駆動) でインストーラーを使用するには、起動引数に priority=medium を加えてください。 ハードウェアをインストールする際に、オプションをカーネルモジュールへ渡す必要が ある場合、「エキスパート」モードでインストーラーを起動する必要があります。これ は、インストーラーを起動するコマンドに expert を使用する、あるいは起動引数に priority=low を加えることで行います。エキスパートモードでは debian-installer を フルコントロールできます。 テキストベース環境では、マウスはサポートされていません。ここでは、様々なダイア ログでナビゲートするキーを紹介します。ボタンや選択肢が表示されている間は、Tab キーや右矢印は「前方」へ、Shift+Tab や左矢印は「後方」へ移動します。上下矢印は 、スクロールするリスト内の項目を選択し、またリスト自体もスクロールさせます。さ らに、長いリストでは、タイプした文字で始まる項目に直接スクロールしますし、リス トのスクロールに Pg-Up や Pg-Down も使用できます。スペースバーは、チェックボッ クスのような項目を選択します。選択肢を有効にするには Enter を使用してください。 ダイアログには、追加ヘルプ情報があるものがあります。ヘルプがある場合、画面の最 下行に表示されています。F1 キーを押してアクセスできます。 エラーメッセージとログは第 4 コンソールにリダイレクトされます。このコンソールへ は左 Alt+F4 (左 Alt キーを押しながら F4 ファンクションキーを押す) を押してアク セスしてください。左 Alt+F1 で、メインのインストーラープロセスに戻ります。 これらのメッセージは /var/log/syslog で見つけることもできます。インストールの後 、このログはあなたの新システムの /var/log/installer/syslog にコピーされます。他 のインストールメッセージは、インストール中には /var/log/ に、インストールしたシ ステムでコンピュータが起動した後には /var/log/installer/ にあります。 6.2. コンポーネント入門 ここではインストーラーコンポーネントを各コンポーネントの簡単な説明を添えて一覧 します。特定のコンポーネントを使用するにあたり、知る必要があるかもしれない詳細 は「それぞれのコンポーネントの使用法」にあります。 main-menu インストーラーの操作中にユーザーにコンポーネントのリストを見せ、選択された コンポーネントを起動します。main-menu では質問の優先度が「中」に設定されて います。そのため、優先度が「高」や「重要」(デフォルトは「高」) に設定されて いる場合は、メニューを見ることはないでしょう。一方、あなたの入力が必要なエ ラーが起きた場合、その問題を解決するために、質問の優先度が一時的に格下げさ れるかもしれません。その場合、メニューが表示される可能性があります。 現在実行しているコンポーネントから抜けるために、Go Back ボタンを繰り返し選 択してメインメニューに戻れます。 localechooser インストール中・インストールしたシステムの、地域オプション (言語、国、ロケ ール) の選択を行います。インストーラーは選択した言語でメッセージを表示しま すが、その言語でのメッセージの翻訳が完了していない場合は、英語で表示します 。 console-setup キーボード (レイアウト) のリストを表示します。お持ちのキーボードモデルに一 致するものを選択してください。 hw-detect システムのほとんどのハードウェアを自動検出します。これには、ネットワークカ ード、ディスクドライブ、PCMCIA が含まれます。 cdrom-detect Debian インストールメディアを探しマウントします。 netcfg インターネットへ通信できるように、コンピュータのネットワーク接続を設定しま す。 iso-scan ハードディスクにある ISO イメージ (.iso ファイル) を探します。 choose-mirror Debian アーカイブミラーのリストを表示します。インストールするパッケージの取 得元を選択できるでしょう。 cdrom-checker インストールメディアの整合性チェック。これにより、インストールイメージが壊 れていないか自分で保証できます。 lowmem lowmem はシステムの搭載するメモリが少ないかを確認し、少なければ debian-installer の不必要な部分を、メモリから (いくつかの機能を犠牲にして) 削除する様々なトリックを行います。 anna Anna's Not Nearly APT. (Anna はちっとも APT (適切) じゃない) 選択したミラー サーバーやインストールメディアから、パッケージを取得してインストールします 。 user-setup root パスワードの設定や、root 以外のユーザーの追加を行います。 clock-setup システム時計を更新して、時計を UTC にあわせるかどうかを決定します。 tzsetup あらかじめ選択した場所を元に、タイムゾーンを選択します。 partman システムの内蔵ディスクを分割し、選択したパーティションのファイルシステムを 作成し、マウントポイントにそのファイルシステムをマウントすることができます 。完全自動モードや LVM サポートといったさらに面白い機能があります。これは Debian での好ましいパーティション分割ツールです。 partman-lvm LVM (Logical Volume Manager) の設定について、ユーザーの補助を行います。 partman-md ソフトウェア RAID (Redundant Array of Inexpensive Disks) の設定をユーザーに 許可します。このソフトウェア RAID は、新しめのマザーボードに見られる、安い IDE (疑似ハードウェア) RAID コントローラより通常優秀です。 base-installer 再起動時に、コンピュータが Debian GNU/Linux として動作するための、もっとも 基本的なパッケージセットをインストールします。 apt-setup インストーラーを起動したメディアを元に、ほとんど自動で apt の設定を行います 。 pkgsel 追加ソフトウェアをインストールするのに tasksel を使用します。 os-prober コンピュータに現在インストールされている OS を検出し、この情報を (bootloader のスタートメニューに発見した OS を加える機能を提供する) bootloader-installer へ渡します。これは、起動時にどの OS で起動するかを、ユ ーザーが簡単に決める方法です。 bootloader-installer 様々なブートローダインストーラーがそれぞれ、ハードディスクにブートローダプ ログラムをインストールします。これは、USB メモリや CD-ROM を使用しないで Linux を起動するのに必要です。ブートローダの多くは、コンピュータが起動する ごとに代替オペレーティングシステムを選ぶことができます。 shell メニューから、もしくは第 2 コンソールで shell を実行できます。 save-logs 後で Debian 開発者へ、インストーラーソフトウェアの障害を正確に報告するため に、障害に遭遇した際の、USB メモリ、ネットワーク、ハードディスク、その他メ ディアに情報を記録する方法を提供します。 6.3. それぞれのコンポーネントの使用法 本節では、各インストーラーコンポーネントの詳細について述べていきます。コンポー ネントは、ユーザーに認識できる段階へグループ化されました。それらは、install 中 に現われる命令の形で示されます。すべてのモジュールを、インストール時に使用する とは限らない、ということに注意してください。どのモジュールを実際に使用するかは 、使用するインストール法やハードウェアに左右されます。 6.3.1. Debian インストーラーのセットアップとハードウェアの設定 Debian インストーラーが起動して、最初の画面が表示されているとしましょう。このと き、debian-installer の機能はまだ制限されています。ハードウェア、希望する言語、 実行するタスクなどに関しても、まだ知りません。しかし心配しないでください。 debian-installer は非常に賢いので、ハードウェアの自動検出をしたり、コンポーネン トの残りを見つけたり、高性能なインストールシステムに自分自身をアップグレードす ることができます。しかし、(希望する言語、キーボードレイアウト、使用するネットワ ークミラーの選択のように) いくつかのタスクでは自動で決められませんので、 debian-installer を助けてあげる必要があります。 この段階で debian-installer がハードウェア検出を数回行うことに気がつくことでし ょう。最初の検出では、インストーラーのコンポーネントをロードするのに欠かせない ハードウェア (例: CD-ROM ドライブやネットワークカード) を認識することが目標です 。初回の実行ですべてのドライバが使用可能になるわけではないので、ハードウェア検 出をこのプロセスの後で繰り返す必要があります。 ハードウェア検出の間、debian-installer はシステムにあるハードウェアデバイスのド ライバが、ファームウェアを読み込む必要があるかをチェックします。ファームウェア が必要なのに利用できない場合は、リムーバブルメディアから見つからないファームウ ェアを読み込むダイアログを表示します。詳細は「見つからないファームウェアの読み 込み」をご覧ください。 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 に変更できます。 インストーラーに「Debian Installer パラメータ」で説明している「lowmem」ブートパ ラメータを使用すると、利用可能なメモリを元にした lowmem レベルよりも高いレベル にできます。 6.3.1.2. 地域オプションの選択 ほとんどの場合、最初の質問はインストール中とインストールしたシステム双方の、地 域オプションの選択に関することです。地域オプションは、言語、場所、ロケールから なっています。 異なるダイアログの翻訳が利用できるなら、選んだ言語をインストールプロセスの残り で使用できます。選択した言語で、有効な翻訳が利用できなければ、インストーラーは 自動的に英語になります。 選択した地理的位置 (ほとんどの場合で国) は、インストールプロセスの後半で、デフ ォルトのタイムゾーンの抽出と、その国に適切な Debian ミラーサイトの抽出に使用し ます。言語と国は、ともにシステムのデフォルトロケールの決定や、正しいキーボード レイアウトの選択を支援します。 最初に好みの言語を選択することになります。言語名は英語 (左側) と原語 (右側) の 両方で表示しています。右側の名称は、その言語そのもので書かれた表記です。このリ ストは英語名順に並んでいます。このリストの先頭には言語の代わりに「C」ロケールを 選択する追加オプションもあります。「C」ロケールを選択するとインストールプロセス は英語で行われます。また、インストールしたシステムには locales パッケージがイン ストールされず、いずれの地域もサポートしません。 次は地理的な場所を選択するよう求められます。言語選択時に、その言語が複数の国で 公用語とされている場合^[3]、その国だけのリストを表示します。そのリストにない国 を選択する場合、その他 (最後の選択肢) を選択してください。すると、大陸のリスト を表示します。大陸を選択すると、関連する国のリストを表示します。 言語に対して国がひとつしかない場合、国のリストには、その国が属する大陸か地域を 表示し、その国をデフォルトで選択状態とします。別の大陸にある国を選択したければ 、Go Back を選択してください。 注記 インストールしたシステムのタイムゾーンを設定するため、あなたが住む、ないし設置 する国を選択することが重要です。 ロケールが定義されていない言語と国の組み合わせを選択して、その言語に複数のロケ ールが存在する場合、インストールしたシステムのデフォルトロケールを、その中から 選ぶことになります^[4]。そうでなければ、デフォルトロケールは選択した言語と国を もとに選択されます。 前の段落で説明したように選択されたデフォルトロケールは、文字コードに UTF-8 を使 用します。 優先度低でインストールしている場合、追加ロケール (いわゆる「レガシー」ロケール^ [5]を含む) を選択して、インストールしたシステム用に生成できます。この場合、選択 したロケールの中からどれをデフォルトロケールにするか尋ねられます。 6.3.1.3. キーボード選択 キーボードは、しばしば言語で使用する文字に合わされています。使用しているキーボ ードに一致するレイアウトを選択するか、希望のキーボードレイアウトが表示されなけ れば、近いものを選択してください。いったんシステムのインストールが完了すれば、 もっと広い範囲からキーボードレイアウトを選ぶことができます (インストールが完了 した後に、root で dpkg-reconfigure keyboard-configuration を実行してください)。 希望のキーボードにハイライトを移動させて、Enter を押してください。ハイライトの 移動には矢印キーを使用してください。どの言語のキーボードでも同じ場所にあるため 、キーボードの設定に依存しません。 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 コンソール 上でチェックできます。 ISO イメージをホストするパーティション (またはディスク) はインストーラーで利用 されているので、インストールプロセス中に再利用できない点にご注意ください。これ の回避策としては、十分なシステムメモリがある場合ですが、インストーラーが ISO イ メージをマウントする前に RAM にコピーできます。これは low priority の iso-scan/ copy_iso_to_ram debconf 設定で管理されています (メモリ要件が合致した場合のみ尋 ねられます)。 6.3.1.5. ネットワークの設定 このステップに入って、ネットワークデバイスが 1 つ以上あることをシステムが検出す ると、どのデバイスを主要 (つまりインストールに使用する) ネットワークインターフ ェースとするか質問されます。その他のインターフェースはここでは設定しません。イ ンストールが完了したところで、さらにインターフェースを設定できるでしょう。 interfaces(5) man ページを参照してください。 6.3.1.5.1. 自動ネットワーク設定 デフォルトでは、debian-installer はコンピュータのネットワークを、可能な限り自動 的に設定しようとします。自動設定に失敗した場合、ネットワークケーブルが繋がって いないことから、自動設定用のインフラが見つからないことまで、幅広い原因が考えら れます。エラー発生時に何が起きたかを確認するには、4 番目のコンソールに表示する エラーメッセージをチェックしてください。いずれの場合も、再実行するか、手動設定 を実行するか、を質問されます。自動設定に使用するネットワークサービスは、時にそ のレスポンスが遅いことがあります。そのため、適切な場所にあるかどうか確認してか ら、自動設定を再実行してください。繰り返し自動設定に失敗する場合、手動でネット ワークの設定を行なってください。 6.3.1.5.2. 手動ネットワーク設定 ネットワークの手動設定では、ネットワークについて、いくつか質問をしてきます。特 に、IP アドレス、ネットマスク、ゲートウェイ、ネームサーバーのアドレス、ホスト名 について質問します。さらに、無線ネットワークインターフェースがあるなら、無線 ESSID (「無線ネットワーク名」) と WEP キーや、WPA/WPA2 パスフレーズを質問します 。「必要な情報」より回答を入力してください。 注記 わかりやすいかどうかはともかく、技術的詳細は以下のようになります。このプログラ ムは、システムの IP アドレスとネットマスクのビット積を、ネットワーク IP アドレ スとします。デフォルトのブロードキャストアドレスは、システムの IP アドレスと、 ネットマスクのビット否定とのビット和から計算します。同様にゲートウェイも推測し ます。どのような値を設定するのかよくわからなければ、デフォルト値を使用してくだ さい。一度システムをインストールした後で、必要に応じて /etc/network/interfaces を編集して変更できます。 6.3.1.5.3. IPv4 と IPv6 Debian GNU/Linux 7.0 (「Wheezy」) 以降から、debian-installer は IPv6 を「クラシ ックな」 IPv4 と同様にサポートしています。IPv4 と IPv6 のすべての組み合わせ (IPv4 のみ、IPv6 のみ、デュアルスタック構成) をサポートします。 IPv4 の自動設定は、DHCP (ダイナミックホストコンフィギュレーションプロトコル) を 用いて行います。IPV6 の自動設定は、NDP (リカーシブDNSサーバー (RDNSS) の任務に 含まれる近隣者発見プロトコル) を用いたステートレス自動設定と、DHCPv6 を用いたス テートフル自動設定、ステートレス・ステートフル混合 (アドレスの設定を NDPで、追 加パラメータを DHCPv6 で行う) 自動設定をサポートします。 6.3.2. ユーザーとパスワードのセットアップ クロックの設定直前に、インストーラーは「root」アカウントや、最初のユーザーアカ ウントのセットアップを行います。その他のユーザーアカウントは、インストール完了 後に作成してください。 6.3.2.1. root パスワードの設定 root アカウントは、ログインするとシステムのすべてのセキュリティ保護をバイパスし てしまうので、スーパーユーザーとも呼ばれています。root アカウントはシステム管理 のみに使用し、可能な限り短時間使用するのみにすべきです。 作成するパスワードは、少なくとも 6 文字以上で、大文字小文字、カンマやピリオドを 混ぜるべきです。root パスワードを設定するときには、強力なアカウント故に特別注意 を払ってください。辞書にある単語や推測される個人情報を使用するのは避けてくださ い。 誰であっても、root パスワードが必要だと言う人がいる場合には、殊更に用心してくだ さい。他のシステム管理者と共に機械の管理をしているのでなければ、root パスワード を教える必要は、通常決してありません。 ここで「root」ユーザーのパスワードを指定しなかった場合ですが、このアカウントは 無効になりますが、新しいシステム上で管理作業が実施できるよう、後ほど sudo パッ ケージがインストールされます。デフォルトでは、システムで作成された最初のユーザ ーが root になるのに sudo コマンドを使えます。 6.3.2.2. 一般ユーザーの作成 システムは、この時点で一般ユーザーアカウントを作成するかどうか質問します。この アカウントを、個人でログインする場合のメインアカウントにするべきでしょう。root アカウントを日常的に使用したり、個人的な用途でログインするべきではありません。 なぜいけないのでしょう? root 権限を使用しないようにする理由のひとつは、root に より簡単に取り返しのつかない損害を与えられるということです。他には、だまされて トロイの木馬 (あなたに隠れ、スーパーユーザー権限を利用してシステムに感染するプ ログラム) を動かしてしまうということもあり得ます。UNIX システム管理に関するいず れの良書でも、この件に関して詳細に扱っています。今までご存じなければ、ご一読く ださい。 まず初めに、ユーザーのフルネームの入力を求められます。次にユーザーアカウントの 名前を求められます。一般的にファーストネームか、必要充分な名前に似た何かがデフ ォルトになります。最後にこのアカウントのパスワードを求められます。 インストール後いつでも、別のアカウントを作成する場合は、adduser コマンドを使用 してください。 6.3.3. 時計とタイムゾーンの設定 インストーラーはまず、正しいシステム時計を設定するため、インターネットのタイム サーバーに (NTP プロトコルを利用して) 接続しようとします。これが成功しない場合 、インストールシステムが起動したときのシステム時計を正しいと見なします。インス トールプロセス中に、手動でシステム時計を設定することはできません。 インストール処理のはじめの方で選択した所在地をもとに、その場所に関連するタイム ゾーンの一覧を表示します。あなたの所在地にタイムゾーンがひとつしかなく、デフォ ルトインストールを行っている場合、システムは一覧を表示せず、そのタイムゾーンで あると仮定します。 エキスパートモードや優先度中でインストールしている場合、タイムゾーンに「協定世 界時」 (UTC) を使用する、という選択肢が追加されます。 何らかの理由で、インストールしたシステムのタイムゾーンを、選択した場所とは異な るものにしたい場合は、2 つの選択肢があります。 1. シンプルな方法は、インストールが完了し、新しいシステムが起動した後で、異な るタイムゾーンを選択することです。以下のようなコマンドになります。 # dpkg-reconfigure tzdata 2. その他には、インストールシステムの起動時に、パラメータ time/zone=value を渡 すと、インストールの最初からタイムゾーンを設定できます。もちろん値は妥当な タイムゾーン (例えば Europe/London や UTC) であるべきです。 自動インストール用に、preseed を用いて、タイムゾーンをお好みの値に設定できます 。 6.3.4. パーティションの分割とマウントポイントの選択 最後のハードウェア検出が完了した時点で、debian-installer はユーザーのニーズ通り にカスタマイズされ、実際の作業ができるような、準備万端の状態にあります。本節の タイトルが表すように、以下、少数のコンポーネントの主なタスクは、ディスクのパー ティションを分割し、ファイルシステムを作成し、マウントポイントを割り当てて、LVM や RAID、暗号化デバイスのような密接に関係する件のオプション設定を行うことです。 パーティション分割に不安があったり、詳細を知りたければ、付録C Debian でのパーテ ィション分割をご覧ください。 最初に、ドライブのすべてか、またはドライブの有効な空き領域を、自動的にパーティ ション分割するか選択する機会が与えられます。これを「ガイド」パーティション分割 とも呼びます。自動分割を望まなければ、手動を選んでください。 6.3.4.1. サポートするパーティション分割オプション debian-installer で使用するパーティション分割ツールは、かなり万能です。これによ り、さまざまなパーティションテーブル、ファイルシステム、高度ブロックデバイスを 用いて、たくさんの異なるパーティション構成を作成できます。 厳密に、どのオプションが利用できるかは、主にアーキテクチャに依存しますが、その 他の要因もあります。例えば、内部メモリが制限されたシステムでは、いくつかのオプ ションは使用できないでしょう。さらにデフォルトも変わるかもしれません。例えば、 大容量ハードディスクに対する、デフォルトのパーティションテーブルのタイプは、よ り小さいハードディスクのものと異なっている場合があります。debconf 優先度が中な いし低でインストールしているときのみ、いくつかのオプションを変更できます。もっ と高い優先度の場合は、実用的な値がデフォルトで使用されます。 インストーラーは、さまざまな形の高度なパーティションやストレージデバイスを (ほ とんどの場合組み合わせて)、サポートします。 • 論理ボリュームマネージメント • ソフトウェア RAID サポートしている RAID レベルは 0, 1, 4, 5, 6, 10 です。 • 暗号化 • マルチパス (実験的) 情報は私たちの Wiki をご覧ください。現在のところ、マルチパスはインストーラ ー起動時に有効にした場合にのみ利用できます。 以下のファイルシステムをサポートしています。 • ext2r0、 ext2、ext3、 ext4 ほとんどの場合、デフォルトのファイルシステムに ext4 が選択されています。ガ イドパーティション分割を使用する際、/boot パーティションのデフォルトには ext2 が選択されます。 • jfs (全アーキテクチャで使用できるわけではありません) • xfs (全アーキテクチャで使用できるわけではありません) • reiserfs (オプション。全アーキテクチャで使用できるわけではありません) Reiser ファイルシステムは、もはやデフォルトではサポートされません。インスト ーラが、中ないし低 debconf 優先度で動作させると、partman-reiserfs コンポー ネントを選択して有効にできます。バージョン 3 のみサポートします。 • jffs2 フラッシュメモリを読むために、ある種のシステムで使用します。新しい jffs2 パ ーティションは作成できません。 • FAT16, FAT32 6.3.4.2. ガイドパーティション分割 ガイドパーティション分割を選択した場合、選択肢が 3 つあります。ハードディスクに 直接パーティションを作成する (クラシック) 方法、論理ボリューム管理 (LVM) を利用 する方法、暗号化 LVM^[6] を利用する方法です。 注記 (暗号化 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, /var and /tmp partitions│1GB │/, /home, /var, /tmp, swap│ └────────────────────────────────────────┴────────┴──────────────────────────┘ (暗号化) LVM を利用するガイドパーティション分割を行うと決めた場合、インストーラ は独立した /boot パーティションも作成します。スワップパーティションを含むその他 のパーティションは、LVM パーティションの内部に作成します。 分割案を選択後、新しいパーティションテーブルが次の画面に表示されます。ここでは 、パーティションがどのようにフォーマットされるか、どこにマウントされるかといっ た情報が含まれています。 パーティション一覧は以下のようになります。 SCSI1 (0,0,0) (sda) - 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 SCSI2 (1,0,0) (sdb) - 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 ext4 / #6 logical 1.0 GB f ext3 /var #7 logical 498.8 MB ext3 この例では、2 つのハードディスクを、いくつかのパーティションに分割しています。 第 1 ディスクには空き領域がいくらかあります。パーティション行ごとに、パーティシ ョン番号、パーティションタイプ、サイズ、追加フラグ、ファイルシステム、マウント ポイントを (あれば) 表示しています。注意: こういった詳細なセットアップはガイド パーティション分割では行えませんが、手動パーティション分割で使用できる変化を示 します。 これでガイドパーティション分割を終えます。生成されたパーティションテーブルでよ ければ、(本節の最後に書かれているように) 新しいパーティションテーブルを反映する よう、パーティショニングの終了とディスクへの変更の書き込みをメニューから選べま す。そうでなければ、もう一度ガイドパーティション分割をしたり、以下に述べる手動 パーティション分割で提案する変更を修正するのにパーティションへの変更を元に戻す を選択し、ガイドパーティション分割を再実行してください。または、以下に述べる手 動パーティション分割で修正してください。 6.3.4.3. 手動パーティション分割 手動パーティション分割を選択すると、既存のパーティションテーブルがマウントポイ ントなしで表示されるのを除き、前述と同様の画面が表示されます。パーティションテ ーブルの手動セットアップの方法と、新しい Debian システムでのパーティションの使 用法については、本節の残りで扱います。 パーティションも空き領域もない、素のハードディスクを選択すると、新しいパーティ ションテーブルを作成するか確認されます (新しいパーティションを作成するのに必要) 。すると選択したディスクのパーティションテーブルに、「FREE SPACE」 (空き領域) という新しい行が現れます。 空き領域を選択すると、新しいパーティションを作成できるようになります。サイズや タイプ (基本か論理か)、場所 (空き領域の先頭からか最後からか) といった、一連の簡 単な質問に答えなければなりません。この後、新しいパーティションの詳細な概要が得 られます。主な設定は、ファイルシステムがパーティションにある場合、スワップ、ソ フトウェア RAID、LVM、暗号化ファイルシステムとして使うか、全く使わないかを決定 する利用方法: です。その他には、マウントポイントやマウントオプション、起動フラ グといったパーティションの使用法に依存した設定があります。あらかじめ選択された デフォルト値が気に入らなければ、自由にお好みのものへと変更してください。例えば 、オプション利用方法: を選択すると、スワップ、ソフトウェア RAID、LVM、またそれ 以外のファイルシステムに、このパーティションを変更できます。新しいパーティショ ンに満足したら、パーティションのセットアップを終了を選択して、partman のメイン 画面に戻ってください。 パーティションに対して変更を加えたい場合は、単にそのパーティションを選択して下 さい。パーティションの設定メニューに入れます。新しいパーティションを作成する際 に使用するのと同じ画面ですので、同様に設定を変更できます。一見わかりづらいのは 、表示されているパーティションのサイズを選択して、サイズ変更ができることです。 動作することがわかっているファイルシステムは、少なくとも fat16, fat32, ext2, ext3, swap です。このメニューではパーティションを削除することもできます。 少なくとも 2 つのパーティションを必ず作成してください。1 つは swap で、もう 1 つは (/ にマウントする) ルートファイルシステムです。ルートファイルシステムをマ ウントし忘れると、この問題を修正するまで partman は先に進みません。 partman の機能は、インストーラーモジュールで拡張できますが、システムのアーキテ クチャに依存します。あるはずの機能を確認できなければ、すべての必要なモジュール が読み込まれているか確認してください。(例: partman-ext3, partman-xfs, partman-lvm) パーティション分割に満足したら、パーティション分割メニューからパーティショニン グの終了とディスクへの変更の書き込みを選択してください。ディスクに行われる変更 内容が表示され、その通りファイルシステムを作成するかどうか確認することになりま す。 6.3.4.4. マルチディスクデバイス (ソフトウェア RAID) の設定 コンピュータに複数ハードディスクドライブがある^[7]なら、ドライブのパフォーマン スの向上やデータの信頼性向上のために partman-md を使用できます。この結果をマル チディスクデバイス (ソフトウェア 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 より書き込み操作が少し遅いかも しれません。 RAID6 RAID6 はパリティデバイスが 1 つではなく 2 つであるという点を除き、RAID5 と 似ています。 RAID6 アレイは、2 つのディスクが故障するまで存続できます。 RAID10 RAID10 はストライピング (RAID0) とミラーリング (RAID1) を組み合わせたもので す。格納データの n 個のコピーを作成し、パーティションをまたがって分配するた め、同じデバイスに同じデータを格納することはありません。n のデフォルト値は 2 ですが、エキスパートモードで別の値を設定できます。使用するパーティション の数は、少なくとも n 個必要です。RAID10 はコピーを分配するために、様々なレ イアウトを用意しています。デフォルトは near コピーです。near コピーは、全デ ィスクにおいて同一のオフセットで全てのコピーを分配します。far コピーは、全 ディスクにおいて異なるオフセットで全てのコピーを分配します。offset コピーは 、個々のコピーではなく、ストライピングしたものをコピーします。 RAID10 はパリティを計算するという難点を回避しつつ、信頼性と冗長性を確保する のに使用できます。 まとめると以下のようになります。 ┌──────┬───────────┬───────┬──────────────┬───────────────────────────────────┐ │タイプ│デバイス最 │予備デ │ディスク破損に│ 利用可能領域 │ │ │ 小構成数 │バイス │ 耐えるか? │ │ ├──────┼───────────┼───────┼──────────────┼───────────────────────────────────┤ │RAID0 │2 │no │no │RAID にある最小パーティションのサイ│ │ │ │ │ │ズ×デバイス数 │ ├──────┼───────────┼───────┼──────────────┼───────────────────────────────────┤ │RAID1 │2 │任意 │yes │RAID にある最小パーティションのサイ│ │ │ │ │ │ズ │ ├──────┼───────────┼───────┼──────────────┼───────────────────────────────────┤ │RAID5 │3 │任意 │yes │RAID にある最小パーティションのサイ│ │ │ │ │ │ズ×(デバイス数 - 1) │ ├──────┼───────────┼───────┼──────────────┼───────────────────────────────────┤ │RAID6 │4 │任意 │yes │最小パーティションのサイズ×(RAID に│ │ │ │ │ │あるデバイス数 - 2) │ ├──────┼───────────┼───────┼──────────────┼───────────────────────────────────┤ │RAID10│2 │任意 │yes │全パーティションサイズ÷チャンクのコ│ │ │ │ │ │ピー数 (デフォルトは 2) │ └──────┴───────────┴───────┴──────────────┴───────────────────────────────────┘ ソフトウェア RAID に関して、もっと知りたい場合は Software RAID HOWTO をご覧くだ さい。 MD デバイスを作成するには、RAID で使うための (これは利用方法: → RAID の物理ボリ ュームを選択して出てくる、パーティション設定メニューの partman で行えます) 注記 計画しているパーティション分割方式で、システムがブートできることを確認してくだ さい。通常、ルート (/) ファイルシステムに RAID を使用する際には、/boot を独立し たファイルシステムにする必要があります。ほとんどのブートローダは、ミラーリング した (ストライピングではなく!) RAID1 をサポートしています。そのため、/ に RAID5 を用い、/boot に RAID1 を用いる例が選択したり得ます。 次にメインの partman メニューからソフトウェア RAID の設定を選んでください。(こ のメニューは、少なくともパーティションをひとつ RAID の物理ボリュームとしてマー クしないと表示されません) partman-md の最初の画面では、単に MD デバイスの作成を 選択してください。サポートされる MD デバイスのリストも提供されます。この中から 1 つ (例: RAID1) を選択してください。その後は選択した MD デバイスに依存します。 • RAID0 は単純です。利用可能な RAID パーティションの一覧が提供されますので、 単に MD にするパーティションを選択してください。 • RAID1 は少しトリッキーです。まず MD にするアクティブなデバイスの数、スペア デバイスの数を入力します。次に利用可能な RAID パーティションの一覧からアク ティブのもの、次にスペアのものを選ぶ必要があります。選択したパーティション の数と先ほど入力した数は一致しなければなりません。心配しないでください。間 違って違う数のパーティションを選択した場合、debian-installer は問題を修正す るまで、先に進ませません。 • RAID5 では、少なくとも 3 つのアクティブパーティションを使用する必要があると いう例外を除き、RAID1 と同様のセットアップ手順を行います。 • RAID6 では、少なくとも 4 つのアクティブパーティションを使用する必要があると いう例外を除き、RAID1 と同様のセットアップ手順を行います。 • RAID10 もまた、エキスパートモードであることを除き、RAID1 と同様のセットアッ プ手順を行います。エキスパートモードでは、debian-installer はレイアウトにつ いて確認します。レイアウトは 2 段階に分かれています。第 1 段階はレイアウト タイプです。n (near コピー)、f (far コピー)、o (offset コピー) のどれかにな ります。第 2 段階はデータから作るコピーの数です。少なくとも、コピーをすべて 異なるディスクに分配するには、たくさんのアクティブデバイスがなければなりま せん。 同時に数種の MD を持つことは完全に可能です。例えば、3 つの 200GB の MD 専用ドラ イブがあって、どれも 2 つの 100GB のパーティションに分かれている場合、3 つのド ライブすべての最初のパーティションを RAID0 (高速な 300GB のビデオ編集パーティシ ョン) で結合でき、その他の 3 つのパーティション (アクティブ 2 基、スペア 1 基) を RAID1 (/home 用に信頼できる 100GB のパーティション) で結合できます。 お好みの通りに MD デバイスの設定をした後で、完了 partman-md として partman に戻 れます。新しい MD デバイスにファイルシステムを作成し、マウントポイントなどの通 常の属性を設定してください。 6.3.4.5. 論理ボリュームマネージャ (LVM) の設定 システム管理者や「上級」ユーザーとしてコンピュータを動かしていると、ディスク内 のあるパーティション (たいてい最も重要なもの) が足らなくなり、他のパーティショ ンは全体的にあまり使用されていないという状況が確実にあります。このような場合は 、内容を移動したりシンボリックリンクを張るといった管理を行うことになります。 上記のような状況を避けるために、論理ボリュームマネージャ (LVM) を利用できます。 簡単に言うと、LVM では複数のパーティション (LVM 用語で物理ボリューム (physical volumes)) を仮想ディスク (いわゆるボリュームグループ (volume group)) の形に結合 でき、このディスクを仮想パーティション (論理ボリューム (logical volumes)) に分 割できます。ポイントは、論理ボリュームは (もちろんその下のボリュームグループも) 、複数の物理ディスクをまたがって定義できると言うことです。 例えば、古い 160GB の/home パーティションに、もっと容量を追加することを考えます 。単にあなたは新しい 300GB のディスクをコンピュータに追加し、既存のボリュームグ ループに入れます。その後 /home ファイルシステムを保持したまま論理ボリュームをリ サイズします。するとほら、パーティションが 460GB へと新品交換されたので、ユーザ ーの空き容量がすこしばかり増えたことになります。もちろんこの例は少し単純にしす ぎです。まだ読んでいないようなら、LVM HOWTO を調べるべきです。 debian-installer での LVM のセットアップはかなりシンプルで、partman 内部で完全 にサポートしています。始めに、パーティションを LVM の物理ボリュームとして使用す るよう、マークをつけねばなりません。これは、パーティション設定メニューの partman 内で利用方法: → LVM の物理ボリュームを選ぶことで行います。 警告 注意: 新規の LVM 設定は LVM タイプコードがマークされた全てのパーティション上の 全データを破壊します。そのため、既にディスク上に LVM があってそのマシンへ Debian を追加インストールしたい場合、古い (既存の) LVM は消去されます! 同じこと が (何らかの理由で) 誤って LVM タイプコードがマークされているものの、別のものが 含まれている場合 (例えば暗号化ボリューム) のパーティションにも言えます。新たに LVM 設定を実施する前にその様なディスクをシステムから取り除きましょう! メインの partman 画面に戻ると、論理ボリュームマネージャの設定が新しく選択できる ようになっています。これを選択すると、まず決定していないパーティションテーブル への変更 (があれば) 確認を行い、その後 LVM 設定メニューを表示します。メニューの 上部には LVM 設定の概要を表示します。メニュー自体はそのときに実行できる操作のみ 表示します。行える操作は以下の通りです。 • 設定の詳細表示: LVM デバイスの構造、論理ボリュームの名称やサイズなどを表示 します • ボリュームグループの作成 • 論理ボリュームの作成 • ボリュームグループの削除 • 論理ボリュームの削除 • ボリュームグループの拡張 • ボリュームグループの縮小 • 完了: メインの partman 画面に戻ります はじめにボリュームグループを作成し、その中に論理ボリュームを作成するのに、この メニューのオプションを使用してください。 メインの partman 画面に戻ると、作成した論理ボリュームが通常のボリュームと同じよ うに表示されています (そして同じように扱えます)。 6.3.4.6. 暗号化ボリュームの設定 debian-installer では暗号化パーティションを設定できます。暗号化パーティションに 保存したファイルはすべて、暗号化した形で即座にデバイスに書き込まれます。暗号化 したデータへのアクセスは、暗号化パーティションを作成した際に設定したパスフレー ズを入力した後で有効になります。この機能は、ノート PC やハードディスクが盗難に 遭った際に、機密データを保護するのに便利です。盗人がハードディスクの物理データ にアクセスしようとする際、正しいパスフレーズを知らないと、ハードディスクのデー タはランダムな文字列にしか見えません。 暗号化するのに最重要なパーティションが 2 つあります。個人的なデータを格納する home パーティションと、操作中に機密データを一時的に格納する swap パーティション です。もちろん、その他のパーティションの暗号化を妨げるものはなにもありません。 たとえば、データベースサーバー、メールサーバー、プリンタサーバーがそれぞれファ イルを格納する /var や、様々なプログラムが、潜在的に興味深い一時ファイルを作成 する /tmp です。システム全体を暗号化したいと考える方もいます。一般にここで暗号 化をしない方がよい唯一の例外パーティションは、/boot パーティションです。歴史的 に、暗号化されたパーティションからカーネルを起動する方法がなかったためです。 (GRUB は暗号化されたパーティションから起動できるようになりましたが、 debian-installer は現在暗号化された /boot からの起動をネイティブにサポートして いません。そのため設定は別の文書で取り扱っています。) 注記 データの読み書き時に常に暗号化・復号を行うため、暗号化パーティションのパフォー マンスは、暗号化していないものよりも低下する事に注意してください。パフォーマン スは、CPU のスピード、選択した暗号方式、暗号化キーの長さに影響を受けます。 暗号化を用いるには、メインパーティションメニューで空き領域を選択して、新しいパ ーティションを作成する必要があります。他には既存のパーティション (例、通常のパ ーティション、LVM 論理ボリューム、RAID ボリューム) を選択するという手もあります 。パーティション設定メニューの、利用方法: で暗号化の物理ボリュームを選択する必 要があります。そうすると、メニューにパーティションを暗号化するオプションが追加 されます。 debian-installer でサポートしている暗号化方法は dm-crypt (新しめの Linux カーネ ルに収録されていて LVM 物理ボリュームをホストできる) です。 暗号化するにあたり Device-mapper (dm-crypt) を選択した場合に利用できるオプショ ンを見ていきましょう。いつものように、よく分からなければデフォルト値を指定して ください。セキュリティを念頭に置いて選択されています。 Encryption: aes このオプションで、パーティションのデータを暗号化するのに使用する、暗号化ア ルゴリズム (暗号方式) を選択します。現在、debian-installer は以下の暗号方式 をサポートしています。aes, blowfish, serpent, twofish です。それぞれのアル ゴリズムの品質についての議論は、この文書の範疇を越えてしまいますが、以下は あなたの決断の助けになるかもしれません。AES は、2000 年に米国商務省標準技術 局により、21 世紀の機密情報を保護する標準暗号化アルゴリズムとして採用されま した。 Key size: 256 ここでは暗号化キーの長さを指定できます。一般的に暗号化キーが長くなると暗号 強度が向上します。一方、暗号化キーが長くなると、大抵パフォーマンスにマイナ スの影響を与えます。利用できる暗号化キーのサイズは暗号方式に依存します。 IV algorithm: xts-plain64 初期化ベクトルや IV アルゴリズムは、同じ平文データと同一の暗号化キーで、常 に異なる暗号文の出力を保証し、安全に暗号を解読するのに利用されます。これに より、暗号化データ中に繰り返されるパターンから、攻撃者が情報を推測できない ようにします。 デフォルトの xts-plain64 は現在のところ、攻撃される恐れがもっとも少ないです 。その他の選択肢は、新しいアルゴリズムに対応していない、以前インストールし たシステムと互換をとる場合のみ使用してください。 Encryption key: Passphrase ここでは、このパーティションの暗号化キーのタイプを選択できます。 Passphrase 暗号化キーを、プロセスの後で入力するパスフレーズに基づいて計算^[8]しま す。 Random key 暗号化パーティションを作成するたびに、新しい暗号化キーをランダムに生成 します。言い換えると、シャットダウンごとに暗号化キーがメモリから削除さ れ、パーティションの内容を失うということです。(もちろん総当たりで暗号化 キーを推測することはできますが、暗号アルゴリズムに未知の弱点がない限り 、生きているうちには解読されないでしょう) Random key は swap パーティションで使うと便利です。というのも、パスフレ ーズを覚えておく必要もなく、コンピュータをシャットダウンする前に、機密 情報を swap パーティションから掃除するからです。しかし、最近の Linux カ ーネルで利用できる「suspend-to-disk」機能では使用できないということでも あります。(次の起動中に) swap パーティションからサスペンドデータを、復 元できなくなってしまうのです。 Erase data: yes 暗号化の前に、このパーティションの内容をランダムなデータで上書きするかどう かを決めます。そうしないと攻撃者が、パーティションのどの部分を使用中で、ど の部分が使用していないかを見分けられますので、上書きすることをお勧めします 。その上、以前インストールしていて残ってしまったデータを、復元しにくくしま す^[9]。 暗号化パーティション用に必要なパラメータを選択すると、メインパーティション分割 メニューに戻ります。そこに今度は暗号化されたボリュームの設定という項目があるは ずです。これを選択すると、削除するようにマークしたパーティションを本当に削除し てよいか確認し、新しいパーティションテーブルを書き込むといったアクションを起こ します。大きなパーティションではしばらく時間がかかるでしょう。 次に、パスフレーズを使用するよう設定していれば、パスフレーズを訊かれます。よい パスフレーズは、8 文字以上で、文字・数字・その他の記号が混ざり、辞書に載ってい ないか、容易に連想される情報 (誕生日、趣味、ペットの名前、家族や親戚の名前など) でないものです。 警告 パスフレーズを入力する前に、キーボードが正しく設定され、期待した文字が入力でき るようになっていなければなりません。よくわからなければ、別の仮想端末に切り替え て、プロンプトに入力してください。これにより、例えば、インストール中に azerty 配列を使用しているのに、qwerty 配列でパスフレーズを入力するといったことで、あな たが後で驚くようなことにはならないでしょう。この状況はいくつかの原因が考えられ ます。インストール中に別のキーボード配列に切り替えたとか、ルートファイルシステ ムのパスフレーズを入力する時に、まだ選択したキーボードレイアウトが有効でなかっ たのかもしれません。 暗号化キーの作成に、パスフレーズ以外の方法を選択した場合、すぐに暗号化キーを生 成します。インストールの初期では、カーネルが充分なエントロピーを集めていないの で、このプロセスに長時間かかるかもしれません。エントロピーを集めてこのプロセス のスピードを上げるには、ランダムにキーを押す、別の仮想コンソールに切り替えて (ファイルのダウンロードや、大きなファイルを /dev/null に流すなど) ネットワーク やディスクのトラフィックを起こすなどがあります。暗号化するパーティションの数だ け繰り返します。 メインパーティション分割メニューに戻ると、暗号化ボリュームが、通常のパーティシ ョンと同様に追加パーティションとして見えています。以下の例では dm-crypt で暗号 化したボリュームを示します。 Encrypted volume (sda2_crypt) - 115.1 GB Linux device-mapper #1 115.1 GB F ext3 今度は、ボリュームをマウントポイントに割り当てます。また、デフォルトのファイル システムタイプが合っていなければ変更も行います。 括弧内の識別子 (ここでは sda2_crypt) と、暗号化ボリュームを割り当てるマウントポ イントに注意を払ってください。後で新しいシステムを起動するときに、この情報が必 要になります。通常の起動プロセスと、暗号を伴う起動プロセスの相違点は、「暗号化 ボリュームのマウント」で扱います。 パーティション分割の内容に納得いったら、インストールに進んでください。 6.3.5. 基本システムのインストール この段階が最重要でないとはいえ、全体の基本システムをダウンロード、確認、展開に インストールのかなりの部分を費やします。遅いコンピュータや遅いネットワーク接続 しかなければ、ある程度時間がかかるかもしれません。 基本システムのインストール中、パッケージの展開・セットアップメッセージは、tty4 にリダイレクトされます。左 Alt+F4 を押すと、この端末 (terminal) にアクセスでき ます。元のインストーラーの画面に戻るには、左 Alt+F1 を押してください。 このフェイズでの展開・設定メッセージは、/var/log/syslog に保存されます。シリア ルコンソールでインストールする場合、これをチェックできます。 インストールの途中で、Linux カーネルをインストールします。デフォルトの優先度で は、インストーラーはハードウェアと最も適合するカーネルを選びます。より低い優先 度モードでは、利用可能なカーネルのリストから選ぶことができます。 パッケージ管理システムを使用してパッケージをインストールした際、デフォルトでは 、そのパッケージが推奨しているパッケージもインストールされます。推奨パッケージ は、選択したソフトウェアの核となる機能にとって厳密には必要ではありませんが、ソ フトウェアを拡張し、パッケージメンテナ視点で、通常そのソフトウェアと同時に入っ ているべきパッケージです。 注記 技術的な理由で、ベースシステムのインストール中にインストールされるパッケージは 、「推奨」が含まれていません。前述の規則は、インストールプロセス中のこの時点以 降でのみ効力を発揮します。 6.3.6. 追加ソフトウェアのインストール この時点では、制限されたシステムが利用できるようになります。ほとんどのユーザー は、お好みに調整するのに、追加ソフトウェアをシステムにインストールするでしょう が、これはインストーラーから行えます。遅いコンピュータやネットワーク接続を使用 していると、このステップは基本システムのインストールよりも時間がかかります。 6.3.6.1. apt の設定 Debian GNU/Linux システムにパッケージをインストールするツールの 1 つに apt パッ ケージの apt プログラムがあります^[10]。パッケージ管理のその他のフロントエンド には、aptitude や synaptic も使われます。これらのフロントエンドは追加機能 (パッ ケージの検索や状態チェック) を、すばらしいユーザーインターフェースと統合してい るので、新しいユーザーにお勧めします。 パッケージをどこから取得するか、apt を設定しておかなくてはなりません。この設定 の結果は、/etc/apt/sources.list ファイルに書き込まれます。インストール完了後に 、お好みに合わせて検査・編集できます。 デフォルトの優先度でインストールしている場合、インストール方法と、可能であれば インストールの初期に選択した内容から、大部分の設定を自動で面倒みてくれます。ほ とんどの場合、インストーラーは自動でセキュリティミラーを追加します。また、安定 版をインストールしている場合、「stable-updates」更新サービスのミラーを追加しま す。 If you are installing at a lower priority (e.g. in expert mode), you will be able to make more decisions yourself. You can choose whether or not to use the security and/or stable-updates services, and you can choose to add packages from the 「contrib」, 「non-free」, and 「non-free-firmware」 sections of the archive. 6.3.6.1.1. 2 枚以上の CD/DVD イメージでのインストール 複数枚からなる CD や DVD イメージでインストールする場合、さらにインストールメデ ィアをスキャンするか、インストーラーが尋ねてきます。追加するメディアがある場合 、そこからパッケージをインストールするため、スキャンしたくなると思います。 追加するメディアがない場合、これは必須ではないので、問題ありません。ネットワー クミラーも使用しない場合 (次節で説明します)、次のステップで選択する、タスクに属 するすべてのパッケージをインストールできるわけではないことを意味します。 注記 CD および DVD イメージにあるパッケージは、人気のある順に納められています。これ により、ほとんどの人はセットの 1 枚目のイメージのみを使い、非常に少数の人だけが 、最後のイメージに入っているパッケージを使用することになります。 これはフル CD セットのうち、まったく使わないものを買ったり、ダウンロードして焼 いたりといったことは、お金の無駄になってしまうということでもあります。ほとんど の場合、3〜8 枚の CD を用意し、さらにパッケージを追加する必要がある場合には、ミ ラーサイトを利用しインターネットから取得する方が楽です。DVD セットの場合も同じ ことが言えます。1 枚目の DVD か、もしかすると 2 枚目の DVD で必要なものをカバー できるでしょう。 複数のインストールメディアをスキャンする場合、現在ドライブに入っているものとは 別のインストールメディアにあるパッケージが必要になると、インストーラーは交換す るよう促します。注意: ディスクは、同じセットに属するもののみをスキャンするべき です。スキャンする順番はあまり重要ではありませんが、昇順にスキャンすると、失敗 する可能性が低くなります。 6.3.6.1.2. ネットワークミラーの利用 インストールに関するよくある質問に、パッケージの取得元にネットワークミラーを使 用するかどうかがあります。ほとんどの場合、デフォルトの回答でうまくいきますが、 中には例外もあります。 完全な CD/DVD イメージからインストールしない場合、非常に最小限のシステムのみで 完了するなら、ネットワークミラーを使用するべきです。しかし、インターネット接続 に制限がある場合、インストールの次のステップで、desktop タスクを選択しないのが 最善でしょう。 1 枚の完全な CD イメージからインストールしている場合は、ネットワークミラーを使 用する必要はありませんが、1 枚の CD イメージには非常に限られた数のパッケージし か含まれていないため、ネットワークミラーを使用するのを強くお勧めします。インタ ーネット接続に制限がある場合は、まだここでネットワークミラーを設定しない方がよ いでしょう。CD イメージでできる限りのインストールを行い、追加パッケージのインス トールは、(新しいシステムで起動した後など) 後で行うのがよいでしょう。 DVD でインストールしている場合、インストールに必要なパッケージは、1 枚目の DVD イメージで提供されているはずです。ネットワークミラーの使用はオプションとなりま す。 ネットワークミラーを追加する利点は、CD/DVD イメージが作成された後にポイントリリ ースに含まれた更新が、インストールできるということです。つまり、インストールし たシステムのセキュリティや安定性を傷つけることなく、CD/DVD の寿命を延ばすことが できます。 まとめると、ネットワークミラーを選択するのは、質の良いインターネット接続がない 場合を除き、一般的によい考えです。パッケージの最新版がインストールメディアで利 用できる場合には、インストーラーは常にそちらを使用します。従って、ミラーを選択 した場合のダウンロードするデータ量は、以下に依存します。 1. インストールの次のステップで選択するタスク。 2. どのパッケージがそのタスクに必要か。 3. そのパッケージがスキャンしたインストールメディアに収録されているかどうか。 4. インストールメディアに収録したパッケージの更新版が、ミラーサイト (通常のパ ッケージのミラーサイトだけでなく、セキュリティのミラーサイトや stable-updates のミラーサイト) に用意されているかどうか。 最後の点については、ネットワークミラーを使用しないように選択したとしても、セキ ュリティや stable-updates に更新があり、そのサービスを使用するように設定してい る場合は、パッケージをダウンロードする可能性が残っている、ということに注意して ください。 6.3.6.1.3. ネットワークミラーの選択 ネットワークミラーを使わない選択をした場合を除き、インストールプロセスの初期で 行った国の選択を元にしたネットワークミラーのリストが与えられています。提示され たデフォルト値を選択すると、大抵うまく行きます。 提供されるデフォルトは deb.debian.org です。これ自体はミラーではなく、最新かつ 高速なミラーへリダイレクトされます。これらのミラーは TLS (https プロトコル) と IPv6 をサポートします。このサービスは Debian システム管理 (DSA) チームによって 維持されています。 「情報を手動で入力」を選択することで、ミラーを手で指定することもできます。そう するとミラーのホスト名とオプションでポート番号を指定できます。これは実際の URL ベースで、つまり IPv6 アドレスを指定する場合には [] で囲まなければなりません。 例えば「[2001:db8::1]」。 コンピュータが、IPv6 のみのネットワークにつながっている (おそらくユーザーの大多 数に一致しない) 場合、あなたの国のデフォルトミラーはうまく動作しないかもしれま せん。リスト内のすべてのミラーは、IPv4 だけでなく IPv6 でも通信できます。個々の ミラーの接続は、時間とともに変わることがあり、その情報をインストーラーに持たせ られません。あなたの国向けのデフォルトミラーに IPv6 接続がない場合、提示された 他のミラーを試すか、「情報を手動で入力」オプションを選択し、ミラー名に「 ftp.ipv6.debian.org」を指定できます。これは、IPv6 が有効なミラーのエイリアスで 、おそらく可能な限り速い、とはいかないと思います。 6.3.6.2. ソフトウェアの選択・インストール インストール処理中に、追加ソフトウェアをインストールする機会があります。 93672 個もの利用可能パッケージから、個々のパッケージを取り上げるよりも、インストール 処理のこの段階では、いち早く様々なコンピュータのタスクをセットアップするよう、 定義済みのソフトウェア集合を選択・インストールするのに集中します。 タスクは、様々なジョブやあなたがコンピュータにやらせたいことを、いくつか大まか に表しています。「デスクトップ環境」、「Web サーバー」、「SSH サーバー」といっ た具合です^[11]。「タスクに必要なディスクの空き容量」に、利用可能タスクの必要容 量一覧があります。 いくつかのタスクは、インストールするコンピュータの特性により、あらかじめ選択さ れている可能性があります。選択されているものが合わない場合は、そのタスクの選択 をはずせます。全くタスクを選ばないようにもできます。 ヒント インストーラーの標準ユーザーインターフェースでは、タスクの選択をスペースバーで トグルできます。 注記 「デスクトップ環境」タスクは、グラフィカルデスクトップ環境をインストールします 。 デフォルトで debian-installer はデスクトップ環境をインストールします。インスト ール中に異なるデスクトップ環境を、インタラクティブに選択することが可能です。デ スクトップ環境を複数インストールすることもできますが、組み合わせによっては互い に排他的でインストールできない可能性もあります。 希望のデスクトップ環境に必要なパッケージが実際に利用できる場合にのみ動作するこ とに注意してください。フル CD イメージ 1 枚でインストールしている場合、容量が限 られているその CD イメージに入っておらず、ミラーサイトからダウンロードする必要 があるかもしれません。DVD イメージやその他のインストール方法では、利用可能なデ スクトップ環境のインストールがうまくいくでしょう。 各サーバータスクでは、おおまかに以下のソフトウェアをインストールします。Web サ ーバー: apache2; SSH サーバー: openssh。 「標準システム」タスクは、優先度が「標準」のパッケージをインストールします。こ こには、通常どんな Linux や Unix のシステムでも有効な、たくさんの共通ユーティリ ティを含んでいます。何をしようとしているのか解っていて、本当に最小限のシステム が必要なのでなければ、このタスクを選択したままにしてください。 言語選択で、デフォルトロケールに「C」ロケール以外を選択した場合、tasksel は、そ のロケールで定義されている地域化タスクがあるかチェックし、関連する地域化パッケ ージを自動的にインストールしようとします。これには例えば単語集や、あなたの言語 の特殊なフォントが含まれます。デスクトップ環境を選択している場合、適切な地域化 パッケージも (有効なら) インストールします。 タスクを選択したら、Continue を選択してください。ここで apt が選択したタスクの 一部をインストールし始めます。個々のプログラムで、ユーザーからのもっと詳細な情 報が必要な場合、このプロセス中に問い合わせが発生します。 デスクトップタスクは非常に大きいことを意識していてください。特に、通常の CD-ROM と、ミラーサイトにある CD-ROM 外のパッケージを組み合わせる場合、インストーラが 、ネットワークから大量のパッケージを取得しようとするかもしれません。インターネ ット接続が低速な場合、長い時間かかるでしょう。一度、パッケージのインストールを 始めたら、キャンセルするオプションはありません。 パッケージが CD-ROM に含まれている場合でも、CD-ROM にあるパッケージよりもミラー サイトにあるパッケージの方が新しければ、インストーラーはミラーサイトから取得し ようとします。安定版をインストールしている場合はポイントリリース (オリジナルの 安定版リリースの更新) 後に、テスト版をインストールしている場合は古いイメージを 使用していると、こういったことが起こり得ます。 6.3.7. システムを起動可能に ディスクなしワークステーションにインストールするなら、ローカルディスクから起動 するなんて、明らかに意味がありませんから、このステップをスキップしてください。 6.3.7.1. 他 OS の検出 ブートローダがインストールされる前に、インストーラーは既にインストールされてい る他の OS の検出を試します。サポートする OS を見つけると、ブートローダインスト ールステップの間にそれを通知します。また、Debian に加えて他の OS をブートできる ように、このコンピュータを設定します。 複数の OS を同一の機械で起動するのは、いまだに魔術的だということに注意してくだ さい。他の OS を検出し起動するようにブートローダをセットアップする自動サポート は、アーキテクチャごとに (サブアーキテクチャそれぞれでさえ) 異なります。作動し ない場合は、詳細についてブートマネージャの文書を調べるべきです。 6.3.7.2. flash-kernel でシステムをブートできるようにする 全 ARM 基盤に共通となるファームウェアインターフェイスはないため、ARM デバイスで システムをブートできるようにするのに必要な手順はデバイスに大きく依存します。 Debian では flash-kernel というツールを使ってこの処理を行います。flash-kernel は様々なデバイスでシステムをブートできるようにするのに必要な特定の操作を記述し たデータベースを収録しています。デバイスが現在サポートされているものかどうかを 検出し、サポートされている場合は必要な操作を実行します。 内部に NOR 型または NAND 型のフラッシュメモリを使っているデバイスからのブートで は、flash-kernel はこの内部メモリにカーネルと初期 RAM ディスクを書き込みます。 この方法は古い armel 機器で特に一般的です。こういったデバイスはほとんどのもので 、内部フラッシュメモリにカーネルや RAM ディスクを複数置くことは許容していない、 つまり flash-kernel をこういったデバイスで実行すると、以前にそのフラッシュメモ リに存在した内容は通常上書きされることに注意してください! システムファームウェアとして u-boot を利用し、外部ストレージメディア (MMC/SD カ ードや USB 大容量ストレージデバイス、IDE/SATA ハードディスク) からカーネルと初 期 RAM ディスクをブートする ARM システムでは、flash-kernel は適切なブートスクリ プトを生成し、ユーザーが介入せずに自動起動できるようにします。 6.3.7.3. ブートローダなしで継続 このオプションは、アーキテクチャ/サブアーキテクチャにブートローダがない、あるい はインストールする気がない (例えば、既存のブートローダを使用するつもりであると か) 時に、ブートローダをインストールしていなくても、インストールを完了するのに 利用できます。 手動でブートローダを設定する場合、/target/boot にインストールしたカーネルの名前 をチェックしてください。またそのディレクトリに initrd が存在するかチェックして ください。存在するなら、ブートローダにそれを使うよう指定しなければなりません。 他に必要な情報は、/ ファイルシステムとするディスクないしパーティション、(/boot を個別のパーティションとする場合) /boot ファイルシステムとするディスクないしパ ーティションが必要です。 6.3.8. インストールの完了 これからインストーラーが行ういくつかのタスクが、Debian のインストール過程での最 終段階です。ほとんどが debian-installer の後片付けです。 6.3.8.1. システム時計の設定 インストーラーは、コンピュータの時計を UTC にするかどうかを、尋ねることがありま す。通常この質問は可能な限り避け、他のオペレーションシステムがインストールされ ているかどうか、といったことから UTC を基準にするかどうかを判断します。 エキスパートモードでは、常に時計を UTC にあわせるかどうかを選択することになりま す。 ここで、debian-installer は、システムのハードウェア時計に現在の時間を保存しよう と試みます。先ほどの選択により、UTC か現地時間のどちらかで保存します。 6.3.8.2. システムの再起動 インストーラーの起動に使用したブートメディア (CD、USB メモリなど) を、取り出す よう促されます。システムはこの後、新しい Debian システムで再起動します。 6.3.9. トラブルシューティング 本節に挙げるコンポーネントは、通常インストールプロセスに関係しませんが、何かう まく行かない時に、ユーザーの助けになるようバックグラウンドで待っています。 6.3.9.1. インストールログの保存 インストールが成功したら、インストールプロセス中のログファイルが、新しい Debian システムの /var/log/installer/ に自動的に作成されています。 メインメニューからデバッグログを保存を選択すると、ログファイルを USB メモリやネ ットワーク、ハードディスク、その他メディアに保存できます。これは、インストール 中に致命的な問題に遭遇してしまい、別システムでそのログを調査したいときや、イン ストールレポート向けにログを添付したいときに便利です。 6.3.9.2. シェルの使用とログの参照 インストール中にシェルを起動する方法はいくつかあります。ほとんどのシステムでは 、さらにシリアルコンソールでインストールしていない場合、左 Alt+F2 ^[12]を押して (Mac のキーボードでは、Option+F2)、第 2 仮想コンソールに切り替えるのが簡単です 。左 Alt+F1 でインストーラー自体に戻ってください。 コンソールに切り替えられない場合、メインメニューにあるシェルの実行でもシェルを 起動できます。ほとんどのダイアログから、Go Back ボタンを何度か押して、メインメ ニューに戻れます。exit と入力すると、シェルを終了してインストーラーに戻ります。 この段階では RAM ディスクから起動しています。また、使用には制限がありますが Unix ユーティリティが利用可能です。どのプログラムが利用できるかはコマンド ls / bin /sbin /usr/bin /usr/sbin や help とタイプするとわかります。シェルは ash と いう Bourne shell のクローンで、自動補完や履歴のような、気の利いた機能を備えて います。 ファイルの編集や表示をするには、nano というテキストエディタを使用してください。 インストールシステムのログファイルは、/var/log ディレクトリにあります。 注記 シェルの中では、有効なコマンドを許可されている限り、基本的になんでもできますが 、何か問題が発生したときのデバッグ用に、シェルを使用するオプションはここにしか ありません。 シェルから手動で何か行うと、インストールプロセスや結果にエラーが発生したり、イ ンストールが完了しなかったりといった恐れがあります。特に、インストーラーで swap を有効にするようにし、シェルから手動で行わないようにしましょう。 6.3.10. network-console を利用したインストール network-console はとても興味深いコンポーネントで、インストールの大部分を、SSH を用いたネットワーク越しで行えるようにします。ネットワークを使用すると言うこと は、少なくともネットワークをセットアップするまで、コンソールでインストールを行 わなければならないということも含んでいます。(でもこの部分は「自動インストール」 で自動化できます) このコンポーネントは、デフォルトではメインインストールメニューには現れません。 そのため、自分で明示しなければなりません。光学メディアからインストールする場合 、優先度を中にするかインストールメニューを呼び出し、インストールメディアからイ ンストーラーコンポーネントをロードを選んでください。また、追加コンポーネントの 一覧から network-console: SSH を使ってリモートでインストールを続けるを選んでく ださい。読み込みに成功すると、SSH を使ってリモートでインストールを続けるから呼 ばれる新しいメニュー項目が表示されます。 この新しいエントリを選択したら、インストールするシステムに接続するための新しい パスワード (とその確認) を入力してください。これで以上です。今、リモートでログ インするよう促す画面が出ているはずです。ユーザー名は installer、パスワードは先 ほど入力した物を使用してください。この画面にある重要な細かい点として、このシス テムの指紋 (fingerprint) があります。この指紋を、リモートでインストールを続ける 人に、安全に転送する必要があります。 ローカルでインストールすると決めた場合は、Enter を押してください。メインメニュ ーに戻ります。そこで別のコンポーネントを選択してください。 それでは回線の向こう側へ行きましょう。前提として、あなたの端末がインストールシ ステムで使用する UTF-8 エンコードを使用できるように設定されている必要があります 。そうでなければ、リモートインストールは可能ですが、ダイアログの枠線が化けたり ASCII 以外の文字が読めないといった妙な表示になってしまいます。インストールシス テムへの接続を確立するには、単に以下のように入力してください。 $ ssh -l installer install_host install_host には、インストールするコンピュータの名前か IP アドレスのどちらかを セットします。実際のログインの前に、リモートシステムの指紋を表示するのでそれが 正しいかどうか確認してください。 注記 インストーラーの ssh サーバーは、keep-alive パケットを送らないというデフォルト 設定を使用します。原則的に、インストールするシステムへの接続は、無期限に保たれ るべきです。しかし、ある状況下 (あなたのローカルネットワークの設定に依存する) では、不使用時間が続くと接続を失う可能性があります。よくある状況は、クライアン トとインストールするシステムの間のどこかに、ネットワークアドレス変換 (NAT) があ ることです。接続が失われた際のインストールのポイントにより、再接続後にインスト ールを再開できるかどうかが決まるでしょう。 ssh 接続を開始する際や、ssh の設定ファイルに、オプション -o ServerAliveInterval =value を追加して、接続が切れるのを回避できるかもしれません。しかしある状況下で は、このオプションを追加すると、接続が切れる原因になるかもしれないことにご注意 ください (例えば、普段なら ssh が復旧してしまうような、短時間のネットワーク障害 中に keep-alive パケットを送るなど)。そのため、使用は必要最小限にするべきです。 注記 順番にいくつものコンピュータにインストールして、同じ IP アドレスやホスト名を持 っていたりすると、ssh はそういったホストへの接続を拒否します。指紋が異なってい るというのは、通常なりすまし攻撃のサインです。なりすまし攻撃ではないことが確か なら、~/.ssh/known_hosts から関連する行を削除して^[13]、もう一度行う必要があり ます。 ログインするとメニューの開始, シェルの開始という 2 つのメニューがある初期画面が 表示されます。前者はメインのインストールメニューに移動し、通常のインストールを 進めることができます。後者はリモートシステムの検査と (可能なら) 修正できるよう なシェルを起動します。インストールメニュー用の SSH セッションを起動するのは 1 つだけにするべきですが、シェル用には複数のセッションを起動できます。 警告 SSH を使ってリモートでインストールを始めた後で、ローカルコンソールのインストー ルセッションに戻るべきではありません。新システムの設定を保持しているデータベー スが破損する可能性があるからです。それによりインストールが失敗したり、インスト ールしたシステムに何か問題が発生するかもしれません。 6.4. 見つからないファームウェアの読み込み 「ファームウェアが必要なデバイス」で述べたように、ある種のデバイスはファームウ ェアを読み込む必要があります。多くの場合、ファームウェアが有効でないとデバイス はまったく動作しません。場合によっては、ファームウェアがない場合、基本機能は損 なわれませんが、追加機能を有効にするためだけにファームウェアが必要になります。 Starting with Debian GNU/Linux 12.0, following the 2022 General Resolution about non-free firmware, official installation images (like netinst) can include non-free firmware packages. Even with those firmware packages available, some firmware files might still be missing. Or one might be using netboot files, which don't include firmware packages. 利用できないファームウェアをデバイスドライバが要求する場合、debian-installer は 見つからないファームウェアを要求するダイアログを表示します。このオプションが選 択されると、debian-installer はルーズなファームウェアファイルと、ファームウェア のあるパッケージの両方を、利用できるデバイスについて検索します。見つかると、フ ァームウェアを正しい場所 (/lib/firmware) にコピーし、ドライバモジュールを再読込 します。 注記 どのデバイスがスキャンされるか、どのファイルシステムをサポートしているかは、ア ーキテクチャやインストール方法、インストールの段階に依存します。特にインストー ルの初期段階では、ファームウェアの読み込みには、FAT フォーマットの USB メモリが もっとも成功の可能性が高いでしょう。 ファームウェアがなくてもデバイスが動作することを知っていたり、インストール中に そのデバイスが必要ない場合は、ファームウェアの読み込みをスキップできることにご 注意ください。 6.4.1. メディアの準備 The most common method to load such firmware is from some removable medium such as a USB stick. To prepare a USB stick (or other medium like a hard drive partition), the firmware files or packages must be placed in either the root directory or a directory named /firmware of the file system on the medium. The recommended file system to use is FAT as that is most certain to be supported during the early stages of the installation. Tarballs and zip files containing current packages for the most common firmware, and the associated metadata to ensure a proper detection by the installer (dep11 directory), are available from: • https://cdimage.debian.org/cdimage/firmware/bookworm/ Just download the tarball or zip file for the correct release and unpack it to the file system on the medium. また、個々のファームウェアファイルを、メディアにコピーもできます。ルーズなファ ームウェアを、例えばすでにインストールしたシステムや、ハードウェアベンダから入 手できます。 6.4.2. ファームウェアとインストールしたシステム Any firmware loaded during the installation will be copied automatically to the installed system. In most cases this will ensure that the device that requires the firmware will also work correctly after the system is rebooted into the installed system. However, if the installed system runs a different kernel version than the installer, there is a slight chance that the firmware cannot be loaded due to version skew. If the firmware was loaded from a firmware package, debian-installer will also install this package for the installed system and will automatically add the non-free-firmware section of the package archive in APT's sources.list. This has the advantage that the firmware should be updated automatically if a new version becomes available. インストール中に、ファームウェアの読み込みをスキップした場合、おそらくファーム ウェア (パッケージ) を手動でインストールするまで、関連するデバイスがインストー ルしたシステムで動作しないでしょう。 注記 ファームウェアをルーズなファームウェアファイルから読み込んだ場合、インストール 完了後に対応したファームウェアパッケージをインストールするまで、インストールし たシステムにコピーしたファームウェアは、自動的に更新されません。 6.4.3. インストールしたシステムの設定を完了する 関連するファームウェアが取得できなかった、その時点ではファームウェアをインスト ールしないという選択をした等、どのようにインストールが実施されたかに応じて、イ ンストール作業中では検出されなかったファームウェアが必要になる可能性があります 。いくつかのケースでは、インストールが成功したにも関わらずシステム再起動後にブ ランクあるいは文字化けした画面が表示される可能性があります。このような場合、以 下の回避策を試みることが出来ます: • カーネルコマンドラインに nomodeset を渡す。「fallback graphics」モードでの 起動ができる可能性があります • Ctrl+Alt+F2 の組み合わせを使って、動作しているログインプロンプトが表示され る VT2 (仮想端末2) にスイッチする 6.5. カスタム化 シェル (「シェルの使用とログの参照」参照) を使えば、インストール作業を例外的な ユースケースに合わせるため、じっくりとカスタマイズできます: 6.5.1. 代替 init システムのインストール Debian は systemd をデフォルトの init システムとして利用しています。ですが、他 の init システム (sysvinit や OpenRC など) もサポートされていて、別の init シス テムを選択するのに最も楽なタイミングはインストール作業時となります。どのように して切り替えるかの詳細な作業内容はDebian wiki の Init のページを参照してくださ い。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ^[3] 技術的な用語として、言語に対し国コードが異なるぶんだけ、複数のロケールが存 在します。 ^[4] 優先度が中や低では、選択した言語で有効なロケールの中から、常に好みのものを 選択することになります (複数ある場合)。 ^[5] レガシーロケールとは、UTF-8 を使用しないけれど、ISO 8859-1 (西欧言語で利 用) や EUC-JP (日本語で利用) といった文字エンコードを使用する旧標準の一種です。 ^[6] このインストーラーでは、LVM ボリュームグループを 256 bit AES キーで暗号化 し、カーネルの「dm-crypt」サポートを利用します。 ^[7] 本当のことをいえば、同一の物理ドライブを分割して MD デバイスを構築できます が、何も利点がありません。 ^[8] 暗号化キーにパスフレーズを使用するのは、LUKS を使用して設定するという意味 です。 ^[9] 3 文字の機関では、磁気光学メディアを何度か書き換えた後でも、データを復元で きると信じられています。 ^[10] パッケージを実際にインストールするプログラムは、dpkg であることに注意して ください。ですが、このプログラムは、どちらかというと下位のツールです。apt はも っと上位のツールで、適切に dpkg を起動します。また、インストールメディアやネッ トワーク、その他から、パッケージをどのように取得するかも知っています。さらに、 インストール作業が正しく行えるように、パッケージが必要とする他のパッケージも自 動的にインストールできます。 ^[11] 表示されるリストは、インストーラーが単に tasksel プログラムを起動している だけ、ということを知っておいてください。インストールの後で、他のパッケージをイ ンストール (または削除) するのにいつでも実行できます。また aptitude のような、 よりきめ細かいツールも利用できます。インストール完了後、特定の 1 パッケージを探 すのなら、単に aptitude install パッケージ名を実行してください。パッケージ名は 、探したいパッケージ名です。 ^[12] スペースバーの左側にある Alt キーと、F2 ファンクションキーを同時に押して ください。 ^[13] 以下のコマンドで、既存のホストエントリを削除できます。ssh-keygen -R < hostname|IP address> 第7章新しい Debian システムを起動してみる 目次 7.1. 決定的瞬間 7.2. 暗号化ボリュームのマウント 7.2.1. トラブルシューティング 7.3. ログイン 7.1. 決定的瞬間 新しいシステムが初めて自力で起動することを、電気技術者は「スモークテスト」と呼 びます。 たとえシステムが正常に起動しなかったとしても、パニックにならないでください。イ ンストールが正常に終了したのなら、システムが Debian を起動するのを妨げる比較的 小さな問題だけがある可能性が高いです。ほとんどの場合、そのような問題はインスト ールを繰り返すことなしに解決することができます。ブート時の問題を修正する一つの 選択肢は、インストーラ内蔵のレスキューモード (「起動しなくなってしまったシステ ムの回復」をご覧ください) を使用することです。 もし Debian や Linux に不馴れなら、より経験のあるユーザの手助けが必要かもしれま せん。 32-bit hard-float ARMv7 のようにそれほど一般的でないアーキテクチャでは、 debian-arm メーリングリストで尋ねるのが最も良い方法です。「インストールレポート の送信」にインストールレポートを提出することもできます。レポートには、問題につ いてはっきりと説明され、表示されたすべてのメッセージが含まれており、他の人が問 題の原因を突き止める助けになるようにしてください。 7.2. 暗号化ボリュームのマウント インストール中に暗号化ボリュームを作成し、マウントポイントに割り当てると、その ボリュームに対して、起動中にパスフレーズを入力するように訊いてきます。 dm-crypt で暗号化したパーティションでは、起動中に以下のようなプロンプトが表示さ れます。 Starting early crypto disks... part_crypt(starting) Enter LUKS passphrase: プロンプトの最初の行の part は、たとえば sda2 や md0 のような、基本的なパーティ ション名です。おそらく、ボリュームごとにパスフレーズを入力することに、違和感を 覚えるのではないでしょうか。これは /home や /var それぞれでパスフレーズを入力さ せられるのでしょうか? もちろんそうです。暗号化したボリュームが一つだけなら、話 は簡単で、セットアップのときに入力したパスフレーズを入力するだけです。インスト ール時に、暗号化ボリュームを少なくとも一つは設定しているなら、「暗号化ボリュー ムの設定」の最後のステップに書き留めたメモが役に立つでしょう。以前の 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.1. トラブルシューティング パスフレーズを間違えて、暗号化ボリュームをマウントできなかった場合、ブート後に 手動でマウントする必要があります。以下の状況が考えられます。 • まずはじめの状況は、ルートパーティションに関することです。正しくマウントで きないとブートプロセスが停止し、再起動してもう一度行わなければなりません。 • 最も考えられる状況は /home や /srv のようにデータを保持する暗号化ボリューム です。単純にブート後に手作業でマウントできます。 dm-crypt の場合は少しトリッキーです。まず device mapper を実行して、ボリュ ームを登録する必要があります。 # /etc/init.d/cryptdisks start /etc/crypttab に記述されたボリュームすべてを検査し、正しいパスフレーズを入 力すると、/dev ディレクトリ以下に、適切なデバイスを作成します。(既に登録さ れたボリュームはスキップするので、何度実行しても警告がでません) 登録に成功 すると、以下のように通常の方法でマウントできます。 # mount /mount_point • クリティカルでないシステムファイルを扱うボリューム (/usr や /var) がマウン トできなかった場合、それでもシステムが起動し、前述の状況のように手動でボリ ュームをマウントできるでしょう。しかし、デフォルトのランレベルで通常動作し ているサービスを、起動していない可能性があるので、(再) 起動する必要がありま す。最も簡単なのはコンピュータの単純な再起動です。 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/ $ w3m . w3m コマンドの後のドットは、カレントディレクトリの内容を表示させるためのもので す。 グラフィカルデスクトップ環境をインストールした場合には、Web ブラウザも利用でき ます。アプリケーションメニューから Web ブラウザを起動し、アドレスバーに /usr/ share/doc/ と入力してください。 また、コマンドプロンプトから使えるほとんどのコマンドに対し、info コマンドまたは man コマンドによってその文書が参照できます。help と入力すると、シェルコマンドの ヘルプが読めます。コマンドを --help つきで入力すると、たいていそのコマンドの簡 単な使い方が表示されます。その結果が画面からスクロールして消えてしまう場合には 、コマンドのあとに | more を追加すると、画面ごとに一時停止してくれます。ある文 字で始まるコマンドの一覧を知りたいときは、その文字を入力してからタブを 2 回押し ます。 第8章次のステップとそれから 目次 8.1. システムをシャットダウンする 8.2. Debian に慣れる 8.2.1. Debian パッケージングシステム 8.2.2. Debian で利用できる追加ソフトウェア 8.2.3. アプリケーションのバージョン管理 8.2.4. cron ジョブ管理 8.3. さらなる文書や情報 8.4. 電子メールを使用するためのシステム設定 8.4.1. デフォルトの電子メール設定 8.4.2. システムの外に電子メールを送る 8.4.3. Exim4 Mail Transport Agent の設定 8.5. 新しいカーネルのコンパイル 8.6. 起動しなくなってしまったシステムの回復 8.1. システムをシャットダウンする 稼働中の Debian GNU/Linux システムをシャットダウンする際には、コンピュータの前 面や背面にあるリセットスイッチで再起動させたり、いきなり電源を落したりしてはい けません。Debian GNU/Linux は適切な手順でシャットダウンすべきで、さもないとファ イルを失ったりディスクにダメージがもたらされたりします。デスクトップ環境を実行 している場合は、通常システムのシャットダウン (または再起動) を可能にする、アプ リケーションメニューから利用できる「ログアウト」用のオプションがあります。 もう一つの方法として、Ctrl+Alt+Del のキーを同時に押す方法が使えます。このキーの 組合せが効かない場合、最後の選択肢として、root でログインして必要なコマンドを打 ち込んでください。システムを再起動するには reboot と打ち込んでください。電源を 入れたままでシステムを停止するには halt を使ってください^[14]。マシンの電源を落 とすには poweroff または shutdown -h now を使ってください。systemd init システ ムでは例えば systemctl reboot や systemctl poweroff 等、同一の機能を果たす追加 のコマンドを提供しています。 8.2. Debian に慣れる Debian は他のディストリビューションとは少々異なっています。他のディストリビュー ションで Linux に精通された方でも、システムを整然とした状態に保つためには、 Debian について知っておかなくてはならないことがあります。この章では Debian に慣 れる手助けとなる資料を紹介します。Debian の使い方を逐一説明することは意図してい ません。すごく急いでいる人にシステムをざっとつかんでもらうだけのものです。 8.2.1. Debian パッケージングシステム まず理解すべき最も重要な考え方に、Debian のパッケージングシステムがあります。基 本的に、システムの大部分はパッケージングシステムの管理下にあると考えられていま す。このパッケージングシステムによって管理されるディレクトリには、以下のディレ クトリが含まれています。 • /usr (/usr/local を除く) • /var (/var/local を作成し、それ以下のディレクトリを自由に使うことは可能で す) • /bin • /sbin • /lib 例えば、/usr/bin/perl をあなたが別に用意したファイルで置き換えたとしても、その 動作には問題はありません。ただし、後で perl パッケージを更新すると、あなたが置 いたファイルはパッケージによって置き換えられてしまいます。これを避けるには、 aptitude でパッケージを「hold」 (保留) するという操作を行います。 One of the best installation methods is apt. You can use the command line version of apt as well as tools like aptitude or synaptic (which are just graphical frontends for apt). Note that apt will also let you merge main, contrib, non-free, and non-free-firmware so you can have restricted packages (strictly speaking not belonging to Debian) as well as packages from Debian GNU /Linux at the same time. 8.2.2. Debian で利用できる追加ソフトウェア Debian のデフォルトインストールでは有効にならない、公式・非公式のソフトウェアリ ポジトリがあります。この中には、重要で当然インストールしておくソフトウェアもた くさんあります。こういった追加リポジトリの情報は、Debian Wiki の The Software Available for Debian's Stable Release ページにあります。 8.2.3. アプリケーションのバージョン管理 複数のバージョンがあるアプリケーションは、update-alternatives で管理されていま す。同種のアプリケーションを複数保守する場合は、update-alternatives の man ペー ジをご覧ください。 8.2.4. 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.3. さらなる文書や情報 Debian ウェブサイトには、Debian に関するたくさんの文書があります。特に、Debian GNU/Linux FAQ と Debian リファレンスをご覧ください。Debian ドキュメンテーション プロジェクトには、Debian ドキュメンテーションに関するより多くのインデックスが用 意されています。Debian のコミュニティでは、ユーザがお互いにサポートを行っていま す。Debian のメーリングリストを購読するにはメーリングリストの購読ページをご覧く ださい。大事なことを言い忘れましたが、Debian メーリングリストアーカイブには Debian に関する豊富な情報が含まれています。 もし、特定のプログラムに関する情報が必要ならば、まずは man プログラム名や info プログラム名を実行してみてください。 /usr/share/doc にも有用な文書がたくさんあります。特に、/usr/share/doc/HOWTO や /usr/share/doc/FAQ には興味深い情報がいくつもあります。バグを報告するには /usr/ share/doc/debian/bug* をご覧ください。特定のプログラムについて Debian 固有の問 題を読むためには /usr/share/doc/(パッケージ名)/README.Debian をご覧ください。 GNU/Linux の情報の一般的なソースは、Linux Documentation Project です。そこで、 GNU/Linux システムの部分について、他の非常に価値ある情報のための HOWTO やポイン タを得られるでしょう。 Linux は Unix 実装の一つです。Linux Documentation Project (LDP) では Linux に関 するたくさんの HOWTO やオンライン書籍をまとめています。 Unix を初めてお使いになる方は、出かけて何冊か本を買い、少し読んでみるとよいでし ょう。この Unix FAQ のリストには、素晴らしい歴史的な参考文献を提供する UseNet ドキュメントがたくさん紹介されています。 8.4. 電子メールを使用するためのシステム設定 今日では、電子メールは多くの人々にとって生活の重要な一部になっています。電子メ ールを使えるように設定するまでには、たくさんの選択肢があり、さらに電子メールが 正確に設定されていることが重要になる 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 として利用可能) のようなグラフィカル な電子メールプログラムの使用がより一般的になっています。これらのプログラムは、 MUA、MTA および MDA の機能が組み合わされていますが、従来の Linux ツールと組み合 わせることもでき -- そして多くの場合は組み合わせて -- 使用されます。 8.4.1. デフォルトの電子メール設定 グラフィカルなメールプログラムを使用するつもりでいても、Debian GNU/Linux システ ムに従来の MTA/MDA をインストールし、正確に設定するのは有用かもしれません。シス テムで起動している様々なユーティリティ^[15] が、システム管理者に (潜在的な) 問 題や変更を通知するために、電子メールで重要な通知を送ることができるからです。 そのために、exim4 と mutt を apt install exim4 mutt でインストールできます。 exim4 は、比較的小さなプログラムですが、とても柔軟性のある MTA/MDA の組み合わせ です。デフォルトでは、システム内のローカルな電子メールの処理のみのために設定さ れ、システム管理者 (root アカウント) 宛ての電子メールは、インストールの際に作成 した標準のユーザアカウントに配送されます^[16]。 システムから配送された電子メールは /var/mail/account_name 中のファイルに加えら れます。メールは mutt を使って読むことができます。 8.4.2. システムの外に電子メールを送る 先に述べたように、インストールした Debian システムは、システム内のローカルな電 子メールを処理するようにだけ設定され、他人にメールを送ったり、他人からメールを 受け取ったりするようには設定されません。 exim4 に外部の電子メールを処理させたい場合は、利用できる基本設定オプションに関 して、次節を参照してください。メールが正しく送受信できることは、テストして確か めるようにしてください。 もしグラフィカルなメールプログラムを使って、インターネットサービスプロバイダ (ISP) あるいは会社のメールサーバを使用するつもりならば、外部の電子メールを処理 するために exim4 を設定する必要は実際にはありません。電子メールを送受信するため に、好みのグラフィカルなメールプログラムが正しいサーバを使用するようにただ設定 するだけです (設定方法は本マニュアルでは扱いません)。 しかしその場合には、電子メールを正しく送れるように個々のユーティリティを設定す る必要があるかもしれません。そのようなユーティリティの一つに、Debian パッケージ に対するバグ報告の提出を容易にするプログラムである reportbug があります。デフォ ルトでは、バグ報告を提出するために exim4 が使用可能であることが期待されます。 外部のメールサーバを使用するように reportbug を正しく設定するため、reportbug --configure コマンドを実行し、MTA が利用可能かどうかという質問に「no」と答えて ください。その後、バグ報告の提出に使用する SMTP サーバを尋ねられるでしょう。 8.4.3. Exim4 Mail Transport Agent の設定 システムで外部の電子メールを処理するようにしたい場合、exim4 パッケージを再設定 する必要があります^[17]: # 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.5. 新しいカーネルのコンパイル 新しいカーネルをコンパイルしようとする動機はなんでしょう? Debian で提供している 標準カーネルはほとんどの機能を利用できるようにしているので、あまり必要はないで しょう。 それでも独自のカーネルをコンパイルしたい場合はもちろんできます。その場合は「 make deb-pkg」ターゲットの利用をお勧めしています。詳細については Debian Linux Kernel Handbook を参照してください。 8.6. 起動しなくなってしまったシステムの回復 時に物事は失敗し、慎重にインストールしたはずのシステムはもはや起動しません。お そらくブートローダの設定ファイルを編集しているうちに壊してしまったか、あるいは インストールした新しいカーネルでは起動しないか、ことによると宇宙線がディスクに 命中して /sbin/init の中のビットがちょっと弾きとばされてしまったのかもしれませ ん。原因のいかんを問わず、問題を修正する間に動作するようなシステムが必要になる でしょう。レスキューモードはそんな時に役に立ちます。 レスキューモードにアクセスするためには、ブートメニューから rescue を選択して boot: プロンプトで rescue とタイプするか、ブートパラメータに rescue/enable=true を指定して起動してください。インストーラの最初で、これがフルインストールではな くレスキューモードだということを知らせる注意書きが、ディスプレイの隅にほんの少 し表示されます。心配しないでください、あなたのシステムが上書きされるわけではあ りません! レスキューモードは単に、システムを修復している間にディスクやネットワ ークデバイスなどが利用できることを確認するために、ハードウェア検出機能を利用し ます。 パーティション分割ツールの代わりに、システム上のパーティションリストが示され、 それらのうちの一つを選択するよう尋ねられるでしょう。通常は、修復する必要のある ルートファイルシステムを含むパーティションを選択すべきです。ディスク上で直接作 成されたパーティションと同様に RAID や LVM デバイス上のパーティションも選択でき ます。 可能であれば、インストーラは、選択したファイルシステムにおける、必要な修復を実 行するために使えるシェルプロンプトを提供するようになっています。 選択したルートファイルシステムにあるシェルをインストーラが実行できない場合は、 おそらくファイルシステムが壊れているので、インストーラは警告を発し、代わりにイ ンストーラ環境でのシェルを提供することを提案します。この環境で利用できるツール は多くはありませんが、たいていの場合、システムをとにかく復旧させるには充分でし ょう。選択したルートファイルシステムは、/target ディレクトリにマウントされます 。 いずれの場合でも、シェルを抜けた後にシステムが再起動します。 最後に。壊れてしまったシステムを修復するのは難しいことがあります。本マニュアル が、うまくいかない事や問題を修正する方法のすべてを説明しようとしているわけでは ないということに注意してください。もし問題があれば、専門家に相談してください。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ^[14] SysV init システムでは halt は poweroff と同じ効果がありましたが、 init システムが systemd (jessie からデフォルト) の場合は異なる効果があります ^[15] 例えば: cron、quota、logcheck、aide、... ^[16] 標準のユーザアカウントへの root 宛てのメールの転送は、/etc/aliases で設定 します。標準のユーザアカウントを作成しなかった場合、もちろんメールは root アカ ウント自身に配送されます。 ^[17] もちろん、exim4 を削除し、他の MTA/MDA を使用することもできます。 付録A インストール Howto 目次 A.1. 前置き A.2. インストーラを起動する A.2.1. 光学ディスク A.2.2. ネットワークからの起動 A.2.3. ハードディスクからの起動 A.3. インストール A.4. インストールレポートを送ってください A.5. そして最後に... この文書は、新しい debian-installer で 32-bit hard-float ARMv7 (「armhf」) に Debian GNU/Linux bookworm をインストールする方法について説明します。これは、イ ンストール作業の迅速なリハーサルで、たいていの導入のために必要となるであろうす べての情報を含んでいます。もっと多くの情報が有用な場合には、この文書内の他の部 分にある、より詳細な説明にリンクします。 A.1. 前置き インストール中にバグに遭遇した場合には、それらを報告する方法の説明のために「イ ンストールレポートの送信」を参照してください。この文書で答えることができない質 問があれば、debian-boot メーリングリスト (debian-boot@lists.debian.org) で直接 質問するか、IRC (OFTC ネットワーク上の #debian-boot) で訊ねてください。 A.2. インストーラを起動する debian-cd チームが debian-installer を使用してビルドしたインストールイメージは 、Debian CD/DVD ページから入手できます。どこでインストールイメージを手に入れら れるかについてのより詳細に関しては、「公式 Debian GNU/Linux インストールイメー ジ」をご覧ください。 一部のインストール方法では、光学メディア用以外のイメージを必要とします。「どこ でインストールファイルを探すか」は、Debian ミラーサイトでイメージを探す方法につ いて説明しています。 以下の小節では、インストール可能なそれぞれの手段のためにどのイメージを取得する べきかを詳しく説明します。 A.2.1. 光学ディスク netinst CD イメージは、debian-installer での bookworm のインストールに使用する のに一般的なイメージです。このインストール方法はこのイメージから起動し、ネット ワーク越しに追加パッケージをインストールするように意図されているので、「netinst 」という名前がついています。また、インストーラを実行するのに必要な、ソフトウェ アコンポーネントと最小限の bookworm システムを提供する基本パッケージが含まれて います。必要なら、ネットワークを必要としない、フルサイズ CD/DVD イメージを手に 入れることもできます。その場合は一式の最初のイメージだけが必要です。 好みのタイプをダウンロードして、光学ディスクに焼いてください。 A.2.2. ネットワークからの起動 debian-installer をネットから完全に起動することもできます。netboot のための様々 な方法は、アーキテクチャや netboot の設定に依存します。netboot/ 以下のファイル は、debian-installer を netboot するために使用できます。 A.2.3. ハードディスクからの起動 リムーバブルメディアを使用せずに、単に既存のハードディスク (そこに異なる OS が あっても構いません) を使ってインストーラを起動することができます。hd-media/ initrd.gz、hd-media/vmlinuz および Debian CD/DVD イメージをハードディスクの一番 上のディレクトリにダウンロードしてください。イメージのファイル名が .iso で終わ っていることを確かめてください。これは initrd を使った Linux の起動時の問題です 。 A.3. インストール インストーラが立ち上がるとすぐに、歓迎の初期画面が表示されます。起動するために Enter を押すか、他の起動方法やパラメータのための説明を読んでください (「起動パ ラメータ」をご覧ください)。 しばらくして、言語を選択するための質問がされます。矢印キーを使って言語を選び、 継続するために Enter を押してください。次に、その言語が話される国々を含む選択肢 が表示され、国を選択するよう質問されます。短いリスト上にはない場合は、世界中の すべての国のリストから選択できます。 キーボードレイアウトを確認するよう尋ねられるかもしれません。もしよく分からなけ れば、デフォルトを選択してください。 debian-installer がハードウェアの一部を検知し、インストールイメージの残りの部分 をロードする間、くつろいでいてください。 次にインストーラは、ネットワークハードウェアを検知し、DHCP によってネットワーク の設定をしようとします。ネットワーク上にないか、DHCP が無い場合は、ネットワーク を手動で設定する機会が与えられます。 ネットワーク設定に続き、ユーザアカウントの作成を行います。デフォルトでは、「 root」 (管理者) アカウントのパスワードと、一般ユーザアカウントの作成に必要な情 報を尋ねます。「root」ユーザのパスワードを指定しない場合、このアカウントは無効 になります。新しいシステムで管理権限が必要なタスクを行うために、後で sudo パッ ケージをインストールすることになります。デフォルトではそのシステムで最初に作成 されたユーザに、root になるための sudo コマンドを使う権限が与えられます。 次のステップは、時計とタイムゾーンの設定です。インストーラは、時計が正しく設定 されるのを保証するため、インターネット上のタイムサーバに接続します。タイムゾー ンは、あらかじめ選択した国を元にしますが、その国に複数のゾーンがある場合のみ問 い合わせてきます。 さあ、ディスクのパーティションを分割しましょう。最初に、ドライブのすべてか、ま たはドライブの利用可能な空き領域を自動的にパーティション分割するか選択する機会 が与えられます (「ガイドパーティション分割」を参照)。これは新規ユーザや急いでい る誰にでも勧められます。自動分割をしたくない場合は、メニューから手動を選んでく ださい。 次の画面でパーティションテーブル (パーティションをどうフォーマットするか、それ をどこにマウントするか) を見ることになります。修正や削除をするためには、パーテ ィションを選択してください。もし自動パーティション分割を行っていれば、設定した ものを使用するメニューから、パーティショニングの終了とディスクへの変更の書き込 みで決定できます。スワップスペースのために少なくとも 1 つのパーティションを割り 当てることと / にパーティションをマウントすることを忘れないようにしてください。 パーティション分割ツールの使い方に関する詳細情報は、「パーティションの分割とマ ウントポイントの選択」をご覧ください。また、付録の付録C Debian でのパーティショ ン分割にパーティション分割に関するもっと多くの情報があります。 それから debian-installer はパーティションをフォーマットし、基本システムのイン ストール (時間がかかることがあります) を始めます。続いてカーネルがインストール されます。 最初にインストールした基本システムでも動作はしますが、最低限のものしかインスト ールされていません。もっと機能的にするには、次のステップでタスクを選択し、追加 パッケージをインストールしてください。なお、パッケージをインストールする前に、 パッケージをどこから取得してインストールするかの定義を、apt に設定する必要があ ります。「標準システム」タスクはデフォルトで選択され、通常は既にインストールさ れているはずです。インストール後にグラフィカルデスクトップが必要であれば、「デ スクトップ環境」を選択してください。このステップについてのさらなる情報は、「ソ フトウェアの選択・インストール」をご覧ください。 最後の段階はブートローダをインストールすることです。コンピュータ上に他のオペレ ーティングシステムを検出した場合は、インストーラがブートメニューにそれらを加え て知らせます。 次に debian-installer は、インストールが終了したことを伝えます。CD-ROM やその他 の起動メディアを取り出して、マシンを再起動するために Enter を叩いてください。新 しくインストールしたシステムが起動し、ログインできるはずです。これは 7章新しい Debian システムを起動してみるで説明しています。 インストール手順についてもっと多くの情報が必要ならば、6章Debian インストーラー の使用法をご覧ください。 A.4. インストールレポートを送ってください debian-installer で首尾よくインストールをやり遂げられたならば、レポート提出のた めにしばらく時間をかけてください。reportbug パッケージをインストールして (apt install reportbug)、「システムの外に電子メールを送る」の説明にあるように reportbug を設定し、reportbug installation-reports と実行するのが最も簡単な方法 です。 もしインストールが完了しなかったのならば、おそらく debian-installer のバグを発 見しました。インストーラを改善するためには、私たちがそれらについて知っているこ とが必要ですので、バグ報告するための時間をとってください。問題を報告するために はインストールレポートが使用できます。インストールが完全に失敗する場合は、「イ ンストールで発生した問題の報告」をご覧ください。 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. ブートプロンプトの preseed の例 B.2.6. 事前設定ファイルを指定するための DHCP の利用方法 B.3. 事前設定ファイルの作成 B.4. 事前設定ファイルの内容 (bookworm 用) B.4.1. 地域化 B.4.2. ネットワーク設定 B.4.3. ネットワークコンソール B.4.4. ミラーサイト設定 B.4.5. アカウント設定 B.4.6. 時計と時間帯の設定 B.4.7. パーティション分割 B.4.8. 基本システムのインストール B.4.9. apt 設定 B.4.10. パッケージ選択 B.4.11. インストールの仕上げ B.4.12. 他パッケージの preseed B.5. 高度なオプション B.5.1. インストール中のカスタムコマンド実行 B.5.2. preseed を用いたデフォルト値変更 B.5.3. 事前設定ファイルのチェーンロード 本付録は preseed の方法を説明します。これは debian-installer の質問に回答してお きインストールを自動化するものです。 本付録で使用する設定の断片は、https://www.debian.org/releases/bookworm/ example-preseed.txt のサンプル事前設定ファイルでも利用できます。 B.1. 概要 preseed は、インストールの実行中に手動で回答を入力せずに、インストールプロセス 中の質問の答を設定する方法を提供します。これにより、ほとんどの方法のインストー ルを自動化し、さらに通常のインストールでは利用できない特徴もあります。 preseed は必須ではありません。空の preseed ファイルを使用すると、インストーラは 通常の手動インストールと同じ振る舞いをします。preseed した各質問は、(正しく与え ていれば!) ベースラインからと同じ方法で、インストールの内容を変更します。 B.1.1. preseed の方法 preseed を利用するには、initrd, file, network と 3 種類の方法があります。initrd preseed は、いずれのインストール方法でも動作し、より多くの preseed をサポートし ますが、多くの準備が必要です。file preseed や network preseed は、それぞれイン ストール方法が異なる場合に使用されます。 以下の表では、各インストール方法で使用できる preseed 方法を示します。 ┌─────────────────────────────────────┬─────────────┬─────────┬───────────────┐ │ インストール方法 │ initrd │ file │ network │ ├─────────────────────────────────────┼─────────────┼─────────┼───────────────┤ │CD/DVD/USB │yes │yes │yes^[a] │ ├─────────────────────────────────────┼─────────────┼─────────┼───────────────┤ │netboot │yes │no │yes │ ├─────────────────────────────────────┼─────────────┼─────────┼───────────────┤ │hd-media │yes │yes │yes^[a] │ ├─────────────────────────────────────┴─────────────┴─────────┴───────────────┤ │^[a] ネットワークアクセスを行う場合だけでなく、適切な preseed/url を設定する │ │場合。 │ └─────────────────────────────────────────────────────────────────────────────┘ preseed 方法の重要な違いは、事前設定ファイルを読込・処理するポイントです。 initrd preseed では、インストールの始め (最初の質問が行われる前) に読み込まれま す。カーネルコマンドラインからの preseed がその直後に続きます。そのため、(可能 なブートローダの場合) ブートローダの設定、またはブートローダのブート時に手作業 でカーネルコマンドラインを編集することにより initrd 中での設定状況に上書きでき ます。file preseed では、インストールイメージが読み込まれた後です。network preseed では、ネットワークの設定の後でないと読み込まれません。 重要 言うまでもなく、事前設定ファイルが読み込まれる前に処理される質問は preseed でき ません (最初のハードウェア検出のように、優先度が中や低でしか表示されない質問も 同様です)。あまり便利ではありませんが「preseed が質問するブートパラメータの利用 」で説明しているように、ブートパラメータを経由して preseed することでそういった 質問が出ないようにする方法があります。 preseed が起動する前に、通常現れる質問を簡単に回避するのに、「自動」モードでイ ンストーラを起動できます。これによりネットワークの設定が終わるまで、preseed の 前に行われる質問 (言語、国、キーボード選択など) を遅らせ、preseed にその質問を 含められます。また、インストールの優先度を最重要で行うため、大量にある重要でな い質問を回避できます。詳細は「自動モード」をご覧ください。 B.1.2. 制限 debian-installer で行われる質問のほとんどはこの方法で preseed できますが、いく つか注目すべき例外があります。ディスク全体を (再度) パーティション分割するか、 ディスクの空き領域を利用しなければなりません。つまり既存のパーティションを利用 できないと言うことです。 B.2. preseed の利用 事前設定ファイルを最初に作成し、使用する場所に配置する必要があります。事前設定 ファイルの作成は本付録で後ほど扱います。network preseed の場合や、ファイルを USB メモリから読み込む場合、簡単に正しい位置に事前設定ファイルを配置できます。 インストール ISO イメージにファイルを含めたければ、イメージを再度マスタリングす る必要があります。initrd に含まれている事前設定ファイルを取り出す方法は、この文 書では扱いません。debian-installer の開発者向け文書を当たってください。 事前設定ファイルの手本にできる事前設定ファイルのサンプルは、https:// www.debian.org/releases/bookworm/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 - または preseed/url=tftp://host/path/to/preseed.cfg preseed/url/checksum=5da499872becccfeda2c4872f9171c3d - リマスタリングしたインストールイメージで起動する場合: 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 に、 preseed/file/checksum は preseed-md5 に短縮できることに注意してください。 B.2.2. preseed が質問するブートパラメータの利用 事前設定ファイルを preseed の各段階で使用できない場合でも、preseed の値をインス トーラ起動時のコマンドラインに与えることで、インストールを自動で行えます。 preseed を使用せず指定した質問への答を設定したい場合にも、ブートパラメータを使 用します。有用な使用法のサンプルが、このマニュアルの別の場所にあります。 debian-installer 内部で使用する値をセットするには、path/to/variable=value のよ うに本付録の例にある preseed 変数を渡すだけです。値がターゲットシステムのパッケ ージを設定することがある場合、owner^[18] 変数を、あらかじめ用意し、owner:path/ to/variable=value で使用する必要があります。owner を指定しない場合、変数の値は ターゲットシステムの debconf データベースにコピーされず、関連パッケージの設定中 使用されません。 通常、この方法で答をあらかじめ設定しておくと、質問してきません。質問のデフォル ト値を指定しているのに、まだ質問してくる場合には、「=」演算子の代わりに、「?=」 を使用してください。「preseed を用いたデフォルト値変更」もご覧ください。 ブートプロンプトによく使用される変数には、短いエイリアスがあることに注意してく ださい。有効なエイリアスは、本サンプル内で完全な変数名の代わりに使用しています 。例えば preseed/url 変数には url というエイリアスがあります。もう一つ、tasks というエイリアスがあり、これは tasksel:tasksel/first に変換されます。 ブートオプションの「---」は特別な意味を持ちます。最後の「---」に続きカーネルパ ラメータがあると、(インストーラがサポートするブートローダの場合) インストール済 みのブートローダの設定にコピーされます。インストーラは、(事前設定オプションのよ うな) オプションを認識すると、自動的にフィルタをかけます。 注記 現在の Linux カーネル (2.6.9 以降) では、最大 (インストーラがデフォルトで指定す るオプションを含め) コマンドラインオプションを 32 個、環境オプションを 32 個受 け取れます。この数を超えると、カーネルはパニック (クラッシュ) してしまいます (以前のカーネルではこの数字がもっと少ないです)。 ほとんどのインストールでは、ブートローダ設定ファイルにある (vga=normal のよう な) デフォルトオプションを安全に削除できるかもしれません。これにより preseed 用 にもっとオプションを追加できます。 注記 ブートパラメータに空白を含んだ値を設定するのは、引用符で囲んだとしてもいつもう まくいくとは限りません。 B.2.3. 自動モード ブートプロンプトでの非常に簡単なコマンドラインで、自動インストールに対して任意 の複雑なカスタマイズを行えるよう組み合わせる、Debian インストーラの機能がいくつ かあります。 これは起動時の選択からインストールの自動化を使うことで有効化できます。アーキテ クチャや起動方法によっては auto とも呼ばれます。ここでは、auto パラメータではな く、起動時の選択でそれを選択して起動時のプロンプトに以下のパラメータを付加する という意味になります。 これを説明するため、以下にブートプロンプトで使用できる例を示します。 auto url=autoserver これは、DNS で autoserver の名前解決ができ (おそらく DHCP でローカルドメイン追 加後)、そのマシンが DHCP サーバであることを前提にしています。example.com という ドメインのサイトが、普通のまともな DHCP を設定していれば、http:// autoserver.example.com/d-i/bookworm/./preseed.cfg から、preseed ファイルを取得 するようになります。 URL (d-i/bookworm/./preseed.cfg) の最後の部分は、auto-install/defaultroot から 取られています。デフォルトでは、将来のバージョンでコードネームを指定して移行し ていけるように、bookworm ディレクトリが含まれています。/./ は、その後に続くパス が確定するように、ルートからの相対パスを示します (preseed/include や preseed/ run で使用)。これにより、完全な URL や / で始まるパス、前回 preseed が見つかっ た場所からの相対パスでファイルを指定できます。スクリプトの階層構造を壊さずに新 しい場所に移動できる (例えばウェブサーバで開始し、USB メモリにコピーする)、より ポータブルなスクリプトを構成するのに便利です。このサンプルでは、preseed ファイ ルの preseed/run に /scripts/late_command.sh が設定されている場合、http:// autoserver.example.com/d-i/bookworm/./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 のよ うな物かもしれません。これが必要だと思うのなら、名前空間の衝突を避けるために < debian-boot@lists.debian.org> メーリングリストで提案してください。おそらくパラ メータのエイリアスが追加されます。 auto ブートの選択肢は、まだ全てのアーキテクチャで定義されてはいません。カーネル のコマンドラインに、単にパラメータを 2 つ auto=true priority=critical を追加す ると、同じ効果を得られます。auto カーネルパラメータは auto-install/enable のエ イリアスで、true に設定するとロケールやキーボードの質問を preseed で行えるよう 遅らせます。また、priority は debconf/priority のエイリアスで、critical に設定 すると、優先度の低い質問を抑制するようになります。 DHCP を使用してインストールの自動化を行う際に、関連する追加オプションは以下の通 りです。interface=auto netcfg/dhcp_timeout=60 これはマシンが最初の使用可能 NIC を選択し、DHCP 問い合わせに対する返答をもっと我慢強く待つようになります。 ヒント スクリプトやクラスのサンプルを含む、フレームワークの使用法についての大規模なサ ンプルが、開発者のウェブサイトにあります。そこで得られるサンプルでも、事前設定 の独創的な使用を成し遂げる、たくさんのすばらしい効果があります。 B.2.4. preseed で利用できるエイリアス 以下のエイリアスは、(自動モード) preseed の際に、役に立つ場合があります。これら は単に、質問名の短いエイリアスであることに注意してください。そのうえで、常に値 を指定する必要があります。例えば、auto=true や interface=eth0 のようにです。 priority debconf/priority fb debian-installer/framebuffer auto auto-install/enable classes auto-install/classes file preseed/file url preseed/url theme debian-installer/theme language debian-installer/language country debian-installer/country locale debian-installer/locale keymap keyboard-configuration/xkb-keymap modules anna/choose_modules firmware hw-detect/firmware-lookup interface netcfg/choose_interface domain netcfg/get_domain hostname    netcfg/get_hostname protocol mirror/protocol suite mirror/suite recommends base-installer/install-recommends tasks tasksel:tasksel/first desktop tasksel:tasksel/desktop preseed-md5 preseed/file/checksum B.2.5. ブートプロンプトの preseed の例 ここではブートプロンプトの見た目の例を示します (これを必要に応じて調整してくだ さい)。 # To set French as language and France as country: /install.amd/vmlinuz vga=788 initrd=/install.amd/gtk/initrd.gz language=fr country=FR --- quiet # To set English as language and Germany as country, and use a German keyboard layout: /install.amd/vmlinuz vga=788 initrd=/install.amd/gtk/initrd.gz language=en country=DE locale=en_US.UTF-8 keymap=de --- quiet # To install the MATE desktop: /install.amd/vmlinuz vga=788 initrd=/install.amd/gtk/initrd.gz desktop=mate-desktop --- quiet # To install the web-server task: /install.amd/vmlinuz initrd=/install.amd/initrd.gz tasksel:tasksel/first=web-server --- B.2.6. 事前設定ファイルを指定するための DHCP の利用方法 事前設定ファイルをネットワークからダウンロードするよう指定するのに、DHCP も使用 できます。DHCP はファイル名の指定ができます。通常これは netboot のファイルです が、URL 形式になっていると、network 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 コマンドで使用されるも のと同じです。事前設定ファイルの行の一般的なフォーマットは以下のようになります 。 <所有者> <質問名> <質問タイプ> <値> このファイルの内容は #_preseed_V1 から始まります 事前設定ファイルを記述する際には、ちょっとした規則があると気に留めておいてくだ さい。 • 型と値の間には、空白かタブを 1 つだけおいてください。空白を追加すると、値の 一部として解釈されます。空値を指定する場合は、型の後に空白かタブを、ひとつ 記述したままにしてください。 • 行継続文字としてバックスラッシュ (「\」) を付けて複数行に分割できます。質問 名の後で分割するのが適当でしょう。型と値の間はよくありません。値の途中で行 を分割するのは、パーティション分割のレシピを除いて、サポートしていません。 • インストーラ自身でのみ使用する debconf 変数 (テンプレート) では、所有者を「 d-i」と設定しておきます。インストールしたシステムで使用する preseed 変数で は、対応する debconf テンプレートを含むパッケージ名を使用するべきです。所有 者が「d-i」ではない変数だけを、インストールしたシステムの debconf データベ ースに伝播させます。 • ほとんどの質問では、訳した値ではなく英語の値を指定する必要がありますが、 (partman など) 訳した値を使用できる質問もあります。 • 質問の中には、インストール中に表示される英語のテキストの代わりに、コードを 取るものがあります。 • #_preseed_V1 から始まります • コメントは先頭がハッシュ記号 (「#」) の行で、その行の最後まで続きます。 事前設定ファイルを作成する簡単な方法は、「事前設定ファイルの内容 (bookworm 用) 」にあるサンプルファイルを元にして作業することです。 その他には、手動インストールを行い、再起動してから debconf-utils パッケージの debconf-get-selections を使用します。以下のように debconf データベースとインス トーラの cdebconf データベースを 1 ファイルに出力してください。 $ echo "#_preseed_V1" > file $ 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. 事前設定ファイルの内容 (bookworm 用) 本付録で使用する設定の断片は、https://www.debian.org/releases/bookworm/ example-preseed.txt のサンプル事前設定ファイルでも利用できます。 本サンプルは、Intel x86 アーキテクチャ用インストールを元にしていることに注意し てください。他のアーキテクチャにインストールする場合、サンプルのいくつか (キー ボードの選択やブートローダの選択など) は適切でないかもしれませんので、そのアー キテクチャ用に適切な debconf 設定で置き換える必要があるでしょう。 Debian インストーラコンポーネントの実際の動作が、どのように異なるのかといった詳 細は、「それぞれのコンポーネントの使用法」にあります。 B.4.1. 地域化 通常のインストール中、地域化について最初に質問されるため、地域化に関する質問は initrd またはカーネルブートパラメータによる方法でのみ preseed 可能となります。 自動モード (「自動モード」) では auto-install/enable=true の設定を (通常は preseed の別名 auto 経由で) 盛り込むことになります。それにより地域化の質問を聞 いてくる時機が後になるため、どの方法でも preseed できるようになります。 ロケールは言語と国を両方指定でき、debian-installer がサポートする言語と認識する 国のいずれかの組み合わせでもかまいません。組み合わせが正しいロケールの形になっ ていない場合、インストーラは選択した言語から正しいロケールを自動選択します。ブ ートパラメータでロケールを指定するには、locale=en_US としてください。 この方法は非常に簡単ですが、言語・国・ロケールの利用可能な組み合わせを、すべて preseed できるわけではありません^[19]。言語と国は、どちらもブートパラメータで指 定できます。 # Preseeding only locale sets language, country and locale. d-i debian-installer/locale string en_US # The values can also be preseeded individually for greater flexibility. #d-i debian-installer/language string en #d-i debian-installer/country string NL #d-i debian-installer/locale string en_GB.UTF-8 # Optionally specify additional locales to be generated. #d-i localechooser/supported-locales multiselect en_US.UTF-8, nl_NL.UTF-8 キーボード設定は、キーマップの選択と、(非ラテンキーマップ向けの) 非ラテンキーマ ップと US キーマップとの、切り替えキーの選択から成っています。インストール中で は基本的なキーマップバリエーションしか有効ではありません。詳細なバリエーション は、インストールしたシステムで dpkg-reconfigure keyboard-configuration を実行す ることでのみ有効になります。 # Keyboard selection. d-i keyboard-configuration/xkb-keymap select jp # d-i keyboard-configuration/toggle select No toggling キーボード設定をスキップするには、keymap を skip-config と preseed してください 。これにより、カーネルのキーマップが有効になったままとなります。 B.4.2. ネットワーク設定 もちろん、ネットワークから事前設定ファイルを読み込む場合、preseed のネットワー ク設定は動作しません。しかし、光学ディスクや USB メモリから起動するときには重要 です。ネットワークから事前設定ファイルを読み込む場合、ネットワーク設定パラメー タは、カーネルブートパラメータで渡すことになります。 ネットワークから事前設定ファイルを読み込む前に netboot するとき、特定のインター フェースを選ぶ必要があるなら、interface=eth1 のようにブートパラメータを使用して ください。 「preseed/url」で network preseed を使用する際、ネットワーク設定の preseed は通 常不可能ですが、例えば、ネットワークインターフェースに静的アドレスを設定すると いった、以下のハックを利用して動作させることができます。このハックは、以下のコ マンドを含む「preseed/run」スクリプトを作成し、事前設定ファイルを読み込んだ後で ネットワークの設定を強制的に再度行う、というものです。 kill-all-dhcp; netcfg 以下の debconf 変数は、ネットワークの設定と関係があります。 # Disable network configuration entirely. This is useful for cdrom # installations on non-networked devices where the network questions, # warning and long timeouts are a nuisance. #d-i netcfg/enable boolean false # 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 # To set a different link detection timeout (default is 3 seconds). # Values are interpreted as seconds. #d-i netcfg/link_wait_timeout string 10 # 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 #d-i netcfg/dhcpv6_timeout string 60 # Automatic network configuration is the default. # If you prefer to configure the network manually, uncomment this line and # the static network configuration below. #d-i netcfg/disable_autoconfig 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. # # IPv4 example #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/get_nameservers string 192.168.1.1 #d-i netcfg/confirm_static boolean true # # IPv6 example #d-i netcfg/get_ipaddress string fc00::2 #d-i netcfg/get_netmask string ffff:ffff:ffff:ffff:: #d-i netcfg/get_gateway string fc00::1 #d-i netcfg/get_nameservers string fc00::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 # If you want to force a hostname, regardless of what either the DHCP # server returns or what the reverse DNS entry for the IP is, uncomment # and adjust the following line. #d-i netcfg/hostname string somehost # 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 # If you want to completely disable firmware lookup (i.e. not use firmware # files or packages that might be available on installation images): #d-i hw-detect/firmware-lookup string never # If non-free firmware is needed for the network or other hardware, you can # configure the installer to always try to load it, without prompting. Or # change to false to disable asking. #d-i hw-detect/load_firmware boolean true netcfg/get_netmask が preseed されていない場合、netcfg は自動的にネットマスクを 決定することに注意してください。この場合、自動インストールを行うためには、この 変数を seen としてマークされていなければなりません。同様に、netcfg/get_gateway が設定されていないと、netcfg は適切なアドレスを選択します。特殊な場合として、 netcfg/get_gateway に「none」と設定して、ゲートウェイを使用しないようにできます 。 B.4.3. ネットワークコンソール # Use the following settings if you wish to make use of the network-console # component for remote installation over SSH. This only makes sense if you # intend to perform the remainder of the installation manually. #d-i anna/choose_modules string network-console #d-i network-console/authorized_keys_url string http://10.0.0.1/openssh-key #d-i network-console/password password r00tme #d-i network-console/password-again password r00tme network-consolse に関する詳細な情報は「network-console を利用したインストール」 で参照してください。 B.4.4. ミラーサイト設定 使用するインストール方法に依存しますが、インストーラの追加コンポーネントのダウ ンロードや、基本システムのインストール、インストールしたシステムの /etc/apt/ sources.list のセットアップにミラーサイトを使用できます。 mirror/suite パラメータでは、インストールするシステム用の組を設定します。 mirror/udeb/suite パラメータでは、インストーラの追加コンポーネントの組を設定し ます。実際にコンポーネントをネットワークでダウンロードする場合に役立つだけです 。また、インストールで使用するインストール方法のための initrd を生成するには、 この組が一致していなければなりません。通常インストーラは、自動的に正しい値を設 定しますので、設定する必要はありません。 # Mirror protocol: # If you select ftp, the mirror/country string does not need to be set. # Default value for the mirror protocol: http. #d-i mirror/protocol string ftp d-i mirror/country string manual 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.5. アカウント設定 root アカウント用のパスワードや、最初のユーザアカウントの名前・パスワードは preseed できます。パスワードには、平文か crypt(3) ハッシュのどちらかを使用でき ます。 警告 パスワードを知っている事前設定ファイルに誰でもアクセスできるため、preseed のパ スワードは、完全に安全というわけではないことを知っておいてください。保存するパ スワードをハッシュ化することで、総当たり攻撃を許す DES や MD5 のような弱いハッ シュ化アルゴリズムを使わない限りは安全だと考えられます。ハッシュ化アルゴリズム としては SHA-256 か SHA512 を勧めます。。 # 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 a crypt(3) hash. #d-i passwd/root-password-crypted password [crypt(3) 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 a crypt(3) hash. #d-i passwd/user-password-crypted password [crypt(3) hash] # Create the first user with the specified UID instead of the default. #d-i passwd/user-uid string 1010 # The user account will be added to some standard initial groups. To # override that, use this. #d-i passwd/user-default-groups string audio cdrom video passwd/root-password-crypted 変数や passwd/user-password-crypted 変数では、 preseed で「!」という値を取れます。この場合、そのアカウントは無効となります。も ちろん管理権限での実行や root ログインを許可する代替手段 (例えば SSH キー認証や sudo) を用意しておいた上で、root アカウントに設定すると便利です。 以下のコマンド (whois パッケージから利用できます) を、パスワードの SHA-512 ベー スの crypt(3) ハッシュを生成するのに利用できます。 mkpasswd -m sha-512 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 # Controls whether to use NTP to set the clock during the install d-i clock-setup/ntp boolean true # NTP server to use. The default is almost always fine here. #d-i clock-setup/ntp-server string ntp.example.com B.4.7. パーティション分割 ハードディスクのパーティション分割に preseed を使用するのは、partman-auto でサ ポートしている機能に限定されています。パーティションはディスクに既存の空き領域 とディスク全体のどちらかから選べます。ディスクレイアウトは、あらかじめ定義した レシピ、レシピファイルによるカスタムレシピ、事前設定ファイルに書いたレシピから 選択できます。 RAID、LVM、暗号化を用いた高度なパーティションセットアップを、preseed ではサポー トしていますが、preseed を用いずにインストールしたときに使用できるような、完全 な柔軟性があるわけではありません。 以下の例は、レシピを使用する際の基本的な情報のみを提供しています。詳細情報は、 debian-installer パッケージにある、partman-auto-recipe.txt と partman-auto-raid-recipe.txt をご覧ください。どちらのファイルも debian-installer ソースリポジトリにもあります。リリースごとに、サポートする機能 が変更されることがありますので、注意してください。 警告 ディスクの識別は、ドライバの読み込み順に依存します。複数のディスクがシステムに ある場合、preseed を使用する前に、正しいディスクを確実に選択できるようにしなけ ればなりません。 B.4.7.1. パーティション分割の例 # If the system has free space you can choose to only partition that space. # This is only honoured if partman-auto/method (below) is not set. #d-i partman-auto/init_automatically_partition select biggest_free # Alternatively, you may specify a disk to partition. If the system has only # one disk the installer will default to using that, but otherwise the device # name must be given in traditional, non-devfs format (so e.g. /dev/sda # and not e.g. /dev/discs/disc0/disc). # For example, to use the first SCSI/SATA hard disk: #d-i partman-auto/disk string /dev/sda # In addition, you'll need to specify the method to use. # The presently available methods are: # - regular: use the usual partition types for your architecture # - lvm: use LVM to partition the disk # - crypto: use LVM within an encrypted partition d-i partman-auto/method string lvm # You can define the amount of space that will be used for the LVM volume # group. It can either be a size with its unit (eg. 20 GB), a percentage of # free space or the 'max' keyword. d-i partman-auto-lvm/guided_size string max # 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-lvm/device_remove_lvm boolean true # The same applies to pre-existing software RAID array: d-i partman-md/device_remove_md boolean true # And the same goes for the confirmation to write the lvm partitions. d-i partman-lvm/confirm boolean true d-i partman-lvm/confirm_nooverwrite boolean true # You can choose one of the three predefined partitioning recipes: # - atomic: all files in one partition # - home: separate /home partition # - multi: separate /home, /var, and /tmp partitions d-i partman-auto/choose_recipe select atomic # Or provide a recipe of your own... # 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{ } \ # . # The full recipe format is documented in the file partman-auto-recipe.txt # included in the 'debian-installer' package or available from D-I source # repository. This also documents how to specify settings such as file # system labels, volume group names and which physical devices to include # in a volume group. ## Partitioning for EFI # If your system needs an EFI partition you could add something like # this to the recipe above, as the first element in the recipe: # 538 538 1075 free \ # $iflabel{ gpt } \ # $reusemethod{ } \ # method{ efi } \ # format{ } \ # . \ # # The fragment above is for the amd64 architecture; the details may be # different on other architectures. The 'partman-auto' package in the # D-I source repository may have an example you can follow. # This makes partman automatically partition without confirmation, provided # that you told it what to do using one of the methods above. d-i partman-partitioning/confirm_write_new_label boolean true d-i partman/choose_partition select finish d-i partman/confirm boolean true d-i partman/confirm_nooverwrite boolean true # Force UEFI booting ('BIOS compatibility' will be lost). Default: false. #d-i partman-efi/non_efi_system boolean true # Ensure the partition table is GPT - this is required for EFI #d-i partman-partitioning/choose_label select gpt #d-i partman-partitioning/default_label string gpt # When disk encryption is enabled, skip wiping the partitions beforehand. #d-i partman-auto-crypto/erase_disks boolean false B.4.7.2. RAID を用いたパーティション分割 ソフトウェア RAID アレイにパーティションをセットアップすることも、preseed を使 用してできます。サポートしているのは、RAID 0, 1, 5, 6, 10、や縮退アレイの作成、 スペアデバイスの指定です。 警告 自動パーティション分割でのこの形式は、誤動作をしやすいです。またこの機能は、 debian-installer の開発者によって、相対的にまだあまりテストを受けていません。様 々な条件で正しく動作するかの責任 (理解でき衝突しない限り) は、ユーザの側にあり ます。問題が発生したら、/var/log/syslog をチェックしてください。 # 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/sda /dev/sdb # 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. RAID levels 0, 1, 5, 6 and 10 are supported; # devices are separated using "#". # Parameters are: # \ # #d-i partman-auto-raid/recipe string \ # 1 2 0 ext3 / \ # /dev/sda1#/dev/sdb1 \ # . \ # 1 2 0 swap - \ # /dev/sda5#/dev/sdb5 \ # . \ # 0 2 0 ext3 /home \ # /dev/sda6#/dev/sdb6 \ # . # For additional information see the file partman-auto-raid-recipe.txt # included in the 'debian-installer' package or available from D-I source # repository. # This makes partman automatically partition without confirmation. d-i partman-md/confirm boolean true d-i partman-partitioning/confirm_write_new_label boolean true d-i partman/choose_partition select finish d-i partman/confirm boolean true d-i partman/confirm_nooverwrite boolean true B.4.7.3. パーティションマウントの制御 通常、ファイルシステムは、汎用一意識別子 (UUID) をキーとしてマウントされます。 これにより、デバイス名が変更されたとしても、適切にマウントできます。UUID は長く 読みにくいため、お好みにより、インストーラは、伝統的なデバイス名やあなたが割り 当てたラベルをベースにして、ファイルシステムをマウントできます。インストーラに ラベルでマウントさせる場合、ラベルがないファイルシステムは、UUID でマウントされ ます。 LVM 論理ボリュームのような不変名のデバイスは、UUID ではなく伝統的な名前で使用さ れ続けます。 警告 伝統的なデバイス名は、ブート時にカーネルが検出する順番によって、変わってしまう 可能性があり、そのため、誤ったファイルシステムをマウントする原因になります。同 様に、新しいディスクや USB ドライブを挿すと、ラベルが競合してしまいます。こうな ってしまうと、起動時の挙動が不定になってしまいます。 # The default is to mount by UUID, but you can also choose "traditional" to # use traditional device names, or "label" to try filesystem labels before # falling back to UUIDs. #d-i partman/mount_style select uuid B.4.8. 基本システムのインストール インストールのこの段階で、実際に preseed できる項目は多くありません。質問はカー ネルのインストールに関するものだけです。 # Configure APT to not install recommended packages by default. Use of this # option can result in an incomplete system and should only be used by very # experienced users. #d-i base-installer/install-recommends boolean false # The kernel image (meta) package to be installed; "none" can be used if no # kernel is to be installed. #d-i base-installer/kernel/image string linux-image-686 B.4.9. apt 設定 /etc/apt/sources.list のセットアップと基本設定オプションは、インストール方法と 初期の質問への回答から、完全に自動的に行われます。さらに、他の (ローカルな) リ ポジトリを追加できます。 # Choose, if you want to scan additional installation media # (default: false). d-i apt-setup/cdrom/set-first boolean false # You can choose to install non-free firmware. #d-i apt-setup/non-free-firmware boolean true # 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 the following line, if you don't want to have the sources.list # entry for a DVD/BD installation image active in the installed system # (entries for netinst or CD images will be disabled anyway, regardless of # this setting). #d-i apt-setup/disable-cdrom-entries boolean true # Uncomment this if you don't want to use a network mirror. #d-i apt-setup/use_mirror boolean false # Select which update services to use; define the mirrors to be used. # Values shown below are the normal defaults. #d-i apt-setup/services-select multiselect security, updates #d-i apt-setup/security_host string security.debian.org # Additional repositories, local[0-9] available #d-i apt-setup/local0/repository string \ # 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 # or one can provide it in-line by base64 encoding the contents of the # key file (with `base64 -w0`) and specifying it thus: #d-i apt-setup/local0/key string base64://LS0tLS1CRUdJTiBQR1AgUFVCTElDIEtFWSBCTE9DSy0tLS0tCi4uLgo= # The content of the key file is checked to see if it appears to be ASCII-armoured. # If so it will be saved with an ".asc" extension, otherwise it gets a '.gpg' extension. # "keybox database" format is currently not supported. (see generators/60local in apt-setup's source) # 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 boolean true # Uncomment this to add multiarch configuration for i386 #d-i apt-setup/multiarch string i386 B.4.10. パッケージ選択 有効なタスクを組み合わせてインストールするものを選ぶことができます。有効なタス クを以下に書き出します。 • standard (標準ツール) • desktop (グラフィカルデスクトップ) • gnome-desktop (Gnome デスクトップ) • xfce-desktop (XFCE デスクトップ) • kde-desktop (KDE Plasma デスクトップ) • cinnamon-desktop (Cinnamon デスクトップ) • mate-desktop (MATE デスクトップp) • lxde-desktop (LXDE デスクトップ) • web-server (web サーバ) • ssh-server (SSH サーバ) タスクをインストールしないこともできますし、他の方法でパッケージのセットが強制 的にインストールされることもあります。standard タスクは常に含めるのをお勧めしま す。 あるいは tasksel のダイアログを全く表示させたくないという場合は、pkgsel/ run_tasksel の preseed を設定してください(この場合、tasksel ではパッケージは何 もインストールされません)。 タスクでインストールするパッケージに加えて、特定のパッケージをインストールする 場合、pkgsel/include パラメータを使用できます。このパラメータの値は、カーネルコ マンドラインと同様に簡単に仕様できるよう、カンマか空白で区切ったパッケージのリ ストを取れます。 #tasksel tasksel/first multiselect standard, web-server, kde-desktop # Or choose to not get the tasksel dialog displayed at all (and don't install # any packages): #d-i pkgsel/run_tasksel boolean false # Individual additional packages to install #d-i pkgsel/include string openssh-server build-essential # Whether to upgrade packages after debootstrap. # Allowed values: none, safe-upgrade, full-upgrade #d-i pkgsel/upgrade select none # You can choose, if your system will 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 should be included on the first CD/DVD. #popularity-contest popularity-contest/participate boolean false B.4.11. インストールの仕上げ # During installations from serial console, the regular virtual consoles # (VT1-VT6) are normally disabled in /etc/inittab. Uncomment the next # line to prevent this. #d-i finish-install/keep-consoles boolean true # 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 # This is how to make the installer shutdown when finished, but not # reboot into the installed system. #d-i debian-installer/exit/halt boolean true # This will power off the machine instead of just halting it. #d-i debian-installer/exit/poweroff boolean true B.4.12. 他パッケージの 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. インストール中のカスタムコマンド実行 事前設定ツールには、インストール中の一定の箇所でコマンドやスクリプトを実行する といった、とても強力で柔軟なオプションが存在します。 ターゲットシステムのファイルシステムがマウントされると /target 以下で利用できる ようになります。インストールCDを利用している場合はマウント後には /cdrom 以下で 利用できるようになります。 # 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 immediately before the partitioner starts. It may be # useful to apply dynamic partitioner preseeding that depends on the state # of the disks (which may not be visible when preseed/early_command runs). #d-i partman/early_command \ # string debconf-set partman-auto/disk "$(list-devices disk | head -n1)" # 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 パラメータを設定し、すべての質問に 対して同じ効果を及ぼすこともできます。これは事前設定ファイルのテストやデバッグ にも便利です。 「d-i」という owner は、インストーラ自身が使用する変数でのみ、使用するべきであ ることに注意してください。ターゲットシステムにインストールされたパッケージに属 する変数用には、パッケージ名を代わりに使用するべきです。「preseed が質問するブ ートパラメータの利用」の脚注をご覧ください。 ブートパラメータを利用して preseed を行う場合、質問に対して「?=」演算子を使用し て回答できます。例: foo/bar?=value (もしくは owner:foo/bar?=value) これはもちろ ん、インストール中に実際に表示される質問に対応するパラメータにのみ効果を及ぼし 、「内部」パラメータには効果を及ぼしません。 詳細なデバッグ情報を取得するためには、ブートパラメータ DEBCONF_DEBUG=5 を使用し てください。これにより debconf が、各変数の現在の設定と各パッケージのインストー ルスクリプトの動作について、より詳細な情報を出力してくれます。 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 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 また initrd や file preseed の段階で、あらかじめ用意したファイルの preseed/url で設定した network preseed へ、チェーンロードを行うことができます。これにより、 ネットワークに接続した時点で network preseed を行えます。この場合、2 種類の異な る preseed が実行されることに注意してください。例えば、preseed/early コマンドを 実行する機会が 2 度あり、2 回目はネットワークに接続した時に発生するということで す。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ^[18] debconf 変数 (やテンプレート) の所有者 (owner) は、debconf テンプレートに 含まれるように、通常パッケージ名です。インストーラ自体が使用する値は、「d-i」に なっています。テンプレートや変数は、複数の owner を持て、パッケージを完全削除す る際に debconf データベースから削除できるかどうかを決定するのに利用されます。 ^[19] 例えば、preseed で locale を en_NL とすると、インストールしたシステムのデ フォルトロケールは en_US.UTF-8 になります。例えば en_GB.UTF-8 を期待するのであ れば、preseed にその値を設定する必要があります。 付録C Debian でのパーティション分割 目次 C.1. Debian のパーティションとそのサイズを決める C.2. ディレクトリツリー C.3. お勧めするパーティションルール C.4. Linux におけるデバイス名 C.5. Debian のパーティション分割プログラム 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 │システム情報を含む仮想ディレクトリ │ ├────────────┼──────────────────────────────────────────────────────┤ │root │root ユーザのホームディレクトリ │ ├────────────┼──────────────────────────────────────────────────────┤ │run │ランタイム可変データ │ ├────────────┼──────────────────────────────────────────────────────┤ │sbin │基本的なシステムバイナリ │ ├────────────┼──────────────────────────────────────────────────────┤ │sys │システム情報を含む仮想ディレクトリ │ ├────────────┼──────────────────────────────────────────────────────┤ │tmp │一時ファイル用 │ ├────────────┼──────────────────────────────────────────────────────┤ │usr │第 2 階層 │ ├────────────┼──────────────────────────────────────────────────────┤ │var │可変データ │ ├────────────┼──────────────────────────────────────────────────────┤ │srv │システムによって割り当てられた、サービスのためのデータ│ ├────────────┼──────────────────────────────────────────────────────┤ │opt │アドオンアプリケーションソフトウェアパッケージ │ └────────────┴──────────────────────────────────────────────────────┘ 以下の一覧は、ディレクトリやパーティションについて重要となる考え方を説明したも のです。与えられたシステム構成や特別な使用パターンによって、ディスク使用状況は 大きく変化することに注意して下さい。ここで提案するのは一般的なガイドラインであ り、パーティション分割の第一歩を提供しています。 • The root partition / must always physically contain /etc, /bin, /sbin, / lib, /dev and /usr, otherwise you won't be able to boot. This means that you should provide at least 600-750MB of disk space for the root partition including /usr, or 5-6GB for a workstation or a server installation. • /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 つ (とスワップ) で済ますのが、恐らく もっとも簡単で素直なやり方でしょう。お勧めのパーティションタイプは ext4 です。 マルチユーザシステムやたくさんのディスク容量があるシステムでは、/var、/tmp、/ home をそれぞれ / パーティションとは別の独立したパーティションにするのが良いで しょう。 Debian のディストリビューションには含まれていないプログラムをたくさんインストー ルするつもりなら、/usr/local パーティションが必要となるかもしれません。またメー ルサーバとして利用するなら、/var/mail を別のパーティションにする必要があるかも しれません。たくさんのユーザアカウントを抱えるサーバを設置するなら、独立した大 きな /home パーティションを用意することも大抵は良い考えです。このように、利用方 法に応じて、パーティションの配置状態はコンピュータによって様々です。 とても複雑なシステムのためには、 Multi Disk HOWTO をご覧になるとよいでしょう。 こちらには、ISP やサーバの管理者が関心を持つような事柄の多くが、詳細な情報とし て含まれています。 スワップスペースの問題に関しては、様々な見方があります。大雑把ながらも悪くない やり方は、搭載しているシステムメモリと同じ容量のスワップを用意することです。た だし多くの場合は 512MB 以下にすべきではありません。もちろんこのルールにも例外は あります。 一例として、以前の自宅用マシンを紹介しましょう。このマシンは 512MB の RAM と / dev/sda に 20GB SATA のハードディスクを搭載していました。/dev/sda1 には別の OS 用に 8GB のパーティションがあり、/dev/sda3 を 512MB のスワップパーティションと して使用し、残りの約 11.4GB の /dev/sda2 を Linux パーティションにしていました 。 システムのインストールが完了した後に入れることになるであろう各タスク (task) の 占める領域については「タスクに必要なディスクの空き容量」を調べてください。 C.4. Linux におけるデバイス名 Linux におけるディスクおよびパーティションの命名法は、他のオペレーティングシス テムとは異なっています。パーティションを作成したりマウントしたりする際には、 Linux がどのようなディスク名を用いるのか知っておく必要があります。以下は基本的 な命名法の仕組みです。 • 最初に見つかったハードディスクは /dev/sda と名付けられる。 • 2 番目に見つかったハードディスクは /dev/sdb と名付けられ、以下も同様。 • 第 1 SCSI CD-ROM は /dev/scd0 および /dev/sr0 と名付けられる。 各ディスクのパーティションは、ディスク名に十進数を付け加えることで表します。例 えば 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 のコマンドラインから、異なるパー ティション分割ツールを使うこともできますがお勧めしません。 付録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. リモートアクセス: SSH のインストールとアクセス方法の設定 D.3.8. 仕上げに D.4. PPP over Ethernet (PPPoE) を用いた Debian GNU/Linux のインストール D.1. Linux のデバイス Linux では、/dev に特別なファイルがいろいろとあります。このファイルはデバイスフ ァイルと呼ばれ、通常のファイルと異なる振る舞いをします。デバイスファイルの一般 的なものは、ブロックデバイスとキャラクタデバイスです。このファイルは、ハードウ ェアにアクセスする実際のドライバ (Linux カーネルの一部) へのインターフェースで す。その他、あまり一般的ではありませんが、パイプというデバイスファイルの形式も あります。以下に、最も重要なデバイスファイルを一覧します。 ┌────┬────────────────────────────────────────────┐ │sda │第 1 ハードディスク │ ├────┼────────────────────────────────────────────┤ │sdb │第 2 ハードディスク │ ├────┼────────────────────────────────────────────┤ │sda1│最初のハードディスクの最初のパーティション │ ├────┼────────────────────────────────────────────┤ │sdb7│2番目のハードディスクの7番目のパーティション│ └────┴────────────────────────────────────────────┘ ┌───┬────────────┐ │sr0│第 1 CD-ROM │ ├───┼────────────┤ │sr1│第 1 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 です。 あなたのマウスが動作するには、特定のカーネルモジュールを読み込まなければなりま せん。ほとんどの場合、正しいモジュールを自動検出しますが、旧式のシリアルマウス や、バスマウスでは^[20]いつもそうとは限りません。とはいえ、非常に古いコンピュー タでなければ、かなり「まれ」です。以下に、マウスのタイプごとの、Linux カーネル モジュールをまとめます。 ┌──────────┬─────────────────────────────────────────────────────┐ │モジュール│ 説明 │ ├──────────┼─────────────────────────────────────────────────────┤ │psmouse │PS/2 マウス (自動検出可) │ ├──────────┼─────────────────────────────────────────────────────┤ │usbhid │USB マウス (自動検出可) │ ├──────────┼─────────────────────────────────────────────────────┤ │sermouse │ほとんどのシリアルマウス │ ├──────────┼─────────────────────────────────────────────────────┤ │logibm │Logitech アダプタカードに接続するバスマウス │ ├──────────┼─────────────────────────────────────────────────────┤ │inport │ATI や Microsoft の InPort カードに接続するバスマウス│ └──────────┴─────────────────────────────────────────────────────┘ マウスドライバモジュールを読み込むのに、modconf コマンド (同名のパッケージに収 録) を使用でき、kernel/drivers/input/mouse カテゴリから探せます。 D.2. タスクに必要なディスクの空き容量 amd64 アーキテクチャの全標準パッケージを含む標準インストールで、デフォルトのカ ーネルを用いると、1242MB 以上のディスク領域を必要とします。「標準システム」タス クを選択しない最小の基本インストールでは、1012MB 必要でしょう。 重要 どちらの場合も、インストールが完了し一時ファイルを削除した後の、実際のディスク 領域です。ジャーナルファイルのような、ファイルシステムのオーバーヘッドで消費さ れる量は含まれていません。これは、インストールの最中や通常のシステム利用では、 もっと大量にディスク領域が必要だということです。 以下の表は tasksel で表示されるタスクについて、aptitude が報告したサイズです。 いくつかのタスクでは、内容が一部重複していることに注意してください。つまり、2 つのタスクを一緒にインストールした後のインストールサイズは、挙げてある数値を合 計したものよりも、小さくなるということです。 デフォルトでは、インストーラは GNOME デスクトップ環境をインストールしますが、特 殊なインストールイメージを使用したり、インストール中に希望のデスクトップ環境を 指定して、その他のデスクトップ環境を選択できます (「ソフトウェアの選択・インス トール」参照)。 パーティションのサイズを決定するとき、標準インストールのサイズに加え、以下の表 に列挙したサイズが必要であるのに注意してください。「Installed size」はインスト ール完了時に /usr と /lib に必要なサイズを、「Download size」は /var に (一時的 に) 必要なサイズを記述しています。 ┌────────────────┬─────────────────┬─────────────────┬────────────────────────┐ │ タスク │インストールサイ │ダウンロードサイ │インストールに必要な空き│ │ │ ズ (MB) │ ズ (MB) │ 容量 (MB) │ ├────────────────┼─────────────────┼─────────────────┼────────────────────────┤ │デスクトップ環境│  │  │  │ ├────────────────┼─────────────────┼─────────────────┼────────────────────────┤ │  • GNOME (デフ │3216 │859 │4075 │ │ォルト) │ │ │ │ ├────────────────┼─────────────────┼─────────────────┼────────────────────────┤ │  • KDE Plasma │4584 │1316 │5900 │ ├────────────────┼─────────────────┼─────────────────┼────────────────────────┤ │  • Xfce │2509 │683 │3192 │ ├────────────────┼─────────────────┼─────────────────┼────────────────────────┤ │  • LXDE │2539 │693 │3232 │ ├────────────────┼─────────────────┼─────────────────┼────────────────────────┤ │  • MATE │2851 │762 │3613 │ ├────────────────┼─────────────────┼─────────────────┼────────────────────────┤ │  • Cinnamon │4676 │1324 │6000 │ ├────────────────┼─────────────────┼─────────────────┼────────────────────────┤ │ウェブサーバ │85 │19 │104 │ ├────────────────┼─────────────────┼─────────────────┼────────────────────────┤ │SSH サーバ │2 │1 │3 │ └────────────────┴─────────────────┴─────────────────┴────────────────────────┘ 英語以外の言語でインストールする場合、その言語が有効なら tasksel は地域化タスク を、自動的にインストールします。必要な容量は言語によって異なりますが、ダウンロ ードとインストールで最大 350MB 必要となります。 D.3. Unix/Linux システムからの Debian GNU/Linux のインストール この節は、マニュアルの他の部分で説明されているメニュードリブンインストーラを使 用せずに、既存の Unix・Linux システムから Debian GNU/Linux をインストールする方 法について説明します。この「クロスインストール」 HOWTO は、Red Hat, Mandriva, SUSE から Debian GNU/Linux に移行するユーザの要望で書かれました。本節では、*nix コマンドの入力について熟知し、ファイルシステムを操作できるのが前提となっていま す。本節では、#が Debian chroot に入力されたコマンドを示し、$ はユーザの現在の システムに入力されるコマンドを表します。 一旦、新しい Debian システムを好みに設定したら、既存のユーザデータを (あるなら) 稼働したまま移行できます。したがって、これは「ダウンタイム無し」での Debian GNU /Linux インストールになります。またこれは、様々な起動・インストールメディアと相 性のよくないハードウェアに対処するうまい方法です。 注記 これはほとんど手作業になりますから、自分でシステムの大部分の基本設定を行う必要 があります。それには通常のインストールよりも Debian や Linux の一般的な知識が必 要なことを覚えておいてください。また、この手順で通常のインストールと全く同じシ ステムになると期待してはいけません。これはシステムをセットアップする基本的な手 順でしかありません。追加インストールや追加設定が必要になるかもしれません。 D.3.1. はじめに 今の *nix のパーティション分割ツールで、スワップと最低 1 つファイルシステムを作 成するよう、ハードディスクを希望に添って再分割してください。コンソールのみのイ ンストールには、最低 1012MB の空き領域が必要ですし、X をインストールする予定な ら 2539MB (GNOME や KDE Plasma のようなデスクトップ環境をインストールする場合は もっと) 必要です。 次に、パーティションにファイルシステムを作成してください。例えば、/dev/sda6 パ ーティションに、ext3 ファイルシステムを作成するには、以下のようにします。(今回 の例ではこのパーティションを root パーティションとします) # mke2fs -j /dev/sda6 ext3 ではなく ext2 ファイルシステムを作成するには、-j を取ってください。 スワップを以下のように初期化して有効にしてください。(パーティション番号は、 Debian スワップパーティションにするパーティション番号に、読み替えてください) # mkswap /dev/sda5 # sync # swapon /dev/sda5 パーティションを /mnt/debinst (インストールポイント。新システムの root (/) ファ イルシステムになります) にマウントしてください。厳密にいうとマウントポイント名 は何でも構いません。以降の説明ではこれを使用します。 # mkdir /mnt/debinst # mount /dev/sda6 /mnt/debinst 注記 分割したパーティションをファイルシステムの一部 (例 /usr) にマウントする場合、次 のステージに進む前に、手動でそのディレクトリを作成・マウントする必要があります 。 D.3.2. debootstrap のインストール Debian インストーラが使用するユーティリティで、Debian 基本システムをインストー ルする公式の方法と認められているのが debootstrap です。wget と ar を使用します が、/bin/sh と基本的な Unix/Linux ツール^[21]にのみ依存しています。今のシステム にまだインストールしていなければ、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/mirror/list に一覧があります。 bookworm Debian GNU/Linux インストールイメージを持っていて、/cdrom にマウントし ていれば、http URL に代えて file URL (file:/cdrom/debian/) を使用することができ ます。 debootstrap コマンドの ARCH は、amd64, arm64, armel, armhf, i386, mips64el, mipsel, ppc64el, s390x のどれかと置き換えるか、 # /usr/sbin/debootstrap --arch ARCH bookworm \ /mnt/debinst http://ftp.us.debian.org/debian のようにします。所用のアーキテクチャがホストとは異なる場合には --foreign オプシ ョンを追加します。 D.3.4. 基本システムの設定 さあ、これでディスクに真の Debian システムを (いくぶん中がスカスカですが) 手に 入れました。そこに chroot してください。 # LANG=C.UTF-8 chroot /mnt/debinst /bin/bash 所用のアーキテクチャがホストとは異なる場合にはまず、qemu-user-static を新しいホ ストにコピーする必要があるかもしれません。 # cp /usr/bin/qemu-ARCH-static /mnt/debinst/usr/bin # LANG=C.UTF-8 chroot /mnt/debinst qemu-ARCH-static /bin/bash chroot した後で Debian 基本システムと互換のある端末定義を設定する必要があるかも しれません。例えば # export TERM=xterm-color のようにします。TERM の値により、その値をサポートするのに ncurses-term パッケー ジをインストールする必要があるかもしれません。 所用のアーキテクチャがホストとは異なる場合には複数段階の前処理を終えておく必要 があるかもしれません。 /debootstrap/debootstrap --second-stage D.3.4.1. デバイスファイルの作成 この時点で、/dev/ には、非常に基本的なデバイスファイルがあるだけです。おそらく インストールの次のステップで、追加デバイスファイルが必要になります。インストー ルに使用するホストシステムがモジュール化カーネルを使用するかどうかや、新しいシ ステムで動的デバイスファイル (例: udev を使用) と静的デバイスファイルのどちらを 使用するかにより、どの方法で行うかが異なります。 以下のような選択肢があります。 • makedev パッケージをインストールし、次のようにして (chroot してから)、デフ ォルトの静的デバイスファイル群を作成してください。 # apt install makedev # mount none /proc -t proc # cd /dev # MAKEDEV generic • MAKEDEV を使用して、指定したデバイスファイルのみを手で作成します。 • ホストシステムの /dev をターゲットシステムの /dev の先頭にマウントします。 いくつかのパッケージの postinst スクリプトでは、デバイスファイルを作成しよ うとするのに注意してください。そのため、この選択肢は注意深く使用するべきで す。 D.3.4.2. パーティションのマウント /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/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.3. タイムゾーンの設定 /etc/adjtime ファイルの 3 行目に、「UTC」か「LOCAL」を設定し、システムがハード ウェアの時計を UTC として解釈するか、それぞれの現地時間として解釈するかを決定し ます。以下のコマンドで、上記の選択とタイムゾーンの選択を行えます。 # editor /etc/adjtime 以下に例を示します。 0.0 0 0.0 0 UTC 以下のコマンドでタイムゾーンの選択ができます。 # dpkg-reconfigure tzdata D.3.4.4. ネットワークの設定 ネットワークの設定をするには、/etc/network/interfaces, /etc/resolv.conf, /etc/ hostname and /etc/hosts を編集してください。 # editor /etc/network/interfaces 次は、/usr/share/doc/ifupdown/examples のシンプルな例です。 ###################################################################### # /etc/network/interfaces -- ifup(8), ifdown(8) 用設定ファイル # どのようなオプションが使えるかについては interfaces(5) man ページを参照してください ###################################################################### # loopback インターフェイスは絶対に必要では無くなっていますが、必要になった時に使えます # auto lo iface lo inet loopback # dhcp を使う: # # auto eth0 # iface eth0 inet dhcp # 静的 IP 設定の例: (network, broadcast, gateway はオプション) # # 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 example.com nameserver 10.1.1.36 nameserver 192.168.9.100 システムのホスト名 (2 から 63 文字) を入力してください。 # echo DebianHostName > /etc/hostname また、IPv6 をサポートした基本的な /etc/hosts は以下のようにします。 127.0.0.1 localhost 127.0.1.1 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.5. apt の設定 debootstrap は、追加パッケージをインストールする、非常に基本的な /etc/apt/ sources.list を作成します。しかし、他のパッケージ取得先を追加したくなると思いま す。以下の例はソースパッケージとセキュリティ更新を追加しています。 deb-src http://ftp.us.debian.org/debian bookworm main deb http://security.debian.org/ bookworm-security main deb-src http://security.debian.org/ bookworm-security main sources list を更新したら、apt update を必ず実行してください。 D.3.4.6. ロケールとキーボードの設定 英語以外の言語を使用するようロケールの設定をするために、ロケールをサポートする パッケージ (locales) をインストール・設定してください。現在は UTF-8 ロケールを 使用するのをお勧めします。 # apt install locales # dpkg-reconfigure locales (必要なら) 以下のようにキーボードの設定を行ってください。 # apt install console-setup # dpkg-reconfigure keyboard-configuration chroot 内では、キーボードを設定できませんが、再起動後に有効になることに注意して ください。 D.3.5. カーネルのインストール このシステムを起動できるようにするなら、おそらく Linux カーネルとブートローダが 必要でしょう。以下のようにして、パッケージ化済みカーネルを確認してください。 # apt search linux-image その後、パッケージ名を指定して、選択したカーネルパッケージをインストールしてく ださい。 # apt install linux-image-arch-etc D.3.6. ブートローダのセットアップ Debian GNU/Linux システムを起動できるようにするために、インストールしたカーネル を新しい root パーティションから読み込むように、ブートローダをセットアップして ください。debootstrap は、ブートローダをインストールしないことに注意してくださ い。とは言っても、セットアップするのに Debian chroot 内部の apt を使用できます 。 /dev/sda デバイスファイルは、作成済みだと仮定していることに注意してください。 grub2 のインストールには別の方法もありますが、それはこの付録では扱いません。 D.3.7. リモートアクセス: SSH のインストールとアクセス方法の設定 コンソール経由でシステムにログインできる場合はこの節を飛ばせます。後でネットワ ーク経由でシステムにアクセスできるようにする必要がある場合は SSH をインストール してアクセス方法を用意する必要があります。 # apt install ssh パスワードによる root のログインはデフォルトで無効になっているため、パスワード を設定してパスワードによる root のログインを有効にしてアクセス方法を用意します: # passwd # editor /etc/ssh/sshd_config 有効にするオプション: PermitRootLogin yes root アカウントに SSH の鍵を追加してアクセス方法を用意することもできます: # mkdir /root/.ssh # cat << EOF > /root/.ssh/authorized_keys ssh-rsa .... EOF 最後に、root ユーザを追加してパスワードを設定してアクセス方法を用意することもで きます: # adduser joe # passwd joe D.3.8. 仕上げに すでに述べたように、インストールしたシステムは非常に基本的な物になります。もっ と成熟したシステムにしたければ、優先度が「standard」のパッケージを、すべてイン ストールする簡単な方法があります。以下のようにしてください。 # tasksel install standard もちろん apt で、個々のパッケージをインストールすることもできます。 インストールが終わると、ダウンロードしたパッケージが /var/cache/apt/archives/ に大量に残っています。以下のようにして、ディスク領域を解放できます。 # apt 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 を指定してインストーラを起動してくださ い。これにより、PPPoE のセットアップに使用するコンポーネント (ppp-udeb) を 確実に読み込み、自動的に起動します。 • 通常のインストール初期化手順 (言語、国、キーボードの選択、追加インストーラ コンポーネント^[22]の読み込み) を行います。 • 次のステップでは、システムにあるイーサネットカードを特定するのに、ネットワ ークハードウェアを検出します。 • この後、実際の PPPoE のセットアップが始まります。インストーラは、PPPoE コン セントレータ (PPPoE 接続を扱う一種のサーバ) を見つけるのに、検出したすべて のイーサネットインターフェースを調べます。 最初の試行では、コンセントレータが見つからない可能性があります。これはネッ トワークが遅い・負荷が高い場合や、サーバ側のエラーで起こる可能性があります 。ほとんどの場合、2 回目の試行でコンセントレータの検出に成功します。再試行 するには、インストーラのメニューにある Configure and start a PPPoE connection を選択してください。 • コンセントレータを検出した後、ログイン情報 (PPPoE のユーザ名とパスワード) を入力してください。 • インストーラは、先ほど入力した情報を用いて PPPoE 接続を確立します。正しい情 報を入力していれば PPPoE 接続の設定を行い、インストーラはその接続を用いてイ ンターネットに接続し、(必要なら) パッケージを取得できます。ログイン情報が正 しくない場合や、何かエラーが発生した場合、インストーラは停止しますが、メニ ューの Configure and start a PPPoE connection を選択して、設定を再度行えま す。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ^[20] シリアルマウスには、通常 9 穴の D 型コネクタが、バスマウスには、8 ピン円 形コネクタが付いており、PS/2 マウスの 6 ピン円形コネクタや、ADB マウスの 4 ピン 円形コネクタと混同することはないでしょう。 ^[21] これには、sed, grep, tar, gzip といった、GNU コアユーティリティが含まれま す。 ^[22] 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-2007 年)、武井伸光 (2002-2010 年)、倉澤望 (2002-2013 年)、victory (2013-2017 年)、やまねひでき (2011-2019 年)、吉野与志仁、杉本典充 (2021 年) が行いました。 E.2. この文書への貢献 この文書に関する問題や提案がある場合には、それらを installation-guide パッケー ジに対するバグ報告として提出してください。その方法については reportbug パッケー ジや Debian バグ追跡システムのオンラインドキュメントをご覧ください。なお同じ問 題が報告済みかどうかを調べるためには、installation-guide パッケージに関するバグ 報告を確認するとよいでしょう。もし同じ問題が報告済みならば、 宛に、確証のための追加情報や有益な情報を提供することができま す。XXXX には、報告済みのバグに付けられた番号を当てはめてください。 もちろんこの文書の DocBook ソースを入手し、それに対するパッチを作成していただけ るともっと助かります。DocBook ソースは salsa 上の installation-guide project に あります。DocBook に慣れていなくても心配しないでください。あなたが始められるよ う、マニュアルディレクトリに簡単なチートシートがあります。html に似ていますが、 表示方法ではなく、テキストの意味の方を重視しています。パッチは debian-boot メー リングリスト (以下を参照) に提出してください。git でソースを取り出す方法につい ては、ソースのルートディレクトリの README をご覧ください。 どうか、この文書の著者に直接連絡をとるようなことはしないでください。このマニュ アルの話題も含め、debian-installer に関する議論を行うメーリングリストがあります 。その宛先は です。また Debian メーリングリスト 購読ページには、このメーリングリストの購読に関する説明があります。また Debian メーリングリストアーカイブでは、その写しをオンラインで読むこともできます。 E.3. 多大な貢献 もともとこの文書は Bruce Perens, Sven Rudolph, Igor Grobman, James Treacy, Adam Di Carlo が書きました。Sebastian Ley がインストール Howto を書きました。 Miroslav Kuře には、Sarge の debian-installer の新機能について、たくさん記述し ていただきました。Frans Pop は、Etch, Lenny, Squeeze の主任編集者で、かつリリー スマネージャでした。 非常に多くの 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 メモリから起動する方法について、有益な情報 をいただいたことに感謝いたします。 Jim Mintha によるネットワークブートに関する HOWTO (利用可能な URL が不明) や、 Debian FAQ、Linux/m68k FAQ、SPARC プロセッサ向け Linux FAQ、Linux/Alpha FAQ や その他の文書には、極めて有用な文章や情報があります。これらの自由に利用できる素 晴らしい情報源をメンテナンスされている方々は、高く評価されるべきでしょう。 本マニュアルの chroot してのインストールに関する節 (「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.