นี่คือตัวอย่างที่ระบุโดยใช้ "httpd" เป็นแพ็คเกจสำหรับดาวน์โหลดและติดตั้ง กระบวนการนี้ได้รับการทดสอบทั้งบน CentOS6 และ CentOS7
ติดตั้งสิ่งที่คุณต้องการและสร้างที่สำหรับ RPM ที่ดาวน์โหลดมา:
# yum install yum-plugin-downloadonly yum-utils createrepo
# mkdir /var/tmp/httpd
# mkdir /var/tmp/httpd-installroot
ดาวน์โหลด RPMs วิธีนี้ใช้เคล็ดลับ installroot ที่นี่เพื่อบังคับให้ดาวน์โหลดแบบเต็มของการอ้างอิงทั้งหมดเนื่องจากไม่มีการติดตั้งในรูทว่างเปล่านั้น ยำจะสร้างข้อมูลเมตาบางส่วนในนั้น แต่เราจะทิ้งมันทั้งหมด โปรดทราบว่าสำหรับ CentOS7 releasever
จะเป็น "7"
# yum install --downloadonly --installroot=/var/tmp/httpd-installroot --releasever=6 --downloaddir=/var/tmp/httpd httpd
ใช่นั่นเป็นรุ่นเล็ก คุณควรจะเห็นขนาดของการดาวน์โหลด repo เต็ม!
สร้างข้อมูลเมตาที่จำเป็นในการเปลี่ยนกอง RPMs ใหม่ของเราเป็น repo YUM และทำความสะอาดสิ่งที่เราไม่ต้องการอีกต่อไป:
# createrepo --database /var/tmp/httpd
# rm -rf /var/tmp/httpd-installroot
กำหนดค่าไดเรกทอรีดาวน์โหลดเป็น repo โปรดทราบว่าสำหรับ 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
ไดเรกทอรี repo ไปยังเซิร์ฟเวอร์อื่น ๆ ตั้งค่า 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
หวังว่าจะไม่มีการอ้างอิงที่ขาดหายไป!