!!!Linux デバイス、ファイルシステムおよびファイルシステム階層標準 [Linux][Linux コマンド]{{category 正規表現}} {{amazon 487311070X}} *Linuxシステムを安定して動作させるために、ファイルシステムの管理はとりわけ重要 !!!パーティションとファイルシステムを作成する !!Linuxのディスクドライブ *Linuxでは、SCSI、IDE、フロッピーディスク、CD-ROMなど多くの種類のディスクデバイスとディスク形式をサポートしている *ファイルシステムとして、Linux標準のex2、FAT、FAT32、NTFSなどを作成することができる *ファイルシステムに対する柔軟性があるため、他のOSとともにマルチブートシステムで使用することができる !!ハードディスクドライブ *デフォルト設定の場合、Linuxでは次のデバイスファイルが定義される ,デバイスファイル,デバイス ,/dev/hda,プライマリマスタIDE ,/dev/hdb,プライマリスレーブIDE ,/dev/hdc,セカンダリマスタIDE ,/dev/hdd,セカンダリスレーブIDE ,dev/sda,1台目のSCSIドライブ ,dev/sdb,2台目のSCSIドライブ ,dev/sdc,3台目のSCSIドライブ !!ディスクパーティション *PCの各ディスクで作成できるパーティションの数は最大で16個 *Linuxの各パーティションには何番目かを表す整数値がデバイス名に付加される **/dev/hdaというIDEディスクの先頭パーティションは、/dev/hda1となる !!パーティションの種類 !基本パーティション *基本パーティションには一般にファイルシステムが含まれる *1つ以上存在しなければならない *1つの物理ディスクには最大4つの基本パーティションを作成できる ::基本パーティションが4つ存在する場合、例えば以下のようになる +/dev/hda1 +/dev/hda2 +/dev/hda3 +/dev/hda4 *このうちアクティブであることを示すマークのついた基本パーティションは、BIOSが起動時に起動パーティションとして使用する !拡張パーティション *基本パーティションの変種であり、直接ファイルシステムを含めることはできない *論理パーティションを含めることができる *1台のディスクに設定できる拡張パーティションは1つのみ *拡張パーティションとなるのは、基本パーティションの領域 *基本パーティション領域が3つあれば、そのうちの1つを拡張パーティションとして利用できる ::例 +/dev/hda1 (基本パーティション) +/dev/hda2 (拡張パーティション) !!論理パーティション *論理パーティションは、拡張パーティションの中に存在する *最大12個の論理パーティションを作成することができる *論理パーティションに割り振られる番号は、5から16まで ::基本パーティション1、拡張パーティション1、論理パーティション4の例 +/dev/hda1 (基本パーティション) +/dev/hda2 (拡張パーティション) +/dev/hda5 (論理パーティション) +/dev/hda6 (論理パーティション) +/dev/hda7 (論理パーティション) +/dev/hda8 (論理パーティション) !!ルートファイルシステムとマウントポイント *Linuxを起動すると最初に利用可能なファイルシステムが最上位のファイルシステム、つまりルートファイルシステムになる *ルートファイルシステムは、1つのスラッシュで表される *ルートファイルシステムには、システムのほぼすべてのデータを格納することもできる **この様な構成では、ルートファイルシステムに空き領域がなくなった場合に、障害が発生することがある **一般には複数のパーティションを設定し、各パーティションに/以下のいずれかのディレクトリを含めて運用する *ルート以外のファイルシステムを格納したパーティションは、カーネル起動時にルートファイルシステムにマウントすることで、1つの統合されたファイルシステムとして形成される *複数のディスクドライブにまたがっていても構わない !!パーティションのガイドライン !/(ルートディレクトリ) */は起動時にデフォルトでマウントされる唯一のファイルシステム *以下のように、起動時に直ちに利用可能でなければならないディレクトリはここに配置 ::起動時に直ちに利用可能でなければならないディレクトリ *以下のディレクトリは、ルートファイルシステムに必ず配置される ,ディレクトリ,内容 ,/binと/sbin,システムに必須のバイナリプログラム ,/dev,デバイスファイル ,/etc,起動設定情報 ,/lib,プログラムライブラリ !/boot *カーネルイメージなど、ブートローダで使用される静的ファイル *カーネル開発が盛んなシステムでは独立したパーティションに配置すると、開発中に/がカーネルイメージと関連するファイルでいっぱいになる心配がなくなる !/home *ユーザーファイルは、独立したパーティションに配置するのが一般的 *システムの中でもっともサイズの大きなパーティションになることが多いので、独立したディスクに配置してもよい !/tmp *一時ファイルで空き領域がなくなるのを避けるため、独立したパーティションに配置するのが一般的 !/var *ログファイルが格納される。 *頻繁に内容を消去しないと、運用に連れさイズが大きくなり、空き領域がなくなることがある !/usr *このディレクトリの下にさらにディレクトリ階層が展開され、ユーザーコマンド、ソースコードドキュメントなどが格納される。 *非常にサイズが大きくなることが多いため、独立したパーティションに配置するかどうかを検討する必要がある */usr以下に格納されるデータのほとんどは静的であるため、このディレクトリを読み取り専用でマウントしてデータの変更を禁止した方がよいという考え方もある