Berikut adalah contoh spesifik menggunakan "httpd" sebagai paket untuk mengunduh dan menginstal. Proses ini diuji pada CentOS6 dan CentOS7.
Instal barang-barang yang Anda butuhkan dan buat tempat untuk meletakkan RPM yang diunduh:
# yum install yum-plugin-downloadonly yum-utils createrepo
# mkdir /var/tmp/httpd
# mkdir /var/tmp/httpd-installroot
Unduh RPM. Ini menggunakan trik installroot yang disarankan di sini untuk memaksa unduhan penuh semua dependensi karena tidak ada yang diinstal di root kosong itu. Yum akan membuat beberapa metadata di sana, tetapi kita akan membuang semuanya. Perhatikan bahwa untuk CentOS7 releasever
akan menjadi "7".
# yum install --downloadonly --installroot=/var/tmp/httpd-installroot --releasever=6 --downloaddir=/var/tmp/httpd httpd
Ya, itu versi kecilnya. Anda seharusnya melihat ukuran unduhan repo penuh!
Hasilkan metadata yang diperlukan untuk mengubah tumpukan RPM baru kami menjadi repo YUM dan membersihkan hal-hal yang tidak lagi kami butuhkan:
# createrepo --database /var/tmp/httpd
# rm -rf /var/tmp/httpd-installroot
Konfigurasikan direktori unduhan sebagai repo. Perhatikan bahwa untuk CentOS7, gpgkey akan dinamai "7" bukan "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
Untuk memeriksa dependensi yang hilang:
# repoclosure --repoid=offline-httpd
Saya belum tahu mengapa pada CentOS7 ini melaporkan hal-hal seperti libssl.so.10(libssl.so.10)(64bit)
hilang dari httpd-tools
kapan openssl-libs-1.0.1e-51.el7_2.2.x86_64.rpm
(penyedia perpustakaan itu) jelas ada di direktori. Namun, jika Anda melihat sesuatu yang jelas hilang, ini mungkin kesempatan baik untuk kembali dan menambahkannya menggunakan yum install --downloadonly
metode yang sama di atas.
Saat offline atau setelah menyalin /var/tmp/httpd
direktori repo ke server lain atur repo di sana:
# 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
Semoga tidak ada dependensi yang hilang!