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 のダウンロードとインストール

  1. CentOS と EPEL は、すでに必要なパッケージのいくつかをコンパイルしています。他の誰かがすでに作業を行っているのに、なぜパッケージを再ビルドする必要があるのでしょうか?この方法で、リポジトリに更新が追加された場合も、彼らは更新されます!
  2. /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
  3. 以下のコマンドを実行して、既存の 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 からソースパッケージをダウンロード

  1. 以下のコマンドを実行して、必要な 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 .
  2. 不要な RPM を削除します - 古いバージョンの RPM を削除します(例:ipa のバージョンが 3 つある場合は、最新のものだけを保持します)。
  • すでに centos-ds をインストールしたため、redhat-ds* を削除します。
  • EPEL からインストールしたため、python-psycopg2 を削除します。

yum を使用して必要な開発パッケージを取得

  1. 以下のコマンドを実行して、必要なパッケージをダウンロードします:
    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 パッケージを最初にビルド

  1. 以下のコマンドを実行します:
    rpmbuild --rebuild TurboGears*.rpm krb5-server-ldap*.rpm python-kerberos python-tgexpandingformwidget*.rpm mod_nss*.rpm
  • 実行中にコンソールにかなりの出力が表示されますが、それに怯えないでください。エラーが発生した場合、rpmbuild は実行を停止し、何かが不足していることを教えてくれます。
  1. rpmbuild がパッケージをビルドできなかった場合は、パッケージを “yum search” で検索し、インストールしてから上記のコマンドを再度実行してください。
  2. rpmbuild がエラーなしで終了すると、画面に “exit 0” と表示され、その後情報の出力が停止します。
  3. rpmbuild が完了したら、以下のコマンドで TurboGears をインストールできます:
    yum install /usr/src/redhat/RPMS/*/*.rpm

IPA をビルド

  1. 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
  2. ビルド中にエラーが発生した場合は、yum で不足しているパッケージをインストールし、rpmbuild コマンドを再度実行してください。完了したら、これまでにビルドしたすべてのパッケージを以下のコマンドでインストールします:
    yum install /usr/src/redhat/RPMS/*/*.rpm

残りの RPM をビルド

  1. この時点で、IPA が正しく動作するために必要な残りの RPM をビルドする準備が整いました。以下のコマンドでビルドします:
    cd ~/srcbuild/  
    rpmbuild --rebuild *.rpm
  2. 他の時と同様に、これが数回失敗することがあります。必要に応じて繰り返してください。

RPM を見つける

  1. 完成した RPM はすべて /usr/src/redhat/RPMS/ にあります。すべての RPM のリストを取得するには、以下のコマンドを実行します:
    find /usr/src/redhat/|grep "rpm$"
  2. RPM を見つけやすい場所に移動またはコピーします。これらのいくつかは IPA クライアントマシンに必要であり、複数の IPA サーバーをインストールする場合はすべてが必要ですので、すべてを保持してください。
  3. testing と EPEL から centos-ds および他の RPM をダウンロードしたことを忘れないでください。クライアントがすべてのパッケージを取得できるように、これらをダウンロードするか、testing と EPEL リポジトリを追加する必要があります。
  4. スペースウォークサーバーがある場合、RPM をそこに rhnpush し、将来のクライアントやサーバーに yum を使用できます!

Red Hat のドキュメントを使用してサーバーとクライアントを構成

  1. 構成プロセスの文書化には触れません。なぜなら、Red Hat によって非常によく行われているからです。彼らのドキュメントは http://www.redhat.com/docs/en-US/Red_Hat_Enterprise_IPA/ にあります。
  2. 特に重要なのは、インストールおよび展開ガイドとクライアント構成ガイドです。
Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。