為什么要制作本地yum源?
在生產機器上,客戶提供機器預先裝好的linux操作系統,但是內網環境和外網環境是物理隔離的。
如果在搭建的生產環境上,需要安裝相關軟件時,從外網下載,再拷貝到生產機器上是非常不方便的;而且安裝軟件存在相互依賴,不一定能安裝成功。
yum安裝會自動加載相關的依賴包,既然不能連接外網,就需要制作本地yum源。
如何制作本地yum源?
(1)准備包,這里使用的是鏡像包CentOS-7-x86_64-DVD-2003.iso
(2)將鏡像包加載到虛擬機下的centos操作系統
第一步、啟動虛擬機
第二步、在存儲中加入iso文件

第三步、將iso文件加載到centos系統目錄下
1)創建目錄
mkdir mnt/cdrom
2)將光盤dev/cdrom掛在到mnt/cdrom下
mount dev/cdrom mnt/cdrom
3)驗證掛載是否成功
cd mnt/cdrom
ls -s

此時,ios已經掛載到 mnt/cdrom下,CentOS-7-x86_64-DVD-2003.iso所有的文件夾都可見,Packages里面包含CentOS7所有的安裝包,安裝軟件可以從這個目錄中獲取。
(3)修改yum源配置文件
第一步、備份原有的YUM源配置文件,將/etc/yum.repos.d/目錄下的所有文件全部bak一下
rename .repo .repo.bak *
第二步、新增CentOS-Local.repo,將源指向自己
[base]
name=CentOS-Local ##倉庫描述
baseurl=file:///mnt/cdrom##鏡像掛載位置
gpgcheck=1 ##是否啟用1為檢查0為不檢查
enabled=1 ##是否啟用
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7##簽名密鑰
其中gpgkey需要到/etc/pki/rpm-gpg/目錄下查看,以實際的為准
(4)清空yum緩存,並測試配置是否正確
清除緩存:
yum clean all
測試配置是否正確:
yum list
參考網址(非常感謝大佬分享):
https://www.cnblogs.com/cac2020/p/9785999.html
https://www.cnblogs.com/daleyzou/p/Linux.html
https://blog.csdn.net/iteye_5722/article/details/82675440?utm_medium=distribute.pc_relevant.none-task-blog-searchFromBaidu-8.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-searchFromBaidu-8.control
擴展:
如果需要安裝的軟件,在CentOS-7-x86_64-DVD-2003.iso沒有,怎么制作yum源?
在可以連外網的客戶機上先下載軟件和相關依賴,到客戶機目錄,然后拷貝目錄下的文件或者發送目錄到不能連接外網的客戶機,用上面同樣的方式,制作本地yum源即可。
eg.安裝nginx
[root@compute1 tmp]# mkdir -pv /tmp/soft cd /tmp/soft [root@compute1 soft]# ll /tmp/soft total 0 [root@compute1 soft]# yum install nginx --downloadonly --downloaddir=/tmp/soft [root@compute1 soft]# ll /tmp/soft total 0 -rw-r--r-- 1 root root 0 Jul 13 14:13 fontconfig-2.10.95-10.el7.x86_64.rpm -rw-r--r-- 1 root root 0 Jul 13 14:13 fontpackages-filesystem-1.44-8.el7.noarch.rpm -rw-r--r-- 1 root root 0 Jul 13 14:13 gd-2.0.35-26.el7.x86_64.rpm -rw-r--r-- 1 root root 0 Jul 13 14:13 GeoIP-1.5.0-11.el7.x86_64.rpm -rw-r--r-- 1 root root 0 Jul 13 14:13 libXpm-3.5.11-3.el7.x86_64.rpm -rw-r--r-- 1 root root 0 Jul 13 14:13 nginx-1.10.2-1.el7.x86_64.rpm -rw-r--r-- 1 root root 0 Jul 13 14:13 nginx-all-modules-1.10.2-1.el7.noarch.rpm -rw-r--r-- 1 root root 0 Jul 13 14:13 nginx-filesystem-1.10.2-1.el7.noarch.rpm -rw-r--r-- 1 root root 0 Jul 13 14:13 nginx-mod-http-geoip-1.10.2-1.el7.x86_64.rpm -rw-r--r-- 1 root root 0 Jul 13 14:13 nginx-mod-http-image-filter-1.10.2-1.el7.x86_64.rpm -rw-r--r-- 1 root root 0 Jul 13 14:13 nginx-mod-http-perl-1.10.2-1.el7.x86_64.rpm -rw-r--r-- 1 root root 0 Jul 13 14:13 nginx-mod-http-xslt-filter-1.10.2-1.el7.x86_64.rpm -rw-r--r-- 1 root root 0 Jul 13 14:13 nginx-mod-mail-1.10.2-1.el7.x86_64.rpm -rw-r--r-- 1 root root 0 Jul 13 14:13 nginx-mod-stream-1.10.2-1.el7.x86_64.rpm
yum install nginx --downloadonly --downloaddir=/tmp/soft # 表示只下載,不安裝
提示不能使用--downloadonly的請先安裝yum-utils軟件
[root@compute1 soft]# yum -y install yum-utils
參考網址(非常感謝大佬分享):https://www.cnblogs.com/marility/p/7278374.html
