Linux Partition HOWTO

Kristan Koehntopp, kris@koehntopp.de

$Id: Partition.sgml,v 2.4 1997/11/03 06:27:22 kris Exp $

田野島 秀俊, tano@sainet.or.jp (1997/11/25)


この Linux Mini-HOWTO では Linux システムのディスク領域を計画しレイア ウトする方法について解説します。ディスクのハードウエア面やパーティショ ン、スワップ領域のサイズとそれの配置の際考慮すること、ファイルシステム、 ファイルシステム型、及び関連するトピックについて述べています。この文書 の意図は背景的知識を伝授することで手順を教えることではありません。

注意: この文書はかなり以前に書かれたものなので、 いまどきの Linux 環境にはあてはまらない箇所があります。 (JF Project)

1. はじめに

2. ともあれパーティションとは?

3. 私はどんなパーティションを必要としているのだろう?

4.

5. 私の場合


1. はじめに

1.1 この文書は?

これは Linux Mini-HOWTO 文書です。Mini-HOWTO は Linux のインストールや 維持に関する事を説明した短い文書です。 mini の付かない HOWTO や本にさ えなるような文書に比べて、量が少なかったり議論する話題の範囲が狭かった りするので mini なのです。HOWTO はリファレンスではありません。それはマ ニュアルページの役目です。

1.2 この文書にはなにが書いてありますか?また関連文書は?

この Mini-HOWTO は Linux システムのディスク領域を計画立ててレイアウト する方法についての文書です。ディスクのハードウエア面やパーティション、 スワップ領域のサイズとそれの配置の際考慮すること、ファイルシステム、ファ イルシステム型、及び関連するトピックについて述べています。この文書の意 図は背景的知識を伝授することで、それゆえツール類の紹介ではなく、主に原 理について述べます。

理想的には、この文書は初めてのインストールの前に読まれるべきですが、ほ とんどの人にはちょっと難しいでしょう。初心者はディスクレイアウトの最適 化よりも重大な他の問題も抱えています。従ってこれを読んでいるあなたはひょっ とすると、ちょうど Linux のインストールを終ったところで、このインストー ルしたシステムの最適化の方法か、次のインストールでのやっかいな計算違い の避け方を今考えているのかもしれません。うーん、ではこの文書を読み終え たら、インストールを白紙に戻して再構築したくなるような欲求が生じるよう に期待しましょう。:-)

この Mini-HOWTO はディスク領域の計画とレイアウトのやり方にほとんどの行 数を割いています。つまり fdisk, LILO, mke2fs やバックアッププログラム の使い方については述べていません。これらの問題については他の HOWTO があ ります。Linux HOWTO の最新情報は Linux HOWTO Index を見てください。こ の中に HOWTO 文書を入手するための説明もあります。

ファイルシステムの異なった部品に、どんなサイズやスピードが必要かを見積 もる方法を学ぶために、"Linux Multiple Disks Layout mini-HOWTO", by Gjoen Stein <gjoen@nyx.net>著 を見て下さい (訳注:現在は Disk-HOWTO になってます。)

1024シリンダ以上のディスクに関する解説と考察については、 "Linux Large Disk mini-HOWTO", Andries Brouwer <aeb@cwi.nl> 著 を見て下さい。

ユーザーごとに使用するディスク領域を制限する方法(quotas)の解説について は、"Linux Quota mini-HOWTO", by Albert M.C. Tam <bertie@scn.org>

現在、ディスクバックアップについての一般的な文書はありません。しかし特 定のバックアップ方法を示した文書がいくつかあります。Linux を IBM ADSMバックアップ環境に統合する方法の解説については"Linux ADSM Backup mini-HOWTO", Thomas Koenig <Thomas.Koenig@ciw.uni-karlsruhe.de>著を見 てください。Linux で MS-DOS のバックアップをとるための情報は"Linux Backup with MSDOS mini-HOWTO", Christopher Neufeld <neufeld@physics.utoronto.ca>著を見てください。

HOWTO文書を書いたり提出するための解説については the Linux HOWTO Index, Greg Hankins <gregh@sunsite.unc.edu>著を見てください。

/usr/src/linux/Documentation 以下の文書に目を通すのも大変ためになりま す。ディスクドライバの特性に関する背景的知識を得るためには ide.txt と scsi.txt を見てください。また、filesystems/ サブディレクトリ以下のファ イルにも目を通してください。

2. ともあれパーティションとは?

PC のハードディスクが発明された時、人々はすぐに複数のオペレーティング システムをインストールしたくなりました。システムには唯1つのディスクし かない場合にさえ、です。それで1つの物理的ディスクに複数の論理的ディス クを割り当てる機構が必要になりました。パーティションとは、ほとんどのオ ペレーティングシステムで完全に別々のディスクとして扱われる、ハードディ スク上の連続したブロック領域のことです。

パーティションが重なってはいけないのはすぐに分かるでしょう。パーティショ ンが重なっていて、あるオペレーティングシステムが同じマシンにインストー ルされた別のオペレーティングシステムの重要な情報に上書きしていたら、嬉 しいことにならないのは明らかです。また隣接したパーティションの間にはす き間がないほうがよいです。あっても有害ではありませんが、パーティション 間にスペースを残すことで貴重なディスクスペースを無駄にしてしまいます。

ディスクを完全に仕切る必要はありません。インストール済みのどのオペレー ティングシステムにも割り当てていないスペースをディスクの最後に置いてお いて差し支えありません。あとでインストールしたどのシステムを最もよく使 うかが明らかになったとき、この残ったスペースを仕切り、そこにファイルシ ステムを置くことができます。

パーティションは動かせませんし、その中のファイルシステムを破壊せずにサ イズを変更することもできません。ですから通常、パーティションのやり直し にはそれが及ぶすべてのファイルシステムのバックアップとリストアが必要に なります。実際のところ、パーティションのやり直しで物事が完全にめちゃめ ちゃになるのはよくあることです。そこで fdisk の様なパーティション を扱うコマンドを使う際は、対象マシンの全てのディスクのすべてをバックアッ プするべきです。

実際には、ファイルシステムのタイプによってはデータを失わずにパーティショ ンを2つにわけることができます。(幸運ならば。) 例えば、"fips"と呼 ばれるプログラムは、MS-DOS のインストールをやり直すことなく Linux のイ ンストール領域を作るために、MS-DOS パーティションを2つに分けます。で も、マシンの全てを慎重にバックアップする前に、これらのモノに手を出すべ きではありません。でしょ?

2.1 バックアップは重要

テープはバックアップの友です。高速で信頼でき、使い易く、それゆえ頻繁に、 (可能なら)自動的に、気負うことなくバックアップできます。

声を大にして言いましょう:私は真のテープドライブについて話しているので あって ftape なんてものについて言っているのではありません。SCSI を買う ことにしましょう:Linux は SCSI をネイティブにサポートしています。ASPI ドライバは必要ないし、Linux では貴重な HMA も失わずに住みます。既に SCSI ホストアダプタがインストールされていれば増設ディスク、テープ、 CD-ROM を取り付けるだけです。もはや I/O アドレス、IRQ の衝突回避、マス ター/スレーブ、PIO-level matching などに悩まされなくて済みます。

加えて:まともな SCSI ホストアダプタは CPU の多大な負荷なしで高い I/O パフォーマンスを得ることができます。ハードなディスク負荷のもとでも良い 応答時間を体感できます。Linux システムを主要な USENET ニュースの配布用 として使う予定だったり、ISP(インターネットサービスプロバイダ)ビジネス にとびこもうとするつもりなら、SCSI なしでシステムを設計、構築しような んて夢にも思わないことです。いいですか?

2.2 デバイス番号とデバイス名

インテルベースのシステムでのパーティションの数は黎明期から制限されてい ました。オリジナルのパーティションテーブルはブートセクタの一部としてイ ンストールされ、たった4つのパーティションエントリ分の領域しかありませ んでした。このパーティションは現在では基本(primary)パーティションと呼 ばれています。人々が自分のシステムにもっと多くのパーティションを必要と することが明らかになると、論理(logical)パーティションが考え出されまし た。論理パーティションの数は無制限です:それぞれの論理パーティションは 次の論理パーティションへのポインタを持っています。そのため論理的にはパー ティションエントリの無限のつながりを持つことができます。

互換性を確保するために、全論理パーティションが占める領域は明確に示され ている必要があります。論理パーティションを使うときは1つの基本パーティ ションエントリが「拡張(extended)パーティション」として指定され、その最 初と最後のブロックの中に、すべての論理パーティションが収まっている必要 があります。これは、全論理パーティションに割り当てられた領域が連続して いる必要があるということを暗に示しています。 拡張パーティションは一つ しか置けません。 fdisk プログラムで複数の拡張パーティションをつく ることはできません。

Linux では、ドライブ一台に対して扱うことのできるパーティションの数に制 限があります。 Linux で使える基本パーティションは4つまで(論理パーティ ションを使うのなら3つまで)、SCSI ディスクでは基本、論理あわせて最大1 5のパーティションを使えます(IDE ディスクではあわせて63)。

Linux では、パーティションはデバイスファイルで表されます。デバイスファ イルとは c タイプ(「キャラクタデバイス」: バッファキャッシュを使わない デバイス)か、b タイプ(「ブロックデバイス」: バッファキャッシュを利用す るデバイス)のファイルの事です。Linux では全てのディスクがブロックデバ イスとしてのみ扱われます。他の Unics達とは異なり、Linux ではディスクや そのパーティションに"raw"キャラクタバージョンはありません。

デバイスファイル関係で唯一つ重要なことはそれがメジャー/マイナー デバイ ス番号を持つことで、それらはファイルサイズの代わりに表示されます:


$ ls -l /dev/hda
brw-rw----   1 root     disk       3,   0 Jul 18  1994 /dev/hda
                                   ^    ^
                                   |    マイナーデバイス番号
                                   メジャーデバイス番号

デバイスにアクセスする際には、入出力操作を行うためにどのデバイスドライ バを呼び出すのかをメジャーナンバーで選択する。この呼び出しはマイナーナ ンバーをパラメータとして行うが、このマイナーナンバーをどのように解釈す るのかは完全にドライバ次第である。ドライバに関する文書は普通、ドライバ がどのようにマイナー番号を使うかを記述しています。IDE ディスクではこの 文書は /usr/src/linux/Documentation/ide.txt にあります。SCSI ディ スクでは、/usr/src/linux/Documentation/scsi.txt にあると言いた いところですがここにはありません。ドライバのソースコードを見て下さい。 (/usr/src/linux/driver/scsi/sd.c:184-196 にあります) 幸運にも Peter Anvin 氏によるデバイス番号とデバイス名のリストが /usr/src/linux/Documentation/devices.txt にあります。ブロックデ バイスのエントリを見て下さい。メジャー番号の 3, 22, 33, 34 が IDE ディ スクに、8 が SCSI ディスクにわりあてられています。メジャー/マイナー番 号はそれぞれ1バイトであり、それゆえディスクあたりのパーティションの数 に限りがあるのです。

慣習によりデバイスファイルはある特定の名前を持ち、多くのシステムプログ ラム中にその名前がコンパイル時に埋め込まれています。 IDE ディスクには /dev/hd* という名前が、また SCSI ディスクには /dev/sd* という名前が想定されています。ディスクは a, b, c などと番号付けられ、 それゆえ /dev/hda は最初の IDE ディスクで、/dev/sda は最 初の SCSI ディスクです。この2つのデバイスはブロック1から始まるディス ク全てを表しています。これらのデバイスにまちがったツールで書き込みをお こなうとマスターブートローダーやディスクのパーティションテーブルが壊れ、 ディスク上の全てのデータが使えなくなり、システムが起動不能になります。 作業をする際には自分がしようとしていることを理解し、もう一度いいますが、 実行する前にバックアップをとってください。

ディスクの基本パーティションは1, 2, 3, 4 です。つまり /dev/hda1 は1つめのIDEディスクの1つめの基本パーティションです。論理パーティショ ンの番号は5からになります。つまり /dev/sdb5 は 1台目の SCSI ハー ドディスクの1つめの論理パーティションです。

それぞれのパーティションエントリには最初と最後のブロックを指し示すアド レスとファイル型が格納してあります。ファイル型はそのパーティションがオ ペレーティングシステムのどのファイル型かを示す数字(1バイト)です。コン ピュータコンサルタントにとっては稼ぎの種になることですが、パーティショ ンのファイル型番号は実際は唯一ではなく、それゆえ2つのオペレーティング システムが同じファイル型番号を使う可能性が常にあります。

Linux はファイル型番号として 0x82 を、スワップパーティションとして 0x83をネイティブなファイルシステム(ほとんどすべての人にとってext2)とし て予約しています。以前は一般的でしたが今は古くなった Linux/Minix ファ イルシステムには 0x81 を割り当てています。OS/2 はそのパーティションに 0x07 をあて、その番号を Windows NT の NTFS も使っています。MS-DOS は FAT ファイルシステムのさまざまな味付けの違いのためにいくつかのファイル 型番号を割り当てています:0x01,0x04, 0x06 が知られています。DR-DOS は 0x81 を保護された FAT パーティションを指し示すのに使い、Linux/Minix と ともに使った場合に型による破壊を引きおこしましたが、もはや Linux/Minux と DR-DOS の双方を使うことは滅多にないでしょう。論理パーティションのた めのコンテナとして使われる拡張パーティションは0x05の型番号を持っていま す。

パーティションは fdisk プログラムで作成、削除を行ないます。自立 したすべてのオペレーティングシステムには fdisk が含まれ、伝統的 にほとんどすべての OS で fdisk (または FDISK.EXE )と呼ばれてさ えいます。いくつかの fdisk では(有名なのは DOS のものですが)、 他のオペレーティングシステムのパーティションを扱うときに制限があります。 制限とは、知らないファイル型番号持つものは扱えない事、1024より大きいシ リンダ数を扱えない事、シリンダ境界に終りがないパーティションを作成や認 識できない事、などがあります。例えば、MS-DOS の fdisk は NTFS パーティ ションを削除できませんし、OS/2 の fdisk では、Linux の fdisk によって 作成された、シリンダ境界で終っていないパーティションを「黙って修正」し てしまうことが知られています。また DOS と OS/2 の fdisk は1024シリンダ 以上を持つディスクを扱う際に問題がありました。(これらのディスクについ ての詳しい情報は"large-disk" Mini-Howtoを見て下さい。)

3. 私はどんなパーティションを必要としているのだろう?

3.1 私に必要なパーティションの数は?

OKay,ではどんなパーティションをあなたは必要としているのでしょう?論理 パーティションから起動することなど、頭から、全く考慮していないオペレー ティングシステムだってあります。だから、ひょっとするとMS-DOS, OS/2 や Linux や使っている OS の起動パーティションとして基本パーティションをとっ ておきたくなるかもしれません。1つの基本パーティションが、論理パーティ ション用の入れ物となる拡張パーティションとして必要となることをお忘れな く。

オペレーティングシステムの起動はリアルモードで行われます。つまり BIOS と1024シリンダの制限が絡みます。そこで問題を避けるために、すべてのブー トパーティションをハードディスクの最初の1024シリンダ以内に置きたくなる かもしれません。もう一度よく "large-disk" Mini-Howto を読んでください。

Linux をインストールするために、少なくとも1パーティションが必要です。 カーネルがこのパーティションから読み込まれれるなら(例えばLILOによって)、 このパーティションは BIOS から読めなければなりません。他の方法でカーネ ルを読み込む場合(例えばブートディスクや MS-DOS から Linux を起動する LOADLIN.EXE など)、パーティションはどこにあってもいいです。あらゆる場 合においてこのパーティションはファイル型 0x83の"Linux native" にします。

システムにはいくらかのスワップ領域が必要です。ファイルにスワップをとる のでなければ、専用のスワップパーティションが必要になります。このパーティ ションは Linux カーネルによるアクセスのみで、Linux カーネルは PC BIOS の欠点に悩まされませんので、スワップパーティションはどこに置いてもかま いません。私は論理パーティション(/dev/?d?5より上)を使うことをお勧めし ます。専用のLinuxスワップパーティションはファイル型 0x82 "Linux swap" です。

これらは最小限のパーティション構成です。Linux にとってはより多くのパー ティションを作ると便利かもしれません。以降を読んでください。

3.2 スワップ領域はどのくらいの大きさがいいのだろう?

専用のスワップパーティションを使うと決めた(普通これは 'Good Idea [tm]'ですが)場合、その大きさを見積もるのには以下のガイドラインを 使って下さい:

ですから 16MB RAM のばあい、最小限の設定ではスワップは必要ではないし、 48MB を越えるスワップはたぶん無用でしょう。正確な必要メモリ量はマシン 上のアプリケーションによります。(なにを期待してたんですか?)

3.3 どこにスワップスペースを置くべきか?

まとめ:他の仕事に忙しくなく、多くのヘッドを持った、高速なディス ク上にスワップ領域を取りましょう。複数のディスクを持っているとき:全て のディスク上、異なるコントローラがあればそれらでもスワップを分割、分散 しましょう。

さらに良い方法:RAMをもっと買いましょう。

3.4 ファイルシステムとフラグメンテーションに関するいくつかの事実

ディスクスペースはオペレーティングシステムによってブロック単位やブロッ クのフラグメントで管理されています。ext2 ではフラグメントとブロックは 同じサイズでなければなりません。そこでわれわれは議論をブロックに限るこ とができます。

ファイルはいかなるサイズでもありえます。それらはブロック境界では終りま せん。そこで全てのファイルではファイルの最後のブロックの一部が無駄とな ります。ファイルサイズが不規則だとすれば、ディスク上のファイルのそれぞ れにブロックの半分の(サイズの)無駄があると予想できます。Tanenbaum 教授 はこれを"Operating Systems"のなかで"internal fragmentation"と呼んでい ます。

ディスク上で占められるinodeの数からファイル数が推測できます。私の場合 は:


# df -i
Filesystem           Inodes   IUsed   IFree  %IUsed Mounted on
/dev/hda3              64256   12234   52022    19%  /
/dev/hda5              96000   43058   52942    45%  /var

約12000のファイルが/(ルート)に、約44000のファイルが/var にあります。1 KBのブロックサイズでは 6+22 = 28 MB のディスク容量がファ イルの尻尾の部分として失われています。ブロックサイズを 4KB とした場合、 この容量の4倍を失うことになります。

データ転送速度はおおきくて連続したデータのかたまりのほうが速いです。そ こで ext2 はサイズが大きくなりつつあるファイルのために8つの連続したブ ロックごとにあらかじめ領域を割り当てようとします。あらかじめとっておい た領域の使われない部分はこのファイルが閉じられたときに解放されます。

1つのファイルが不連続なブロックに配置されているのはパフォーマンスの点 でよくないことです。なぜならファイルはしばしば連続的にアクセスされるか らです。ファイルが不連続だとオペレーティングシステムにディスクアクセス を分割しなければならず、ディスクはヘッドを動かさなければなりません。こ れは"external fragmentation"とか単純に"フラグメンテーション (fragmentation)"と呼ばれ DOSファイルシステム上と共通の問題です。

ext2 は external fragmentation を避けるためにいくつかの戦略を持ってい ます。普通、フラグメンテーションは USENET ニューススプールの様に酷使さ れない限り、ext2 にとって大きな問題ではありません。ext2 ファイルシステ ム用のデフラグツールがあるのですが、ext2 の現リリースに追い付いていま せん。これを使うときは、自分の責任で行ってください。

MS-DOS ファイルシステムはディスクスペースの異常な管理でよく知られてい ます。MS-DOS のバッファキャッシュの使い方がひどく悪いことと相まってパ フォーマンスに及ぼすファイルフラグメンテーションの影響は際だっています。 DOS ユーザー達はほとんど毎週ディスクをデフラグすることに慣れていて、デ フラグすることに関して儀式的な信仰に達している人すらいます。このような 習慣は Linux と ext2 に持ちこむべきではありません。Linux のネイティブ なファイルシステムは普通の使い方ではデフラグを必要としません。ディスク 上の空き領域がすくなくとも 5% ある状況なら「普通の使い方」の範疇です。

MS-DOS ファイルシステムはまた、internal fragmentation によりディスク領 域の大きな部分を失うことも知られています。256MB より大きなパーティショ ンでは DOS のブロックサイズはもはや使い難いほど大きくなります。(このこ とは FAT32 による拡張などにもあてはまります)

ext2 は、小さなブロックサイズが役立たずになる0.5TB (テラバイトと読み 1TB は 1024GB になります)とかそれ以上の巨大なファイルシステム以外は、 大きなファイルシステムのために大きなブロックサイズを選ばなければならな い、ということはありません。ですので DOS と違って、ブロックサイズを小 さくするために大きなディスクを複数のパーティションに分ける必要はありま せん。可能ならば、デフォルトのブロックサイズ 1KBを使ってください。いく つかのパーティションを実験的に 2KB のブロックサイズにしてみたくなるか もしれませんが、まれなバグに遭遇することを覚悟しておいてください。ほと んどの人がデフォルトを使っているので。

3.5 パーティション分けの判断基準となるファイル寿命とバックアップサイクル

ext2 のもとでは、パーティション分けはバックアップを考慮したり異なるファ イル寿命から生じる external fragmentation を避けるためなどから決めるべ きです。

ファイルには寿命があります。ファイルが作られたあと、それはしばらくシス テム上に保持され、のちに削除されます。ファイルの寿命はシステム内で様々 ですし、ある程度ファイルのパスに依存します。例えば、/bin, /sbin, /usr/sbin, /usr/bin とか同じようなディレク トリ中のファイルはおそらく大変長い寿命(数ヶ月とかそれ以上)を持つでしょ う。/home のファイルは数週間かそこらの中くらいの寿命を持つでしょ う。/var のファイルは普通、寿命が短いです。 /var/spool/news 中のファイルは数日以上は残らないでしょう。 /var/spool/lpd 中のファイルは数分とかそれ以下の単位で寿命が計れ ます。

もし「デイリーバックアップ」の量がバックアップメディア1枚の容量以下な らばバックアップはやりやすいです。「デイリーバックアップ」とはフルバッ クアップまたはインクリメンタルバックアップです。

パーティションサイズを1枚のバックアップメディアに収まるように、 十分小さくしておくようにすることもできます(毎日フルバックアップするよ うにしましょう) 。そうでない場合でも、パーティションは毎日の増加分(変 更された全てのファイル)が1枚のバックアップメディアに十分収まる程度の 大きさにしておくべきです。(インクリメンタルバックアップを選択し、毎週/ 毎月のフルバックアップ -無人では作業できないバックアップ- の度にバック アップメディアを交換するようにしましょう)。

あなたのバックアップ戦略はこれらの決定に依存しています。

ディスク領域に関し計画したり、ディスクを購入するときは、バックアップの ために十分なお金を用意することに留意しておいてください。バックアップさ れていないデータは価値がないのです!データを作り直すコストはほとんどす べての人にとってバックアップのコストよりずっと大きいのです。

異なった寿命を持つファイルを異なったパーティションに置いておくのはパフォー マンスにとってよいことです。このやりかただとニュースパーティション上の 短命なファイルはフラグメントが大きいです。このことが //home パーティションのパフォーマンスに影響をおよぼすことはあり ません。

4.

4.1 意欲のある初心者のための推奨モデル

一般的なモデルでは /, /home, /var パーティション を上記のように作成します。このことはインストールや維持を単純なものにし、 ファイル寿命の違いからくる不都合な点を避けるのに十分な区分けです。これ はバックアップモデルにもよくあてはまります。ほとんどの人は USENET ニュー ススプールはバックアップしないでしょうし、/var の中でバックアッ プする価値があるのはいくつかのファイルだけでしょう (/var/spool/mail が思い浮かぶでしょう)。一方、/ はあまり 変更されませんから、必要なときにだけ(設定を変更したあとだけ)バックアッ プすれば良いでしょう。またほとんどの現代的なバックアップメディアにフル バックアップできるほど十分小さいです。(インストールするソフトウェアの 大きさによって250から500MB割り当てましょう)。/home は変化するユー ザーデータが含まれるので毎日バックアップすべきです。インストール状態に よっては巨大な /home があり、インクリメンタルバックアップをしな ければなりません。

そのうえ、/tmp を 分割したパーティションに置いているシステムも あります。また別のシステムでは /var/tmp にシンボリックリンクを はったり(これはシングルユーザーモードに影響を及ぼし、手動で /tmp を1つ作るか /var をマウントするまでシステムは /tmp を持たないことに注意)、RAM ディスクにそれを置くことで(たと えば Solalis がこれ)同様の効果を狙っています。 このことは / の そとに /tmp を置いておけるので良い考えです。

加えて、このモデルはアップグレードや再インストールの場合も便利です:設 定ファイル(または /etc 全体)を /home ディレクトリのどこ かに保存しておけば、 / の再生や、再インストール、古い設定を /home にある保存しておいたディレクトリから取り出す、などができ ます。

5. 私の場合

ここに古い ISA バスの 386/40 マシンがもう取り上げるものもなく棚に2年 まえから放棄されていました。で、家庭内LANのために簡素なXなしのサーバに 変身させることを考えました。

以下、私のやったことです: 386 を手にいれ 16MB RAM をのせました。安く て今手にはいる最小の (800MB)EIDE ディスクとイーサネットカードを追加し ました。さらに古いヘラクレスのビデオカードを追加しました。それにつなげ るモニターがあったからです。 Linux をインストールすれば、ローカルな NFS, SMB, HTTP, LPD/LPR, NNTP サーバーの出来上がりです。メールサーバや POP3 サーバにもできます。別のモデムや ISDN カードがあれば TCP/IP ルー タやファイアウォールにもなります。

このマシンで使われるディスク領域のほとんどは /var ディレクトリ にあります。 /var/spool/mail, /var/spool/news, /var/httpd/html などです。/var を分離したパーティション に置き、これに大きな領域をあてがいます。このマシン上にはほとんどユーザー 領域はいらないので、 /home は作らず他のワークステーションから NFS でマウントしました。

X といくつかのユーティリティをのぞいた Linux システムは / にあ てがった 250MB のパーティションに充分入るでしょう。このマシンは 16 MB の RAM を持っていますが多くのサーバーを動かします。 16MB のスワップが おそらく必要で、32MB あれば十分でしょう。ここではディスクスペースが不 足しているわけではないので32MBとします。センチメンタルな気分は捨てて、 MS-DOS パーティションは20MBぐらいにしました。他のマシンから /home をインポートすると決めたので、500MB以上 /var とし て残ります。これなら家庭内 USENET ニュースサービスとしては十分以上でしょ う。

でこうなりました。


Device     Mounted on                      Size
/dev/hda1  /dos_c                           25 MB
/dev/hda2  - (Swapspace)                    32 MB
/dev/hda3  /                               250 MB
/dev/hda4  - (Extended Container)          500 MB
/dev/hda5  /var                            500 MB

homeserver:/home /home                     1.6 GB

バックアップはホームサーバーのテープを用いてネットワーク経由で おこないます。このマシン上の全ては CD-ROM からインストールしたものなの で、保存しておかなければならないのは カスタマイズした /etc 以下 の設定ファイル や /root/Source/Installed からインストールした *.tgz ファイル、/var/spool/mail/var/httpd/html などだ けです。これらのファイルを毎晩ホームサーバー/home/backmeup にコピーします。そうすればホームサーバーのバック アップの際、それらもバックアップできます。