yum本地软件源下载与配置

一,获取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

之后就可以愉快地玩耍了。

相关文章

用的openwrt路由器,家里宽带申请了动态公网ip,为了方便把2...
#!/bin/bashcommand1&command2&wait从Shell脚本并行...
1.先查出MAMP下面集成的PHP版本cd/Applications/MAMP/bin/ph...
1、先输入locale-a,查看一下现在已安装的语言2、若不存在如...
BashPerlTclsyntaxdiff1.进制数表示Languagebinaryoctalhexa...
正常安装了k8s后,使用kubect工具后接的命令不能直接tab补全...