メニューの ``ハードディスクのパーティションを切る'' という項目を選ぶと、 パーティション分割可能なディスクの一覧が表示され、 パーティション分割ソフトウェアが実行できます。 ここでは ``Linux native'' (type 83) のディスクパーティションを 少なくとも 1 つ作成しなければなりません。 また最低 1 つは ``Linux swap'' (type 82) パーティションを作成したほうが良いでしょう。
必要最小限の構成でも、GNU/Linux は自身のために 少なくとも 1 つのパーティションを必要とします。 オペレーティングシステム全体、アプリケーション、 個人ファイルは 1 つのパーティションに収めることが可能です。 多くの人はこれと別にスワップパーティションも必要だと思っているようですが、 これは厳密には正しくありません。 「スワップ」とはオペレーティングシステムが用いる メモリの一時退避用空間で、これを用いると システムはディスク装置を「仮想メモリ」として使えるようになります。 スワップを独立したパーティションに割り当てると、 Linux からの利用がずっと効率的になります。 Linux は普通のファイルを無理矢理スワップとして 利用することもできますが、これはお勧めできません。
とはいえ大抵の人は、この最低限必要な数よりは多くのパーティションを GNU/Linux に割り当てます。 ファイルシステムをいくつかのより小さなパーティションに 分割する理由は 2 つあります。 1 つめは安全性です。もし偶然に何かがファイルシステムを破壊したとしても、 一般的にその影響を被るのは 1 つのパーティションだけです。 そのため、システムの一部を (注意深く保持しておいたバックアップと) 置き換えるだけですみます。少なくとも、 いわゆる「ルートパーティション」は別にすることを考慮しましょう。 ここにはシステムの最も基本的な構成部分が収められており、 もし他のパーティションに破損が生じたとしても、 Linux を起動してシステムを補修できます。 システムをゼロから再インストールしなければ ならないようなトラブルが防げるのです。
2 つめの理由は、一般的にビジネスで使う際により重要になってくるものですが、
これはコンピュータの利用方法にかなり依存します。
何かが制御不可能になり、ディスクスペースを消費し始めたとします。
もしそのプロセスがルート特権を得てしまえば
(システムは一般ユーザが使用できないディスク領域をある程度確保しています)、
気付いたときにはディスクスペースがなくなってしまっていることになるでしょう。 OS
はスワップスペースの他にも、
さまざまな作業に実ファイルを利用する必要があるので、
これは問題の原因になります。
このようなことは、ローカルシステム以外の原因で生じることさえあります。
例えばスパムメールをたくさん受け取ると、
パーティションは簡単に溢れてしまうかもしれません。
複数のパーティションを用いて、
このような問題の多くからシステムを保護するのです。
もう一度電子メールの例を取り上げるならば、/var/spool/mail
に独自のパーティションを割り当てれば、スパムメールを取り込んでも、
システムの大半は問題なく動作するでしょう。
たくさんのパーティションを利用する際に、唯一不利な点となるのは、 あらかじめどのようなパーティションが必要となるかを予測するのが、 ほとんどの場合は難しいことです。 用意したパーティションが小さすぎると、 システムを再インストールしたり、 容量の足りないパーティションからしょっちゅうファイルを移動して、 スペースを空けたりしなければならないでしょう。 一方あまりに大きなパーティションを用意すれば、 他で利用できるスペースを浪費しかねません。 近頃はディスクも安価になったとはいえ、お金を無駄に使う必要はないでしょう?
ディレクトリとファイルの名前について、Debian GNU/Linux は Filesystem Hierarchy Standard
に従っています。この標準を用いると、ユーザやプログラムは、
ファイルやディレクトリの場所を予想しやすくなります。 根っこ (ルート=root)
にあるディレクトリは、単にスラッシュ /
で表されます。ルートのレベルには、 Debian
システムでは必ず以下のようなディレクトリが含まれます。
bin 基本的なコマンドバイナリ boot ブートローダのスタティックなファイル dev デバイスファイル etc ホスト固有のシステム設定 home ユーザのホームディレクトリ lib 基本的な共有ライブラリとカーネルモジュール mnt ファイルシステムを一時的にマウントするためのポイント proc システム情報を含む仮想ディレクトリ root root ユーザのホームディレクトリ sbin 基本的なシステムバイナリ tmp 一時ファイル用 usr 第 2 階層 var 可変データ opt アドオンアプリケーションソフトウェアパッケージ
以下の一覧は、ディレクトリやパーティションについて 重要となる考え方を説明したものです。
/
は、必ず /etc
,
/bin
, /sbin
, /lib
, /dev
を物理的に含んでいなければなりません
(つまりこれらのディレクトリを別のパーティションにしてはいけません)。
さもないと起動ができなくなります。 一般的にここは 100 MB 程度を必要としますが、
必要な容量は場合によって変化します。
/usr
: すべてのユーザプログラム (/usr/bin
)、
ライブラリ (/usr/lib
)、 文書 (/usr/share/doc
)
などはこのディレクトリに収められます。
ここはファイルシステムの中でも最も容量を必要とするところです。 少なくとも 500
MB のディスク容量を割り当てるべきでしょう。
たくさんのパッケージをインストールする場合は、
もっと多くのディスク容量をこのディレクトリに割り当てなければなりません。
/home
:
各ユーザは、個人的なデータをこのディレクトリのサブディレクトリに収めます。
その容量は、このシステムを利用するユーザの数や、
ユーザディレクトリにどのようなファイルが収められるかによって異なってきます。
システムの使い方にもよりますが、 各ユーザごとに約 100 MB ほどが必要でしょう。
しかしこの値は必要に応じて調整しなければなりません。
/var
: ニュース記事、電子メール、ウェブコンテンツ、 APT
のキャッシュなど、 さまざまな可変データすべてがこのディレクトリに収められます。
このディレクトリの容量はコンピュータの利用方法に大きく左右されますが、
たいていの場合はパッケージ管理ツールが使う分が
最も大きな影響を持つことになるでしょう。 Debian
が提供するものすべてをいっぺんにフルインストールする場合でも、
/var
には 2〜3 GB ほどの容量を割り当てておけば 足りるはずです。
一度に全てをインストールせず、部分部分を徐々に
(例えば、まずサービスやユーティリティを、次にコンソール用のもの、 次に X
用のもの...というように) インストールするなら、 /var
には 300〜500
MB の空き容量があればよいでしょう。 ハードドライブの空き容量が貴重なもので、
少なくともメジャーアップデートには APT を使う予定がないならば、
/var
に割り当てる容量は 30〜40 MB 程度でも構いません。
/tmp
: プログラムが一時データを作成する場合、
普通こちらのディレクトリを利用します。 通常は 20〜50 MB あれば充分でしょう。
新規ユーザの人や、Debian マシンを個人で使う人、家庭で使うシステム、
その他ユーザ 1 人で使うようなマシンには、 /
パーティションひとつ
(とスワップ) で済ますのが 恐らくもっとも簡単で、素直なやり方でしょう。
しかし大きなディスク (20GB) ではこれだと問題が起きるかもしれません。 ext2
の動作に関する制限から、ひとつのパーティションに 6GB
程度より大きなサイズをあてがうのは避けたほうが良いでしょう。
マルチユーザシステムでは、/usr
, /var
,
/tmp
, /home
をそれぞれ /
パーティションとは別の 独立したパーティションにするのが良いでしょう。
Debian のディストリビューションには含まれていないプログラムを
たくさんインストールするつもりがあるなら、 /usr/local
パーティションが必要となるかもしれません。 またメールサーバとして利用するなら、
/var/spool/mail
を別のパーティションにする
必要があるかもしれません。 /tmp
に 独自のパーティション (例えば 20
から 50MB くらい) を割り当てるのも、 多くの場合は良い考えです。
たくさんのユーザアカウントを抱えるサーバを設置するなら、 独立した大きな
/home
パーティションを用意することも、大抵は良い考えです。
このように、利用法に応じて、
パーティション配置の状況はコンピュータによってさまざまです。
とても複雑なシステムのためには、 Multi Disk
HOWTO
をご覧になるとよいでしょう。 こちらには、ISP
やサーバの管理者の関心を持つような事柄の多くが、
詳細な情報として含まれています。
スワップスペースの問題に関しては、さまざまな見方があります。 大雑把ながらも悪くないやり方は、 搭載しているシステムメモリと同じ容量のスワップを用意することです。 ただし多くの場合は 16MB 以下にすべきではありません。 もちろんこのルールにも例外はあります。 例えば 256MB ほどの RAM を積んだマシンで、 10000 変数の連立方程式を解こうとするならば、 1GB (もしくはそれ以上) のスワップを必要とするでしょう。
32-bit のアーキテクチャ (i386, m68k, 32-bit SPARC, PowerPC) におけるスワップパーティションの最大サイズは 2GB です (Alpha と SPARC64 では実質的に無限と言えるほど大きなサイズを使えます)。 これはほとんどの場合において充分な大きさであるはずです。 しかし、もしこれ以上の大きさのスワップ領域が必要なら、 別のディスク (あるいは「スピンドル」) にスワップ領域を分散したり、 また可能ならば、SCSI や IDE の別々のチャンネルに スワップ領域を分散したりするよう試みるべきでしょう。 このようにすると、カーネルは複数のスワップ領域を バランス良く使おうとするので性能が向上します。
一例として、著者の 1 人の自宅用マシンを紹介しましょう。 このマシンは 32MB の
RAM と /dev/hda
に 1.7GB IDE の ハードディスクを搭載しています。
/dev/hda1
には別の OS 用に 500MB のパーティションがあります
(それほど使うわけではないので 200MB 程度にするべきでした)。
/dev/hda3
を 32MB のスワップパーティションとして使用し、 残り (約
1.2GB の /dev/hda2
) を、 Linux パーティションにしています。
もっと例を見たい方は、 Partitioning
Strategies
をご覧ください。システムのインストールが完了した後に
入れることになるであろう各タスク (task) の占める領域については タスクに必要なディスク容量,
Section 11.4 を調べてください。
SGI Indy では、システムをハードディスクから起動するには SGI ディスクラベルを必要とします。 これは fdisk の expert メニューから作成できます。 ここで作成されるボリュームヘッダ (パーティション番号 9) は、 少なくとも 3MB の大きさが必要です。 何種類かのカーネルを収めるには、10MB 程度をお勧めします。 ここで作るボリュームヘッダが小さすぎた場合は、 単にパーティション番号 9 を削除して、 サイズを変えて作りなおせば OK です。 ボリュームヘッダはセクタ 0 から開始しなければなりませんので注意してください。
Linux におけるディスクおよびパーティションの命名法は、 他のオペレーティングシステムとは異なっています。 パーティションを作成したりマウントしたりする際には、 Linux がどのようなディスク名を用いるのか知っておく必要があります。 以下は基本的な命名法の仕組みです。
各ディスクのパーティションは、 ディスク名に十進数を付け加えることで表します。 例えば ``sda1'' と ``sda2'' は、 それぞれシステムの第 1 SCSI ディスクドライブの第 1, 第 2 パーティションを表します。
実際にありそうな例を挙げてみましょう。 2 つの SCSI ディスクを持つシステムで、 一方の SCSI アドレスが 2、もう一方の SCSI アドレスが 4 だとします。 最初のディスク (アドレス 2) は ``sda''、 2 つ目のディスクは ``sdb'' と名付けられます。 もし ``sda'' ドライブに 3 つのパーティションがあるなら、 それらは ``sda1'', ``sda2'', ``sda3'' と名付けられます。 ``sdb'' ディスクとそのパーティションについても同様です。
2 つの SCSI ホストバスアダプタ (コントローラ) があると、 ドライブの順序が混乱するかもしれないので注意してください。 ドライブのモデルや容量を知っているなら、 ブートメッセージに注目するのが最も良い解決策でしょう。
いろいろな種類のパーティション分割ツールが Debian 開発者によって組み込まれ、 さまざまな形式のハードディスクやコンピュータアーキテクチャで 動作するようになっています。 以下に、このアーキテクチャで使えるプログラムのリストを示します。
fdisk
fdisk man ページ
をお読みください。
既にコンピュータに FreeBSD のパーティションが存在する場合は注意が必要です。
インストール用のカーネルはこのパーティションをサポートしていますが、
fdisk
の表示方法では名前が異なります
(そもそも表示されないかもしれません)。 Linux+FreeBSD
HOWTO
をご覧になってください。
cfdisk
cfdisk man ページ
をお読みください。
cfdisk
は FreeBSD パーティションを全く理解しません。
従って、こちらでも、デバイス名が変わってしまうかもしれません。
``ハードディスクのパーティションを切る'' を選択すると、 上記のプログラムの 1
つがデフォルトで実行されます。
もしデフォルトで実行されるプログラムがお望みのものでない場合は、
まずそのディスクパーティション作成プログラムを終了してからシェル (tty2)
を起動し、お望みのプログラムの名前を (必要なら引数を添えて)
直接入力してください。 プログラムを終了したら、dbootstrap
の
``ハードディスクのパーティションを切る''
という作業段階はとばして、次に進んでください。
ide ディスクに 20 以上のパーティションを作ろうとしている場合は、 21 番目以降のパーティションに対応するデバイスを作成しなければなりません。 適切なデバイスが存在しないと、 パーティションを初期化した後の次のステップが失敗します。 例として、21 番目のパーティションが初期化できるよう、 デバイスを追加するためのコマンド群を示します。 これらは tty2 や ````シェルを実行する'''' から実行できます。
cd /dev mknod hda21 b 3 21 chgrp disk hda21 chmod 660 hda21
ターゲットシステムにも正しいデバイスがないと、 新しいシステムで起動したときに失敗します。 カーネルとモジュールをインストールしたら、 以降を実行してください。
cd /target/dev mknod hda21 b 3 21 chgrp disk hda21 chmod 660 hda21
ディスクパーティションを 1 つ作成したら、これが次の作業になります。 行う作業を、スワップパーティションの初期化と利用開始・ 初期化済みパーティションの利用開始・ スワップパーティション無しでインストール、 の 3 つの中から選べます。 スワップパーティションの再初期化はいつでも行えますから、 よく分からない場合は ``スワップパーティションの初期化と有効化'' の項目を選んでください。
このメニュー項目を選択すると、まず最初に ``スワップデバイスとして有効化するパーティションを選択してください。'' という見出しのついたダイアログボックスが表示されます。 すでにご自分で設定されたスワップパーティションが、 標準のデバイスとして表示されているはずです。 そうなっていたら、単に Enter を押してください。
初期化を行うとそのパーティション上のデータはすべて破壊されるので、 ここで確認を求めるメッセージが表示されます。 もし問題がないようでしたら ``はい'' を選んでください。 初期化プログラムが実行されると画面が点滅します。
スワップパーティションは作成しておくことを強くお勧めしますが、 システムに 16MB 以上の RAM があれば、 どうしても作成したくない場合はしなくてもかまいません。 その場合はメニューから ``スワップパーティションなしで済ませる'' を選んでください。
ここでの次の選択項目は ``Linux パーティションの初期化'' のはずです。 もしそうでなければ、 ディスクのパーティションの設定を終了していないか、 あるいはスワップパーティションの選択をしていないかです。
こちらでは Linux パーティションの初期化、 またはすでに初期化された Linux
パーティションのマウント、 を行えます。 dbootstrap
には、
古いシステムを壊さずにシステムのアップグレードをするような機能が
ないことにご注意ください。 システムのアップグレードをしたい場合は、
Debian そのものにアップグレード機能がありますから、 dbootstrap
を使う必要はありません。 Debian 3.0 へのアップグレードの手順については、
アップグレードの手引き
を読んでください。
逆に、空ではない古いディスクパーティションを使っていて、 その中身をきれいにしたい場合は、 ここでそれらの初期化を行ってください (これによりすべてのファイルが消去されます)。 またさらに、 先の作業で作成したパーティションもすべて初期化してください。 この時点で、初期化せずにマウントしているパーティションがあるとしたら、 考えられる唯一の理由は、 いまのと同じインストールフロッピーを用いて インストール作業の一部を行っていたから、でしょう。
``次'' というメニュー項目を選んで、 /
ディスクパーティションの初期化とマウントを行ってください。
最初にマウントや初期化をしたパーティションが /
(「ルート」と発音します) としてマウントされます。
ここで ``Pre-2.2 Linux Kernel Compatibility?'' を保つかどうかを 尋ねられます。``いいえ'' と答えると、2.0 カーネルではサポートされていない ファイルシステムの機能をいくつか使うことになりますので、 2.0 以前の Linux カーネルはこのシステムでは動作しなくなります。 2.0 以前の年代物のカーネルはもう使わないことが分かっているなら、 ここで ``いいえ'' と答えることによって、多少の利益を受けることができます。
ここでは不良ブロックをスキャンするかどうかも尋ねられます。 デフォルトではこのスキャンはスキップすることになっています。 この作業は時間がかかりますし、 最近のディスクドライブコントローラは内部で 不良ブロックを検知・処理できるからです。 しかし、自分のディスクドライブの品質についてよく分からない場合や、 やや古いシステムを使っている場合は、 多分不良ブロックスキャンを行っておいた方が良いでしょう。
次に出るプロンプトは、単に確認を求めるものです。
初期化を行うとパーティションの全てのデータが破壊されますので、
ここで本当に作業を行ってよいかどうか尋ねられます。
続いてそのパーティションがルートパーティションとして /
にマウントされることが伝えられます。 [3]
/
パーティションをマウントしたあと、
初期化してマウントしたい別のファイルシステムがある場合は、 ``別手順''
メニュー項目を選ぶ必要があります。 これは /boot
,
/var
, /usr
などをこの時点で初期化・マウントして、
独立したパーティションにしたい場合に使います。
``Linux パーティションの初期化'', Section 6.7 の代わりに ``以前に初期化されたパーティションのマウント'' の作業を行うこともできます。 中断してしまったインストールを再開する場合や、 すでに初期化済みのパーティションをマウントしたい場合は、 こちらの作業を行ってください。
ディスクレスワークステーションにインストールしている場合は、 この時点でリモート NFS サーバからルートパーティションを NFS マウントすべきでしょう。 標準的な NFS の文法にしたがって、つまり サーバの名前か IP アドレス:サーバの共有パス のように NFS サーバへのパスを指定してください。 同様にさらに他のファイルシステムをマウントする必要がある場合には、 この時点で行ってください。
まだ自分のネットワークを ``ネットワークの設定'', Section 7.6 の説明の通りに設定していなければ、 NFS インストールを選択するとネットワークを設定するよう促されます。
dbootstrap
がサポートしないパーティションをマウントする
特殊な状況下では、dbootstrap
は (ルートにせよ、それ以外にせよ)
ある特定のファイルシステムのマウントを行えないかもしれません。
この場合、GNU/Linux の扱いに慣れたユーザであれば、 単に Alt キーと
F2 キーを同時に押して tty2
に行き、そこで必要なコマンドを手動で実行すれば、
その問題のパーティションをマウントできます。
新しいシステムのルートパーティションをマウントする場合は、 それは
/target
にマウントし、 dbootstrap に戻って作業を続けてください
(多分 ``パーティションテーブルを見る'' の段階をもう一度実行して、
インストール処理のどの段階にいるのかを dbootstrap
に再計算させるといいでしょう)。
ルートではないパーティションの場合は、忘れずに fstab
の編集も行って、再起動したときにそのパーティションが
マウントされるようにしなければなりません。 このファイル
(/target/etc/fstab
) を編集するのは、 もちろん
dbootstrap
がこのファイルを書き出してからにしてください。
Debian GNU/Linux 3.0 のインストール (Mips)
version 3.0.24, 2002/12/18