第3回 各ディレクトリの役割を知ろう(サブディレクトリ編)

前回は、ルートディレクトリ直下の各ディレクトリについて、どれがどう使われるのかを解説しました。今回は、さらにそのサブディレクトリについても、説明していきます。

関野史朗
2001/9/7

サブディレクトリを持つディレクトリ

 ルートディレクトリ直下にあるディレクトリの中で、さらに複雑なサブディレクトリ構造を持っているのが/etc、/opt、/usr、/varの4つです。これらのディレクトリを順番に見ていきましょう。

FHS 2.2における/etcの構造

/etc  
opt/ /opt用設定ファイル
X11/(オプション) X Window System用設定ファイル
sgml/(オプション) SGML/XML用設定ファイル
図1 /etc以下の構成

 前回説明したように、各種の設定ファイルの保存場所として使われるのが/etcです。FHS(Filesystem Hierarchy Standard:前回参照) 2.2では、/etcにバイナリファイルを置かないこと、/opt用の設定ファイルを置くために/etc/optを設けることが要求されています。さらに、オプションとしてX Window System用の/etc/X11、SGMLとXML用の/etc/sgmlが規定されています。

 /etcには以下のファイルを配置することになっていますが、いずれもオプションです。

csh.login cshのシステム設定ファイル ld.so.conf 共有ライブラリのパス
exports NFSアクセス制御リスト motd ログイン後のメッセージ
fstab ファイルシステムの静的な情報 mtab ファイルシステムの動的情報
ftpusers FTPアクセス制御リスト mtools.conf mtools用設定ファイル
gateways routed用ファイル networks ネットワーク名の静的情報
gettydefs getty用設定ファイル passwd パスワードファイル
group ユーザーグループ一覧 printcap プリンタデータベース
host.conf リゾルバ設定ファイル profile shのシステム設定
hosts 静的なホスト名情報 protocols IPプロトコルリスト
hosts.allow TCP_Wrappers用設定ファイル resolv.conf DNSリゾルバ設定ファイル
hosts.deny TCP_Wrappers用設定ファイル rpc RPCプロトコルリスト
hosts.equiv rsh系コマンド用設定ファイル securetty root用にアクセス制御を行えるTTY
hosts.lpd lpdアクセス制御リスト services ネットワークサービスのポート一覧
inetd.conf inetd用設定ファイル shells 使えるシェルプログラムのリスト
inittab init用設定ファイル syslog.conf syslogdの設定ファイル
issue ログイン前の表示用ファイル

 /etc/X11に配置するべきファイルとしては、XconfigXF86Config(いずれもXFree86の設定ファイル)、Xmodmap(X11用キーボード変換ファイル)が挙げられています。もちろんこれだけではなく、X Window Systemで動作するさまざまなプログラムの設定ファイルもここに置かれます。

 /etc/sgmlには、*.confという汎用設定ファイルと*.catというDTD定義用のファイルを配置することになっています。

Red Hat Linux 7.1における/etc

 FHS 2.2で規定されているファイルやディレクトリは、必要最小限の要素にすぎません。実際、Red Hat Linux 7.1では/etcにさまざまなファイルやディレクトリが配置されています。代表的なところでは、

/etc  
FreeWnn/ 仮名漢字変換システム用ディレクトリ
cron.daily/ 毎日実行するファイル群
cron.hourly/ 毎時実行するファイル群
cron.monthly/ 毎月実行するファイル群
cron.weekly/ 毎週実行するファイル群
rc.d/ スタートアップ時に実行するプログラムの格納場所
rc0.d/ ランレベル0用スタートアッププログラム群 
rc1.d/ ランレベル1用スタートアッププログラム群
rc2.d/ ランレベル2用スタートアッププログラム群
rc3.d/ ランレベル3用スタートアッププログラム群
rc4.d/ ランレベル4用スタートアッププログラム群
rc5.d/ ランレベル5用スタートアッププログラム群
rc6.d/ ランレベル6用スタートアッププログラム群
pam.d/ パスワード認証モジュール用設定ファイル
rpm/ RPM用設定ファイル群
aliases sendmail用別名ファイル
crontab 定期実行用設定ファイル
shadow シャドウパスワード
locale 各国語データベース
logrotate.conf ログファイルの切り替え用設定ファイル
modules.conf Linux Kernelモジュールの設定ファイル
rc.local ホスト固有のスタートアッププログラム
rc.sysinit システム設定用スタートアッププログラム
図2 Red Hat Linux 7.1の/etc(主要ディレクトリおよびファイルのみ)。FHS 2.2の規定が最小限のものであることが分かる

といったところでしょうか。ディストリビューションによって違うのはもちろん、Red Hat Linux 7.1であってもインストール時のオプションなどによって変わってきます。

FHS 2.2における/opt

/opt
<package A>/
bin/
man/
<package B>/
bin/
man/
<package …>/
bin/
man/
bin/(管理者用)
doc/(管理者用)
include/(管理者用)
info/(管理者用)
lib/(管理者用)
man/(管理者用)
図3 /optの構造。ただし、現時点では/optはあまり活用されていない

 FHS 2.2では、/optの下にアプリケーションパッケージごとに専用のディレクトリ(以下<package x>で示す)を作ることになっています。なお、/optにはローカルシステムの管理者用に予約された6つのサブディレクトリがあります(図3参照)。

 プログラムは/opt/<package x>/binに配置する必要があります。また、UNIXのマニュアルフォーマットにのっとったファイル(manページ)は、/opt/<package x>/man以下に配置します。このとき、サブディレクトリの構造は後述の/usr/share/man以下と同じようにします。

 なお、パッケージが利用するのは/opt以下だけではありません。例えば、作業用のデータは/var/opt以下に、ホスト固有の設定ファイルは/etc/opt以下に配置します。

 
1/2

Index
Windowsユーザーに教えるLinuxの常識
サブディレクトリを持つディレクトリ
  FHS 2.2における/opt
  巨大な/usrのディレクトリ構造
  共有できない/var
  FHSは基本パターン

連載 Windowsユーザーに教える Linuxの常識


 Linux Squareフォーラム Linux/システム学習関連記事
連載:Windowsユーザーに教えるLinuxの常識(全12回)
Windowsのセオリーが通用しないLinux。Linux初心者向けに、LinuxというOSの考え方/常識をゼロから伝授!
連載:LFSで作って学ぶLinuxの仕組み(全4回)
管理者(root)は、何をしなければならないのか? 管理に際して検討すべきことは? 管理のための技術とは? など、駆け出し管理者のための考え方や方法論を検討する
連載:Linux管理者への道(全8回)
「Linux From Scratch」というシンプルなLinuxをインストール&環境構築する作業を通して、LinuxがOSとして機能するための仕組みや設定を見直そう
Linux Squareフォーラム全記事インデックス

MONOist組み込み開発フォーラムの中から、Linux関連記事を紹介します

TechTargetジャパン

Linux Square フォーラム 新着記事

@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

RSSフィード

キャリアアップ



- PR -
@IT Sepcial

イベントカレンダー

PickUpイベント

- PR -
もっと見る
- PR -

お勧め求人情報

ホワイトペーパーTechTargetジャパン

@IT Sepcial
ソリューションFLASH