如何制作本地yum源
为什么要制作本地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