Red Hat · 1 min read · Nov 12, 2025
CentOS 5 用の Red Hat Enterprise IPA RPM をビルドする方法
CentOS 5 用の Red Hat Enterprise IPA RPM をビルドする方法
FreeIPA は、Red Hat Linux の RHE IPA としてしばらく存在しており、Fedora にも追加されています。しかし、これは RHEL の追加アドオンであるため、CentOS ではまだ再ビルドされていません。これは残念なことです。なぜなら、FreeIPA は構成が簡単で、管理が容易なセキュリティ情報管理ソリューションだからです。私のように、CentOS で IPA を使用したい場合、このチュートリアルはあなたのためのものです。
前提条件
- CentOS 5.2 を最小パッケージセット(インストール時にすべてのチェックを外す)でインストールし、CentOS のリポジトリで完全に更新していること。 - これらの RPM を 32 ビット i386 システムでビルドしましたが、x86_64 や他のシステムでも非常に似たようにビルドできると思います。
- Linux コマンドの基本的な知識(ファイルの移動など)があること。
- 以下のコマンドを root として実行していること。
- Red Hat、CentOS、および EPEL がこれらのパッケージを新しくて不明瞭な場所に移動していないこと。もしそうであれば、すべてを見つけるために少し Google する必要があるかもしれません。
centos-ds rpm のダウンロードとインストール
- CentOS と EPEL は、すでに必要なパッケージのいくつかをコンパイルしています。他の誰かがすでに作業を行っているのに、なぜパッケージを再ビルドする必要があるのでしょうか?この方法で、リポジトリに更新が追加された場合も、彼らは更新されます!
- /etc/yum.repos.d/CentOS-testing.repo に以下の内容のファイルを作成します:
[testing] name=CentOS-$releasever - Testing baseurl=http://dev.centos.org/centos/$releasever/testing/$basearch/ gpgcheck=1 enabled=1 gpgkey=http://dev.centos.org/centos/RPM-GPG-KEY-CentOS-testing - 以下のコマンドを実行して、既存の RPM のいくつかをダウンロードしてインストールします:
rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-3.noarch.rpm yum install centos-ds-base-devel centos-ds centos-ds-admin-console python-psycopg2 rm /etc/yum.repos.d/CentOS-testing.repo yum clean all
RedHat からソースパッケージをダウンロード
- 以下のコマンドを実行して、必要な SRPMS をダウンロードします:
mkdir ~/srcbuild; cd ~/srcbuild/ wget -r -l 1 http://ftp.redhat.com/pub/redhat/linux/enterprise/5Server/en/RHEIPA/SRPMS/ mv ftp.redhat.com/pub/redhat/linux/enterprise/5Server/en/RHEIPA/SRPMS/*.rpm . - 不要な RPM を削除します - 古いバージョンの RPM を削除します(例:ipa のバージョンが 3 つある場合は、最新のものだけを保持します)。
- すでに centos-ds をインストールしたため、redhat-ds* を削除します。
- EPEL からインストールしたため、python-psycopg2 を削除します。
yum を使用して必要な開発パッケージを取得
- 以下のコマンドを実行して、必要なパッケージをダウンロードします:
yum install gcc gcc-c++ automake autoconf rpm-build mozldap-devel openssl-devel openldap-devel krb5-devel nss-devel libcap-devel python-devel libtool selinux-policy-devel python-setuptools-devel bison flex ncurses-devel texinfo tetex-latex pam-devel httpd-devel apr-devel apr-util-devel postgresql-devel sqlite-devel
TurboGears と krb5 パッケージを最初にビルド
- 以下のコマンドを実行します:
rpmbuild --rebuild TurboGears*.rpm krb5-server-ldap*.rpm python-kerberos python-tgexpandingformwidget*.rpm mod_nss*.rpm
- 実行中にコンソールにかなりの出力が表示されますが、それに怯えないでください。エラーが発生した場合、rpmbuild は実行を停止し、何かが不足していることを教えてくれます。
- rpmbuild がパッケージをビルドできなかった場合は、パッケージを “yum search” で検索し、インストールしてから上記のコマンドを再度実行してください。
- rpmbuild がエラーなしで終了すると、画面に “exit 0” と表示され、その後情報の出力が停止します。
- rpmbuild が完了したら、以下のコマンドで TurboGears をインストールできます:
yum install /usr/src/redhat/RPMS/*/*.rpm
IPA をビルド
- IPA は小さな修正が必要なため、独自にビルドします。まず、以下のコマンドを実行します:
rpm -Uvh ipa-*.src.rpm rm ipa-*.src.rpm cd /usr/src/redhat/SPECS/ mv ipa.spec ipa.spec.save sed -e "s/redhat-ds/centos-ds/g" ipa.spec.save > ipa.spec rpmbuild -bb ipa.spec - ビルド中にエラーが発生した場合は、yum で不足しているパッケージをインストールし、rpmbuild コマンドを再度実行してください。完了したら、これまでにビルドしたすべてのパッケージを以下のコマンドでインストールします:
yum install /usr/src/redhat/RPMS/*/*.rpm
残りの RPM をビルド
- この時点で、IPA が正しく動作するために必要な残りの RPM をビルドする準備が整いました。以下のコマンドでビルドします:
cd ~/srcbuild/ rpmbuild --rebuild *.rpm - 他の時と同様に、これが数回失敗することがあります。必要に応じて繰り返してください。
RPM を見つける
- 完成した RPM はすべて /usr/src/redhat/RPMS/ にあります。すべての RPM のリストを取得するには、以下のコマンドを実行します:
find /usr/src/redhat/|grep "rpm$" - RPM を見つけやすい場所に移動またはコピーします。これらのいくつかは IPA クライアントマシンに必要であり、複数の IPA サーバーをインストールする場合はすべてが必要ですので、すべてを保持してください。
- testing と EPEL から centos-ds および他の RPM をダウンロードしたことを忘れないでください。クライアントがすべてのパッケージを取得できるように、これらをダウンロードするか、testing と EPEL リポジトリを追加する必要があります。
- スペースウォークサーバーがある場合、RPM をそこに rhnpush し、将来のクライアントやサーバーに yum を使用できます!
Red Hat のドキュメントを使用してサーバーとクライアントを構成
- 構成プロセスの文書化には触れません。なぜなら、Red Hat によって非常によく行われているからです。彼らのドキュメントは http://www.redhat.com/docs/en-US/Red_Hat_Enterprise_IPA/ にあります。
- 特に重要なのは、インストールおよび展開ガイドとクライアント構成ガイドです。
新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。