ファイルシステムの全体像

 オペレーティングシステムは、追加、修正などの変更履歴が得られるような、ファイルやディレクトリの格納方法を独自に持っています。

 Linuxでは、ファイルにはそれぞれ固有の名前がつけられ、その他のファイルやディレクトリを格納可能なディレクトリ(またはサブディレクトリ)に保存されます。

 システムを、ディレクトリという枝を持った木のような構造だと考えてみることができます。これらのディレクトリには、それ自体もファイルやディレクトリを含んでいるディレクトリの親ディレクトリになることができます。

 根(root)のない木が有り得ないように、rootのないファイルシステムも有り得ません。どれだけ枝同士が離れていても、すべては根(root)でつながっています。rootは、スラッシュ( / )記号1つで示されます。

 Red Hat Linuxでは「root」という用語を複数の異なる意味で使っているので、初心者ユーザーは混乱するかもしれません。rootアカウント(すべての権限を持つスーパーユーザー)を指す場合もあれば、rootアカウントのログインディレクトリ( /root )を指す場合も、ファイルシステム全体のrootディレクトリ( / )を指す場合もあります。第三者に対して「root」という用語を使う際には、どのrootを指しているのかを明らかにする必要があります。

NoteFHSとは
 

Linuxには他のディストリビューションもありますが、Red Hat Linuxシステムはそれらのシステムとほぼ互換性があります。その理由は、FHS(Filesystem Hierarchy Standard)にあります。これらのガイドラインは、システムプログラムとファイルをすべてのLinuxシステムで格納する方法を標準化することを目的としています。

FHSについての詳細は、『オフィシャルRed Hat Linuxリファレンスガイド』のシステム管理の章を参照してください。FHSのWebサイト( http://www.pathname.com/fhs/ )を調べるのもよいでしょう

 せっかく、取り返しのつかないような誤りを犯さないようにユーザーアカウントでログインしているのですから、いろいろと調べてみましょう。

 最初に、rootディレクトリについて見てみましょう。そうすることで、どこに何があるかの概要が理解できるはずです。

 シェルプロンプトで、次のように入力します。

cd /

 プロンプトが次のように表示されます。

[newuser@localhost /]$

 ここで、以下のように入力して、rootから「分岐」しているディレクトリを調べます。

ls

 これは氷山の一角です。これらは、他のディレクトリの親ディレクトリで、その子ディレクトリにも、さらに子ディレクトリがあります。

Figure 11-7. rootから見たディレクトリ

 ここで見られるディレクトリには、おもに次のようなものがありますが、数はさほど多くありません。

etc lib sbin
usr var

 ほかにもディレクトリがありますが、まず、/etc ディレクトリを調べてみましょう。

[newuser@localhost /]$
cd etc
[newuser@localhost /etc]$
ls

 いろいろなタイプのファイルやディレクトリの中で、システムで使用するプログラムを作成する上で役に立ち、プログラムやシステム設定などを格納する設定ファイルが見つかります。

 ここのディレクトリの中に、X Window Systemに必要な設定ファイルなどを含む /etc/X11 があります。

 ディレクトリ /etc/skel には、新規作成されたユーザーアカウントのために標準かつ一般的に使用されるファイルを提供するために使用されるスケルトン(骨組み)ユーザーファイルがあります。

 このスケルトンファイルについて説明しましょう。rootとしてログインしたときの最初の作業として学習したことの1つがユーザーアカウントの作成でした。ユーザーアカウントが作成されると、/etc/skelからファイルが取り込まれて、新しいアカウントのログインディレクトリに配置されます。/etc/skel ファイルはすべての新しいアカウントに必要な標準ファイルです。

 では、次に /usr ディレクトリについて少し調べてみましょう。/etc/skel の現在の場所から、次のように入力することができます。

[newuser@localhost /skel]$
cd /usr
[newuser@localhost /usr]$
 ls

 あるいは、cd /usr と入力して /usr ディレクトリに移動し、ls と入力するとそのディレクトリ内のファイルを一覧表示することもできます。

 /usr には、システムで最も重要なプログラムやファイルのいくつかを含むディレクトリがあります(Figure 11-8を参照)。

Figure 11-8. /usrの中身

 /usr/share/man には、manページが保存されています。それ以外にも、/usr/share/doc/usr/share/info にさまざまなマニュアルが保存されています。

 /usr/X11R6 には、設定ファイルと文書ファイルを含むX Window Systemに関連するファイルがあります。

 /usr/lib には、システム用のライブラリが含まれています。ライブラリには、多くのプログラムでの共有が可能な、一般的に使用されるプログラムの機能が含まれています。

 Red Hat Linuxには、RPM (Red Hat Package Manager)というテクノロジーがあり、ソフトウェアのインストールやアップグレードに使用します。RPM は、シェルプロンプトや Gnome-RPM を通して使うことができ、ソフトウェアを安全かつ便利にアップグレード、インストール、アンインストールできます。Gnome-RPM の使用に関する詳細は、『オフィシャルRed Hat Linuxリファレンスガイド』を参照してください。

 RPMは非常に便利なのですが、Linuxに慣れてくると、RPMで利用できないソフトウェアをインストールしたくなることもあります。RPMが管理するファイルとの競合を最小限にするには、そのようなファイルを /usr/local に配置するのが最善の方法です。