如何为CentOS 5构建红帽企业IPA RPM

如何为CentOS 5构建红帽企业IPA RPM

FreeIPA已经存在一段时间,如Red Hat Linux的RHE IPA,并已添加到Fedora中。 尽管如此,由于它是RHEL的额外附件,CentOS尚未得到重建。 这是一个耻辱,因为FreeIPA是一个易于配置,易于管理的安全信息管理解决方案。 如果像我一样,想要使用IPA与CentOS,本教程是为您而设。

假设

  • 您已经安装了Centos 5.2,至少包含最少的软件包(在安装期间未选中所有内容),并且已将其完全更新为CentOS的存储库。
    • 我在32位i386系统上构建了这些RPM,但是我想像在x86_64或其他系统上构建它们会非常相似
  • 您具有Linux命令的基本工作知识(移动文件等)
  • 您以root身份运行以下操作
  • 红帽,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
    • 删除旧版本的rpms(例如:如果有3个版本的ipa,只保留最新)
    • 还要删除redhat-ds *,因为我们已经安装了centos-ds
    • 删除python-psycopg2,因为我们从EPEL安装了它

使用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将会停止运行,并告诉你一些缺失的东西。
  2. 如果rpmbuild无法构建软件包,因为您缺少软件包,请对软件包执行“yum搜索”,安装软件包,然后再次尝试上述命令。
  3. 当rpmbuild完成没有错误时,它将打印“退出0”到屏幕,然后停止输出信息
  4. 完成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

构建其余的rpms

  1. 在这一点上,我们终于准备好构建IPA所需的其他RPM,以正常工作。 使用以下命令构建它们:
    cd ~/srcbuild/
    rpmbuild --rebuild *.rpm
  2. 这可能会像其他时候一样失败几次。 根据需要重复。

找到rpms

  1. 完成的RPM都位于/ usr / src / redhat / RPMS /中 。 有关所有这些的列表,您可以运行以下命令:
    find /usr/src/redhat/|grep "rpm$"
  2. 移动或复制您可以找到的RPM。 如果要安装多个IPA服务器,请保留所有这些机器,您将需要其中一些用于IPA客户端计算机和所有这些机器。
  3. 请记住,您从测试和EPEL下载了centos-ds和其他RPM。 您将需要下载或添加到客户端的测试和EPEL repos,以便他们可以获得所有的软件包。
  4. 如果您有太空行走服务器,您现在可以将RPM转入其中,并为任何未来的客户端和服务器使用yum!

使用Red Hat的文档配置服务器和客户机

  1. 我将不会记录配置过程,因为已经很好地完成了Red Hat。 他们的文件位于http://www.redhat.com/docs/en-US/Red_Hat_Enterprise_IPA/
  2. “安装和部署指南”和“ 客户端配置指南”尤其重要
赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏