一,获取yum软件源
生产环境中一般是不让上网的,而且有时候机房不在本地,插光盘要联系别人帮忙,很不方便,这种情况下把下载好的软件源传到服务器上是最方便的做法。
1,软件源下载
先在一台可以联网并且版本和目标主机相似的服务器上下载软件源:
先安装下载软件源所需工具:
yum install yum-utils -y
之后用命令查看软件源列表:
yum repolist
repo id repo name status
base/7/x86_64 CentOS-7 - Base - mirrors.aliyun.com 9,911
extras/7/x86_64 CentOS-7 - Extras - mirrors.aliyun.com 313
updates/7/x86_64 CentOS-7 - Updates - mirrors.aliyun.com 695
一般来说只用下载base库就够了,运行命令:
reposync -r base
base库的所有软件包就会下载到当前目录,目录结构一般像这样
–base
|—03d0a660e33174331aee3e077e11d4c0412d761b7f2eaa8555e7898e701e0-primary.sqlite.bz2
|—29b154c359eaf129e35d0d5c649ebd6ce333f302f33ed7b08c3b927e20-c7-x86_64-comps.xml.gz
|—cachecooki
|—gen
|—Packages
|—repomd.xml
我们需要用到的软件包就在Packages目录下面,只需把Packages目录打包发到目标主机上就可以了
2,软件源配置
上一步已经把软件包传到目标主机上,这一步需要先给这些软件包建立“索引”,这需要一个工具createrepo,如果目标主机没有安装这个工具,解决方法很简单,因为我们上一步下载的软件包里,就有createrepo的安装包,cd到Packages目录下面,运行:yum localinstall createrepo-0.9.9-28.el7.noarch.rpm --nogpgcheck
,这里createrepo的安装包名根据自己的版本修改。
装好createrepo后,在Packages目录下面运行命令 createrepo -v
,这里一定要注意,createrepo是在安装包所在目录下运行的!
运行createrepo时可能会遇到报错无法读取包信息,这一般是上一步时软件包下载不全,可以直接移除这个软件包,一般没什么影响。
二,配置yum.repos.d
先有rename命令把当前的.repo文件都备份掉:
rename .repo .repo.bak CentOS*
CentOS*
根据系统情况替换
然后新建文件 local.repo
,写入下面内容
[local]
name=CentOS-$releasever - Local
baseurl=file:///your-path-to-packages
gpgcheck=0
enabled=1
your-path-to-packages就是之前Packages所在目录,保存文件后运行命令:
yum clean all
yum update
之后就可以愉快地玩耍了。
原文链接:https://www.f2er.com/bash/387690.html