連載
» 2001年09月07日 00時00分 UPDATE

Windowsユーザーに教えるLinuxの常識(3):各ディレクトリの役割を知ろう(サブディレクトリ編) (1/2)

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

[関野史朗,@IT]

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

 ルートディレクトリ直下にあるディレクトリの中で、さらに複雑なサブディレクトリ構造を持っているのが/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の下にアプリケーションパッケージごとに専用のディレクトリ(以下で示す)を作ることになっています。なお、/optにはローカルシステムの管理者用に予約された6つのサブディレクトリがあります(図3参照)。

 プログラムは/opt//binpackage x>/binに配置する必要があります。また、UNIXのマニュアルフォーマットにのっとったファイル(manページ)は、/opt//manpackage

x>/man以下に配置します。このとき、サブディレクトリの構造は後述の/usr/share/man以下と同じようにします。

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

       1|2 次のページへ

Copyright© 2017 ITmedia, Inc. All Rights Reserved.

@IT Special

- PR -

TechTargetジャパン

この記事に関連するホワイトペーパー

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。