Đây là một ví dụ cụ thể sử dụng "httpd" làm gói để tải xuống và cài đặt. Quá trình này đã được thử nghiệm trên cả CentOS6 và CentOS7.
Cài đặt những thứ bạn cần và tạo một nơi để đặt RPM đã tải xuống:
# yum install yum-plugin-downloadonly yum-utils createrepo
# mkdir /var/tmp/httpd
# mkdir /var/tmp/httpd-installroot
Tải xuống RPM. Điều này sử dụng thủ thuật installroot được đề xuất ở đây để buộc tải xuống đầy đủ tất cả các phụ thuộc vì không có gì được cài đặt trong root trống đó. Yum sẽ tạo ra một số siêu dữ liệu trong đó, nhưng chúng ta sẽ vứt bỏ tất cả. Lưu ý rằng đối với CentOS7 releasever
sẽ là "7".
# yum install --downloadonly --installroot=/var/tmp/httpd-installroot --releasever=6 --downloaddir=/var/tmp/httpd httpd
Vâng, đó là phiên bản nhỏ. Bạn nên xem kích thước của tải xuống repo đầy đủ!
Tạo siêu dữ liệu cần thiết để biến đống RPM mới của chúng tôi thành repo YUM và dọn sạch những thứ chúng tôi không còn cần:
# createrepo --database /var/tmp/httpd
# rm -rf /var/tmp/httpd-installroot
Cấu hình thư mục tải xuống dưới dạng repo. Lưu ý rằng đối với CentOS7, gpgkey sẽ được đặt tên là "7" thay vì "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
Để kiểm tra các phụ thuộc còn thiếu:
# repoclosure --repoid=offline-httpd
Tôi đã không hiểu tại sao trên CentOS7, điều này báo cáo những thứ như libssl.so.10(libssl.so.10)(64bit)
mất tích từ httpd-tools
khi nào openssl-libs-1.0.1e-51.el7_2.2.x86_64.rpm
(nhà cung cấp của thư viện đó) có mặt rõ ràng trong thư mục. Tuy nhiên, nếu bạn thấy một cái gì đó rõ ràng là thiếu, đây có thể là một cơ hội tốt để quay lại và thêm nó bằng cách sử dụng cùng một yum install --downloadonly
phương pháp ở trên.
Khi ngoại tuyến hoặc sau khi sao chép /var/tmp/httpd
thư mục repo sang máy chủ khác, hãy thiết lập repo ở đó:
# 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
Hy vọng không thiếu phụ thuộc!