UNIXは、PC-UNIXと商用UNIXとに分けられます。厳密な意味で UNIXと言えるのは、商用UNIXのうち、AT & T Bell Laboratory のライセンスを受けたものだけです。以後、これをUNIX®と 表記します。PC-UNIXは、厳密には、UNIX®ライクOSと言う ことになります。また、BSD系UNIXは、厳密には、BSD Operating System と言うことになります。
PC-UNIXで有名なものは、まず第一にLinux、第二に FreeBSDが挙げられます。LinuxはSVR系のPC-UNIXです。 FreeBSDはBSD系のPC-UNIXで、4.4BSD Operating System の流れを汲みます。
AT & T Bell Laboratoryのライセンスを受けた UNIX®は、一部BSD系UNIXの要素を取り込み、SVR系UNIXと なりました。SVR3とSVR4とがあります。SVR3とは、 System V Release 3(しすてむ ふぁいぶ りりーす すりー) の略で、SVR4とは、System V Release 4(しすてむ ふぁいぶ りりーす ふぉー)の略です。SVR3 UNIX®には、 IBM製のAIXがあり、SVR4 UNIX®には、Hewlett Packard製の HP-UXやSun Microsystems製のSolarisがあります。
商用UNIXもLinuxもSVR系ですが、FreeBSDだけが BSD系となっています。SVR系とBSD系には、違いがあります。 例えば、Solarisのshutdownコマンドはスクリプトですが、 FreeBSDのshutdownコマンドはバイナリです。他にも、 ディレクトリ レイアウトの違いもあります。この項では、 アプリケーションの設定ファイルのパスの違いについて 解説したいと思います。
この項で扱うFreeBSDの環境は、 FreeBSD(98) 4.11-RELEASE-Rev01 p26 です。UNIXでは一般に、設定ファイルは、/etc以下で一元管理 されます。ところが、FreeBSDのports/packagesコレクション によってインストールされるアプリケーション ソフトウェアの 設定ファイルは、主に/usr/local/etcに置かれます。 HP-UXやLinuxでは、/etc/sasldb2となりますが、 FreeBSDでは、/usr/local/etc/sasldb2となるのです。 WebリソースでUNIXアプリケーションの設定を学ぶ際は、 例えば「FreeBSD」と「Cyrus」のand検索で辿り着いたページの 設定はそのまま使えます。しかし、「Cyrus」と「設定」の and検索で得られたページでは、環境がHP-UXやLinuxや Solarisだったりするので、/etcを/usr/local/etcに 読み換える必要があるかも知れません。
Apacheのhttpd.confを例に採り、さまざまなUNIXで 設定ファイルがどのようなパスに置かれているか調べて みました。結果を表に纏めると、以下のようになります。
UNIXの名称 | Apacheのバージョン | httpd.confのパス |
---|---|---|
Vine Linux 2.5 | Apache | /etc/httpd/conf/httpd.conf*1 |
Turbo Linux 7 Server | Apache 2.0.52 | /usr/local/apache2.0.52/httpd.conf*2 |
FreeBSD(98) 4.11-RELEASE-Rev01 p26 | Apache 1.3.37_2 | /usr/local/etc/apache/httpd.conf |
FreeBSD/i386 6.2-RELEASE-p12 | Apache 2.2.4_2 | /usr/local/etc/apache22/httpd.conf |
NetBSD/pc98 1.4.3A | Apache 1.3.3.2 | /usr/pkg/etc/httpd/httpd.conf |
Solaris 8 | Apache | /etc/apache/httpd.conf |
Solaris 10 | Apache 2 | /etc/apache2/httpd.conf*3 |
HP-UX | Apache | /opt/apache/conf/httpd.conf 又は /opt/hpws/apache/conf/httpd.conf |
FreeBSDとNetBSDでそれぞれ/usr/local/etcと/usr/pkg/etc の下の方にhttpd.confがあるのが特異な点です。BSD系UNIXは ディレクトリ レイアウトが特殊なのでしょう。