Ось конкретний приклад використання "httpd" як пакета для завантаження та встановлення. Цей процес був протестований як на CentOS6, так і на CentOS7.
Встановіть потрібні речі та створіть місце для розміщення завантажених RPM:
# yum install yum-plugin-downloadonly yum-utils createrepo
# mkdir /var/tmp/httpd
# mkdir /var/tmp/httpd-installroot
Завантажте RPM. Для цього використовується запропонований тут трюк встановлення, щоб примусити повне завантаження всіх залежностей, оскільки в цьому порожньому корені нічого не встановлено. 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
Сподіваємось, відсутніх залежностей!