Вот конкретный пример использования httpd в качестве пакета для загрузки и установки. Этот процесс был протестирован как на CentOS6, так и на CentOS7.
Установите необходимый материал и создайте место для загрузки загруженных RPM:
# yum install yum-plugin-downloadonly yum-utils createrepo
# mkdir /var/tmp/httpd
# mkdir /var/tmp/httpd-installroot
Загрузите RPM. При этом используется предложенный здесь трюк installroot для принудительной полной загрузки всех зависимостей, поскольку в этом пустом корне ничего не установлено. Yum создаст там некоторые метаданные, но мы все выбросим. Обратите внимание, что для CentOS7 releasever
будет "7".
# yum install --downloadonly --installroot=/var/tmp/httpd-installroot --releasever=6 --downloaddir=/var/tmp/httpd httpd
Да, это была маленькая версия. Вы бы видели размер загрузок с полным репо!
Сгенерируйте метаданные, необходимые для превращения нашей новой стопки RPM в репозиторий YUM, и очистите то, что нам больше не нужно:
# createrepo --database /var/tmp/httpd
# rm -rf /var/tmp/httpd-installroot
Настройте каталог загрузки как репо. Обратите внимание, что для CentOS7 gpgkey будет называться «7» вместо «6»:
# vi /etc/yum.repos.d/offline-httpd.repo
[offline-httpd]
name=CentOS-$releasever - httpd
baseurl=file:///var/tmp/httpd
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
Чтобы проверить отсутствующие зависимости:
# repoclosure --repoid=offline-httpd
Я не выяснил, почему в CentOS7 сообщается о таких вещах, как libssl.so.10(libssl.so.10)(64bit)
отсутствие, httpd-tools
когда openssl-libs-1.0.1e-51.el7_2.2.x86_64.rpm
(поставщик этой библиотеки) явно присутствует в каталоге. Тем не менее, если вы видите, что чего-то явно не хватает, это может быть хорошим шансом вернуться и добавить это, используя тот же yum install --downloadonly
метод, описанный выше.
В автономном режиме или после копирования /var/tmp/httpd
каталога репо на другой сервер настройте репо:
# vi /etc/yum.repos.d/offline-httpd.repo
[offline-httpd]
name=CentOS-$releasever - httpd
baseurl=file:///var/tmp/httpd
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
# yum --disablerepo=\* --enablerepo=offline-httpd install httpd
Надеюсь, нет отсутствующих зависимостей!