CentOS5へRHEL5のSRPMからApacheをアップデートする

CentOS5のyumで入れたApacheを、RHEL5SRPMを使ってアップデート出来るか実験する必要があったので、その時のメモです。


ますはRHEL5SRPMをダウンロードします。

wget http://ftp.redhat.com/pub/redhat/linux/enterprise/5Server/en/os/SRPMS/httpd-2.2.3-53.el5_7.1.src.rpm

お好みでRPMビルド用ディレクトリを作成します。

echo "%_topdir $HOME/rpm" > ~/.rpmmacros
mkdir -p ~/rpm/{BUILD,RPMS,SOURCES,SPECS,SRPMS}

そしてRPMビルド。

rpmbuild --rebuild httpd-2.2.3-53.el5_7.1.src.rpm

が、依存関係のエラーが幾つか出たので・・・

        xmlto >= 0.0.11 は httpd-2.2.3-53.1.x86_64 に必要とされています
        pcre-devel >= 5.0 は httpd-2.2.3-53.1.x86_64 に必要とされています
        distcache-devel は httpd-2.2.3-53.1.x86_64 に必要とされています

必要なものをyumでインストールします。

yum install xmlto pcre-devel distcache-devel

再びRPMビルド。

rpmbuild --rebuild httpd-2.2.3-53.el5_7.1.src.rpm

無事RPMが作成されたので、アップデート!・・・のテスト

rpm -Uvh --test ~/rpm/RPMS/x86_64/httpd-2.2.3-53.1.x86_64.rpm \
  ~/rpm/RPMS/x86_64/mod_ssl-2.2.3-53.1.x86_64.rpm

なにもエラーは出なかったので・・・本当にアップデートを行います。

rpm -Uvh ~/rpm/RPMS/x86_64/httpd-2.2.3-53.1.x86_64.rpm \
  ~/rpm/RPMS/x86_64/mod_ssl-2.2.3-53.1.x86_64.rpm

インストールされたものを確認・・・成功しているっぽいけど 2.2.3-53.el5_7.1 とはならない?

rpm -qa | grep httpd
httpd-2.2.3-53.1

が、某Apache Killerで死ななくなったので無事アップデート出来ていると思います。