RPMパッケージのインストール構成はSRPMを覗けば分かる

 RPMパッケージでは、rpmコマンドを実行することで簡単にインストールできるわけだが、どのような構成(ディレクトリレイアウトなど)でインストールされるのかが気になるところだろう。

 ソースコンパイルによる方法の個所で説明したように、Apacheをコンパイルする際には、幾つかのオプション指定が可能なため、どのような構成でコンパイルされたApacheがインストールされるかを知ることは重要だ。まずもっとも簡単に、どのディレクトリにどのようなファイルがインストールされるのかという点だが、これについては、次のように「-qpl」オプションを指定して、rpmコマンドを実行すればよい。

$ rpm -qpl apache-1.3.23-14.i386.rpm

 するとインストール先のディレクトリとインストールするファイルの一覧が表示される。実際に確認するとわかるが、RPMパッケージでは、「基本的に」ConfigureオプションのRed Hatレイアウト(Fig.4)でインストールされている。つまり、実行ファイルは、/usr/binディレクトリや/usr/sbinディレクトリ、設定ファイルは、/etc/httpd/confディレクトリに置かれているわけだ。

 次に、どのような構成でインストールされたApacheなのかを調べる方法にも触れよう。これはRPMパッケージの元となっているSRPMパッケージをダウンロードし、そのファイル内容を見るのがいちばんだ。どのようなコンパイルオプションとなっているのかは、ディストリビューションどころかバージョンによっても異なる可能性がある(ただし、同一ディストリビューションのバージョンアップでは互換性が保証される)。

 apache-1.3.23-14.i386.rpmのSRPMパッケージ「apache-1.3.23-14.src.rpm」では、幾つかのパッチをApacheの元のソースファイルに適用した後、(Configurationファイルで設定するのではなく)Configureコマンドのオプションで各種設定をしてコンパイルするようになっている。

 SRPMパッケージに含まれるconfigureコマンドのオプションは、List 3のようになっている。

List3■SRPMパッケージで見るconfigureスクリプトオプション指定

./configure \
 --prefix=%{_sysconfdir}/httpd \
 --exec-prefix=%{_prefix} \
 --bindir=%{_bindir} \
 --sbindir=%{_sbindir} \
 --mandir=%{_mandir} \
 --sysconfdir=%{_sysconfdir}/httpd/conf \
 --includedir=%{_includedir}/apache \
 --libexecdir=%{_libdir}/apache \
 --datadir=%{contentdir} \
 --iconsdir=%{contentdir}/icons \
 --htdocsdir=%{contentdir}/html \
 --manualdir=%{contentdir}/html/manual \
 --cgidir=%{contentdir}/cgi-bin \
 --localstatedir=%{_localstatedir} \
 --runtimedir=%{_localstatedir}/run \
 --logfiledir=%{_localstatedir}/log/httpd \
 --proxycachedir=%{_localstatedir}/cache/httpd \
 --enable-module=all \
 --enable-shared=max \
 --enable-rule=EAPI \
 --disable-rule=WANTHSREGEX \
 --enable-module=auth_dbm \
 --with-perl=%{__perl} \
 --enable-suexec \
 --without-execstrip \
 --suexec-docroot=%{contentdir} \
%if %{piranha62}
 --suexec-uidmin=51 --suexec-gidmin=51 \
%endif
 --suexec-caller=%{suexec_caller}

 次のページでは、上記configure指定のすべてを解いてみよう。

PREV 13/14 NEXT