Инструкция · 3 min read · Nov 12, 2025
Как собрать RPM-пакеты Red Hat Enterprise IPA для CentOS 5
Как собрать RPM-пакеты Red Hat Enterprise IPA для CentOS 5
FreeIPA существует уже некоторое время как RHE IPA для Red Hat Linux и был добавлен в Fedora. Тем не менее, поскольку это дополнительный компонент для RHEL, CentOS еще не собрал его. Это печально, потому что FreeIPA — это простое в настройке и управлении решение для управления информацией о безопасности. Если вы, как и я, хотите использовать IPA с CentOS, этот учебник для вас.
Предположения
- У вас установлена CentOS 5.2 с как минимум минимальным набором пакетов (все пункты были сняты во время установки) и вы полностью обновили ее с помощью репозиториев CentOS. - Я собрал эти RPM на 32-битной системе i386, но я предполагаю, что сборка на x86_64 или других будет очень похожей.
- У вас есть базовые знания команд Linux (перемещение файлов и т. д.)
- Вы выполняете следующие команды от имени root.
- Red Hat, CentOS и EPEL не переместили все эти пакеты в какое-то захватывающее новое и неясное место. Если это так, вам, возможно, придется немного погуглить, чтобы найти их все.
Загрузите и установите rpm centos-ds
- 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 (например: если есть 3 версии ipa, оставьте только самую новую)
- Также удалите redhat-ds*, так как мы уже установили centos-ds
- Удалите python-psycopg2, так как мы установили его из EPEL
Используйте 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
- На этом этапе мы наконец готовы собрать остальные RPM, необходимые для правильной работы IPA. Соберите их с помощью следующих команд:
cd ~/srcbuild/ rpmbuild --rebuild *.rpm - Это может несколько раз завершиться неудачей, как и в предыдущие разы. Повторяйте по мере необходимости.
Найдите rpm
- Готовые RPM находятся в /usr/src/redhat/RPMS/. Для получения списка всех из них вы можете выполнить следующую команду:
find /usr/src/redhat/|grep "rpm$" - Переместите или скопируйте RPM в место, где вы сможете их найти. Вам понадобятся некоторые из них для клиентских машин IPA и все, если вы хотите установить несколько серверов IPA, поэтому храните их все.
- Помните, что вы загрузили centos-ds и другие RPM из testing и EPEL. Вам нужно будет загрузить их или добавить репозитории testing и EPEL для клиентов, чтобы они могли получить все пакеты.
- Если у вас есть сервер spacewalk, вы можете теперь rhnpush RPM на него и использовать yum для любых будущих клиентов и серверов!
Настройте сервер и клиентов, используя документацию Red Hat
- Я не буду углубляться в документирование процесса конфигурации, так как это уже очень хорошо сделано Red Hat. Их документация находится по адресу http://www.redhat.com/docs/en-US/Red_Hat_Enterprise_IPA/
- Особенно важны Руководство по установке и развертыванию и Руководство по конфигурации клиента
Get new posts in your inbox
No spam. Unsubscribe anytime.