BIOS が CD-ROM や DVD-ROM からの起動を開始したら、Isolinux ブートローダメニューが表示されます。この段階では Linux カーネルはまだ読み込まれていません。従ってこのメニューでは、起動させるカーネルを選択し、起動処理中にカーネルに渡すことが可能なパラメータを入力できます。
標準的なインストールを実行したい場合、矢印キーで「Install」もしくは「Graphical install」を選び、Enter を押して残りのインストール作業を開始します。DVD-ROM が「マルチアーキテクチャ」ディスクであり、マシンが Intel または AMD の 64 ビットプロセッサを搭載している場合、「Install」もしくは「Graphical install」を選択することで 64 ビット版 (amd64) がインストールされます。ここで 32 ビット版をインストールするには専用のサブメニュー (「32-bit install options」) を選択してください。また、マシンが 32 ビットプロセッサを搭載している場合、「Install」もしくは「Graphical install」を選択することで 32 ビット版 (i386) がインストールされます。64 ビット版をインストールすることはできないので、メニューには 64 ビット版をインストールするメニューエントリは存在しません。
各メニューエントリはそれを選択して Enter を押した後に実行されるコマンドに対応しています。必要に応じて実行されるコマンドを編集するには、エントリを選択した後 Enter を押す前に TAB キーを押します。「Help」メニューエントリは古いコマンドラインインターフェースを表示します。このインターフェースでは、F1 から F10 までのキーを使って、プロンプトから利用できるさまざまなオプションについての詳細が書かれた別のヘルプ画面が表示されます。極めて特殊な場合を除いて、「Help」メニューエントリを参照する必要はないでしょう。
「expert」モード (「Advanced options」メニューの中にあります) を使うことで、インストール中に利用できるすべてのオプションを詳細に設定したり、各インストールステップを自動的に次々と進むのではなく毎回ナビゲーションを表示するようにできます。「expert」モードはとても詳細なモードで、設定できる選択肢が数多く表示されすぎてわかりにくいかもしれませんので、ご注意ください。
ひとたび起動すれば、インストールプログラムがインストールの最初から最後まですべての手順を誘導します。この節ではそれぞれの手順を詳細に解説しています。ここでは amd64 DVD-ROM (より詳しく言えば Stretch インストーラの RC 3) を使ったインストールを順に見ていきます。netinst を使ったインストールおよびインストーラの完成版では、少し様子が違うかもしれません。グラフィカルモードのインストールの様子も載せていますが、「クラッシック」(テキストモード) インストールとの違いは見た目だけです。
起動直後のインストールプログラムでは英語が使われていますが、最初にこれ以降のインストール作業の表示言語として使われる言語を選択します。たとえば、日本語を選択したらインストール中の表示言語はすべて日本語になります (そしてシステムも日本語に設定されます)。さらに、以降のインストール作業のデフォルト選択肢 (特にキーボードレイアウトのデフォルト選択肢) がより適切なものになります。
2 段階目に国を選択します。インストーラは、先に選択した言語と国の情報を組み合わせて、最も適切と思われるキーボードレイアウトを提案します。さらに、国情報はタイムゾーンの設定にも影響をおよぼします。ここで日本を選択した場合、日本で標準的な QWERTY キーボードが提案され、適切なタイムゾーンが提供されます。
ここで提案された「日本語」キーボードは日本で主流の QWERTY レイアウトです。
ほとんどの場合、ハードウェア検出は完全に自動的に行われます。インストーラがハードウェアを検出し、CD の内容を読み出すために CD-ROM ドライブを特定しようと試みます。インストーラは検出されたさまざまなハードウェアに対応するモジュールを読み込み、その後 CD-ROM を「マウント」して内容を読みます。ここまでの段階を CD に含まれる起動イメージ (サイズが制限されており、CD からの起動時に BIOS がメモリ内に読み込んだファイル) が担当しています。
インストーラはほぼすべてのドライブ、特に標準的な ATAPI 周辺機器 (IDE や EIDE と呼ばれることもあります)、を取り扱うことが可能です。しかし、CD-ROM ドライブの検出に失敗する場合、インストーラは CD-ROM ドライバに相当するカーネルモジュールを (たとえば USB メモリから) 読み込むための画面を表示します。
CD の内容が利用できるようになったら、インストーラは以降の作業に必要なすべてのファイルを読み込みます。これには、残りのハードウェア (特にネットワークカード) 用の追加ドライバおよびインストールプログラムの構成要素が含まれます。
この段階でインストーラは、ネットワークカードを自動的に特定し、関連するモジュールを自動的に読み込もうとします。自動検出に失敗した場合でも、手作業で読み込むモジュールを選択できます。どのモジュールでも動かなければ、リムーバブルデバイスから個々のモジュールをロードすることが可能です。最後に挙げた解決策は、適切なドライバが標準的な Linux カーネルには含まれていないけれども、メーカーのウェブサイトなど別のどこかから入手できる、という場合のみ必要です。
netinst を使ってインストールする場合、Debian パッケージはネットワークから読み込まれるため、この段階は間違いなく成功するでしょう。
可能な限り各段階を自動化するために、インストーラは DHCP (IPv4 の場合) と IPv6 のネットワーク発見機能を使って自動的にネットワークを設定しようとします。設定に失敗した場合、多くの選択肢が提案されます。ここで提案される選択肢には、通常の DHCP 設定で再挑戦、マシンの名前を宣言して DHCP を設定、静的なネットワークを設定、があります。
ここで挙げた最後の選択肢を選んだ場合、IP アドレス、サブネットマスク、ゲートウェイの IP アドレス、マシン名、ドメイン名、の情報が必要です。
マシンの管理者用に確保されているスーパーユーザ root アカウントはインストール中に自動的に作成されます。このため、パスワードが要求されます。インストーラは確認用にもう一度パスワードを尋ねます。これは後から修正することが難しい入力ミスを避けるためです。
Debian は管理者に root で作業するという悪習を身に付けさせないために、強制的に標準的なユーザアカウントを作成します。この予防原則は本質的に、人的ミスによる損害を抑えるためには必要最低限の権限だけで作業する必要がある、ということを意味しています。このため、インストーラは 1 人目のユーザの完全な名前、ユーザ名、パスワード (入力ミスの危険を防ぐために 2 回) を尋ねるでしょう。
ネットワークを利用できる場合、システムの内部時計は NTP サーバを使って (1 度だけ) 更新されます。こうすることで、初回起動時以降のログのタイムスタンプが修正されます。常に正確な時刻に合わせるためには、最初のインストール後に NTP デーモンのセットアップが必要です (
第 8.9.2 節「時刻同期」を参照してください)。
この段階で Debian がインストールされるであろうハードドライブが自動的に検出されます。検出されたハードドライブは次の段階、パーティショニング、で表示されます。
その昔、パーティショニングは新規ユーザにとって難しい作業でした。パーティショニングには、Linux ファイルシステムと仮想メモリ (スワップ) が保存されるディスクの一区画 (「パーティション」) を定義する必要があります。この作業は、残しておきたい既存の他のオペレーティングシステムがマシン上にある場合に、複雑になります。実際には、既存のシステムのパーティションを変更しない (または、損害を与えずにパーティションのサイズを変更する) ように注意しなければいけません。
幸いなことに、インストーラに含まれるパーティショニングソフトウェアは「ガイド付き」モードを備えています。このモードを使う場合、ユーザにパーティショニング方法の候補が提示されます。多くの場合、ソフトウェアの提案を確認するだけで事足ります。
パーティショニングツールの最初の画面では、ハードドライブ全体を使ってパーティションを作成する選択肢が表示されます。(新しい) コンピュータに Linux だけをインストールする場合、このパーティショニング方法が明らかに最も単純です。この場合「ガイド - ディスク全体を使う」を選んでください。コンピュータに 2 種類のオペレーティングシステム用の 2 台のハードドライブが装備されている場合、ドライブごとにオペレーティングシステムを分けるのも解決策の 1 つです。こうすることでパーティショニングが楽になります。どちらの場合も、次の画面では、関連するエントリから Linux をインストールするディスク (たとえば「SCSI3 (0,0,0) (sda) - 17.2 GB ATA VBOX HARDDISK」) を選択します。その後、ガイド付きのパーティショニングが始まります。
ガイド付きパーティショニングでは、パーティションの代わりに LVM 論理ボリュームを作成することも可能です (LVM については後から説明します)。残りの操作は同じですから、「ガイド - ディスク全体を使い LVM をセットアップする」の選択肢 (暗号化の有無に関わらず) については説明しません。
他の事例、たとえば Linux を既存のパーティションと共存させたい場合、手作業でパーティショニングを実行しなければいけません。
ガイド付きパーティショニングツールでは、それぞれ別の用途に適した 3 種類のパーティショニング機構を選択できます。
1 番目のパーティショニング機構は「すべてのファイルを 1 つのパーティションに」です。これは、Linux システムツリー全体 (ルート /
ディレクトリ以下すべて) を単一のファイルシステムに保存します。このパーティショニングは単純かつ頑強であり、個人および単一ユーザシステム用途にぴったりです。実際には、2 つのパーティションが作られます。具体的に言えば、システム全体用と仮想メモリ (swap) 用のパーティションが作られます。
2 番目のパーティショニング機構は「/home
パーティションの分割」です。これは、1 番目のパーティショニング機構とよく似ていますが、ファイル階層を 2 つに分離します。具体的に言えば、片方には Linux システム (/
) を、もう片方には「ホームディレクトリ」(ユーザデータ、ファイルとサブディレクトリは /home/
以下に配置されます) を収めます。
最後のパーティショニング機構は「/home
, /var
, /tmp
パーティションを分割」です。これはサーバや複数のユーザが利用するシステムに適しています。これはファイルツリーを多くのパーティションに分離します。具体的に言えば、ルート (/
) とユーザアカウント (/home/
) パーティションの分離に加え、サーバソフトウェアのデータ (/var/
) と一時ファイル (/tmp/
) 用パーティションも分離します。ファイルツリーが格納されるパーティションをこのように分離するとさまざまな利点を得ることが可能です。ユーザが利用できるハードドライブ領域を使い切ってしまうことでサーバが動かなくなることがなくなります (ユーザが満杯にできるハードドライブ領域を /tmp/
と /home/
だけに制限できます)。さらにデーモンのデータ (特にログ) がシステムの他の領域を圧迫することがなくなります。
パーティションの種類を選択した後、ガイド付きパーティショニングツールはパーティショニング案を算出し、画面に提示します。必要であれば、ユーザはパーティショニング案を変更することも可能です。特に、標準的なファイルシステム (ext4) が不適切な場合は、別のファイルシステムを選択することが可能です。しかしながら多くの場合、インストーラの提示したパーティショニング案は妥当です。承諾するには「パーティショニングの終了とディスクへの変更の書き込み」エントリを選択してください。
手作業でパーティショニングを実行すればより柔軟にパーティションを設定できます (各パーティションの目的とサイズを選ぶことが可能です)。また、ソフトウェア RAID を希望する場合、手作業でパーティショニングを実行しなければいけません。
最初の画面では、利用できるディスク、パーティション、パーティションを割り当てられていない空き領域が表示されます。表示されたそれぞれの要素を選択できます。さらに Enter キーを押せば、実行できる操作のリストが表示されます。
ディスクを選択すれば、そのディスク上のすべてのパーティションを削除できます。
ディスクの空き領域を選択すれば、新しいパーティションを作成できます。ガイド付きパーティショニングを空き領域に適用することも可能です。この方法は、ディスクには別のオペレーティングシステムがインストールされているけれども、標準的なやり方で Linux のパーティショニングを実行したいという場合に興味深い解決策です。ガイド付きパーティショニングに関する詳しい情報は
第 4.2.13.1 節「ガイド付きパーティショニング」をご覧ください。
以下は、パーティションを選んだ後に指定できる、選択したパーティションの取り扱い方のリストです。
選択したパーティションをフォーマットし、マウントポイントを指定してパーティションをファイルツリーに含めます。
選択したパーティションをスワップパーティションとして使います。
選択したパーティションを「暗号化物理ボリューム」にします (パーティションに含まれる秘密のデータを守るには、以下を参照してください)。
選択したパーティションを「LVM 用物理ボリューム」にします (LVM の概念は、この章の後で詳しく議論します)。
選択したパーティションを RAID デバイスとして利用します (この章の後半を参照してください)。
選択したパーティションを使わないことにして、そのままにしておくことも可能です。
4.2.13.3. マルチディスクデバイスの設定 (ソフトウェア RAID)
一部の RAID レベルでは複数のハードドライブに保存された情報を複製することで、RAID を構成する 1 台のハードドライブがデータに影響をおよぼすハードウェア障害を起こした際にデータが消失することを防いでいます。レベル 1 RAID は単純で、2 台のハードドライブに全く同じデータの複製を作ります。これに対して、レベル 5 RAID は冗長データを複数のディスクに分散します。このため、障害の起きたドライブに含まれたデータを完全に復元することが可能です。
ここでは最も簡単に設定できるレベル 1 RAID だけを説明します。最初に、全く同じサイズのパーティションを 2 つ別々のドライブに作成し、「RAID の物理ボリューム」とラベル付けします。
2 つのパーティションを 1 つの仮想ディスクにまとめるためにはパーティショニングツールで「ソフトウェア RAID の設定」を選び、設定画面で「MD デバイスの作成」を選んでください。その後、新しいデバイスに関する一連の質問に答える必要があります。最初の質問では、使用する RAID レベルを尋ねられます。今回の場合「RAID1」です。2 番目の質問では、アクティブデバイスの数を尋ねられます。アクティブデバイスの数とは MD デバイスに含めるパーティションの数で、今回の場合 2 台です。3 番目の質問では、予備デバイスの数を尋ねられます。今回の場合 0 台です。つまり、ディスク障害が起きた際に機能を代替させるためのディスクを追加する計画はないということです。最後の質問では、RAID デバイス用のパーティションを尋ねられます。これは事前に用意した 2 つのパーティションです (「raid」と明示されているパーティション以外は選ばないでください)。
メインメニューに戻ると、新しい仮想「RAID」ディスクが表示されます。このディスクは削除できない単一のパーティションとして表示されますが、選択すればこれを使用できます (他のパーティションと同じ方法で選択してください)。
4.2.13.4. 論理ボリュームマネージャ (LVM) の設定
LVM を使うことで、複数のディスクにまたがる「仮想」パーティションを作成できます。LVM を使うことの利点は 2 つあります。具体的に言えば、パーティションのサイズは、もはや個々のディスクによって制限を受けるのではなく、累積ボリュームによって制限を受けます。さらにパーティションのサイズはいつでも (ディスクを追加した後などに) 変更できます。
LVM では特有の専門用語を使います。たとえば仮想パーティションは「論理ボリューム」と呼ばれます。「論理ボリューム」は「ボリュームグループ」の一部分を表し、「論理ボリューム」は複数の「物理ボリューム」群から構成されます。実際のところ、これらの専門用語は「実」パーティション (またはソフトウェア RAID デバイス) から作られるものです。
LVM はとても単純な方法で実現されています。すなわち、それぞれのボリュームは物理であるか論理であるかに関わらず同じサイズのブロックに分割され、ブロックは LVM に対応付けられます。新しいディスクを追加した場合は新しい物理ボリュームの作成が必要で、新しいブロックは任意のボリュームグループに関連付けることが可能です。拡張されたボリュームグループ内のすべてのパーティションは、ディスク領域の許す限り拡張することが可能です。
パーティショニングツールは数段階で LVM を設定します。最初に、存在するディスク上に「LVM の物理ボリューム」となるパーティションを作成しなければいけません。LVM を稼働させるには、「論理ボリュームマネージャの設定」を選び、同じ設定画面で「ボリュームグループの作成」から、存在する物理ボリュームを作成するボリュームグループに関連付けてください。最後に、このボリュームグループ内に論理ボリュームを作成してください。自動パーティショニングシステムを使えばこれらの全段階を自動的に実行できる点に注意してください。
パーティショニングメニューでは、各物理ボリュームは削除できない単一のパーティションを持つディスクとして表示されますが、LVM 用として望み通り使うことが可能です。
4.2.13.5. 暗号化されたパーティションの設定
データの機密性を保証するには、たとえばコンピュータやハードドライブを紛失したり盗難された時に備えて、一部のパーティションのデータを暗号化しておく必要があります。暗号化の可否はファイルシステムの種類に依存しません。なぜなら、Linux (より具体的に言えば dm-crypt ドライバ) は LVM と同様にデバイスマッパを使い、暗号化されたデータが保存されるパーティション上に仮想パーティション (この内容が保護されます) を作成するからです (LUKS、Linux Unified Key Setup、のおかげで標準的なフォーマットが定められ、暗号化されたデータおよび使われている暗号化アルゴリズムを表すメタ情報の保存が可能になりました)。
暗号化されたパーティションを作成するには、最初にあるパーティションを暗号化用に割り当てなければいけません。割り当てを行うには、パーティションを選択し「暗号化の物理ボリューム」として使うように設定してください。物理ボリュームを含むディスクのパーティショニングの後、「暗号化されたボリュームの設定」を選んでください。パーティショニングツールは (真のデータの位置をより分かりにくくするために) 物理ボリュームをでたらめなデータで初期化することを提案し、「暗号化パスフレーズ」の入力を要求します。暗号化されたパーティションの内容にアクセスする場合、パスフレーズはコンピュータの起動時に毎回入力しなければいけません。この段階が完了しパーティショニングツールメニューまで戻ったら、「暗号化ボリューム」から新しいパーティションを利用できるはずです。「暗号化ボリューム」は他のパーティションと同様に設定できます。多くの場合、「暗号化ボリューム」は LVM の物理ボリュームとして利用されます。そうすれば、複数のパーティション (LVM 論理ボリューム) をスワップパーティションも含めて同じ暗号化鍵で保護することが可能になります (補注
「SECURITY 暗号化されたスワップパーティション」を参照してください)。
この段階ではユーザの入力は不要で、Debian の「基本システム」パッケージがインストールされます。基本システムには Debian パッケージを管理する dpkg
と apt
ツールだけでなく、システムを起動させてシステムを使うのに必要なユーティリティが含まれています。
4.2.15. パッケージマネージャ (apt
) の設定
追加ソフトウェアをインストールできるようにするためには、APT を設定し、Debian パッケージを探す場所を決めなければいけません。この段階は可能な限り自動化されています。パッケージマネージャの設定はパッケージを探す場所をネットワークソースにするか CD-ROM だけにするかを尋ねる質問から始まります。
ネットワークからパッケージを取得することを選んだ場合、次の 2 つの質問で国とその国で利用できる Debian アーカイブミラーを選択し、パッケージをダウンロードするサーバを選びます (Debian アーカイブミラーとは Debian マスターアーカイブにあるファイルのコピーをホストしている公開サーバです)。
最後にインストーラは HTTP プロキシを使うことを提案します。プロキシを入力しなかった場合、インターネットに直接アクセスします。ここで http://proxy.falcot.com:3128
と入力した場合、APT は Falcot のプロキシ/キャッシュである「Squid」プログラムを使うでしょう。プロキシの設定を見つけ出すには、同じネットワークに接続された別のマシンでウェブブラウザの設定を確認してみてください。
APT は Packages.xz
と Sources.xz
ファイルを自動的にダウンロードし、認識するパッケージのリストを更新します。
4.2.16. Debian パッケージ人気コンテスト
Debian システムには popularity-contest と呼ばれるパッケージが含まれています。popularity-contest はパッケージの使用統計を収集するためのパッケージです。毎週、このプログラムはインストール済みパッケージと最近利用されたパッケージの情報を収集し、この情報を匿名で Debian プロジェクトのサーバに送信します。Debian プロジェクトはこの情報を基に各パッケージの相対的重要度を決定します。パッケージの相対的重要度はパッケージの優先度に影響をおよぼします。特に、インストールメディアの完全なセットをダウンロードまたは購入したくないというユーザの利便性を考慮して、インストール CD-ROM に収録されるパッケージは最も「人気」のパッケージだけに限られています。
popularity-contest は、ユーザの利用法の機密性を配慮して、要求されない限りインストールされません。
以降の段階では、マシンの大ざっぱな用途を選択します。ここで提案されている 10 種類のタスクはインストールされるパッケージのリストに対応しています。後からインストール済みパッケージのリストを微調整したり仕上げる必要があるという点は変わりませんが、ここでタスクを選択して必要と思われるパッケージをインストールしておくことは後の作業の良い足掛かりとなります。
一部のパッケージは、検出されたハードウェアに基づき、自動的にインストールされます (discover パッケージの discover-pkginstall
プログラムがこれを担当します)。
4.2.18. GRUB ブートローダのインストール
ブートローダは BIOS が起動する最初のプログラムです。ブートローダは Linux カーネルをメモリに読み込み、実行します。通常ブートローダはユーザに対して、読み込むカーネルまたは起動したいオペレーティングシステムを選択できるメニューを表示します。
デフォルトでは、GRUB が表示したメニューにはすべてのインストールされたカーネルおよび検出された他のオペレーティングシステムが含まれています。このため、GRUB はマスターブートレコード内にインストールされるべきです。古いカーネルバージョンを残しておけば、最近インストールされたカーネルが欠陥品かハードウェアと相性が悪い場合にも同じシステムを起動できる状態が保存されます。このため、インストール済みの古いカーネルバージョンを保持しておくことは合理的な方法です。
GRUB はその技術的優位性のおかげで Debian がインストールするデフォルトのブートローダに採用されています。そして GRUB は多くのファイルシステムをサポートしているため、新しいカーネルのインストールの後に GRUB を毎回更新する必要がありません。なぜなら、GRUB は起動中に設定を読んで、新しいカーネルの正確な位置を見つけ出すからです。GRUB の バージョン 1 (現在は「Grub Legacy」として知られています) は LVM とソフトウェア RAID の組み合わせを取り扱うことができませんでした。しかし、デフォルトでインストールされるバージョン 2 はより完成度の高いものです。また、LILO (別のブートローダ) のインストールが推奨される状況もまだあるかもしれません。そのような場合、インストーラは自動的に LILO を提案します。
これでインストールが完了しました。インストーラは、ドライブから CD-ROM を取り出し、コンピュータを再起動するよう促します。