yum源使用的几点思考

这两天在公司搭建环境时,在yum安装的过程中出现了一些问题,顺带对yum的使用做了一些自己的思考,做个小结。

以安装docker-ce为例进行说明。

先看一下镜像的查找,常用的命令就是 yum list。比如查找可用的docker-ce镜像。

1.下载时软件包的命名规则问题。

yum list docker-ce --showduplicates

这里要注意的是中间的一列,中间的一列显示的为版本号,在下载时候要注意。在查找出软件的版本号之后,安装的时候应该是

软件名跟上版本号。如果只填写版本号,会提示没有该软件软件包。

还有一个地方需要注意,是有的版本号比较特殊,为x:y的形式,这时版本号就不能取整个版本号字符串,而是取冒号后面的一段作为版本号。

 

2.查找的参数的含义,主要是yum list中含有--showduplicates、available与不带参数的区别。

available 这里的available出现在两个不通的地方,一个是命令中的available参数,一个是输出的列表中的available参数。输出列表中的available参数表示本地含有可用版本的软件包,但是还没有安装的状态,则该版本软件包就是available状态。

命令中的available参数是显示已安装的软件包和本地有安装包但未安装的软件版本。

showduplicates 则是yum源的索引中有对应该版本的软件包索引记录,即可用的软件包。但是本地不一定还有软件包。

yum list docker-ce

list默认available参数。列出的是本地已经安装的软件版本包和本地含有软件包,但是没有安装的软件版本。

yum list docker-ce --showduplicates

带有showduplicates参数则列出的是所有yum源索引中含有的软件版本,但本地不一定有安装包的软件版本包。

3.安装了某个版本的软件包后,发现版本不对,如何再安装另外版本的软件包?

安装了软件包的A版本后,要切换到软件包的B版本,需要

1)卸载A版本软件包;

2)清理残留的A版本依赖包;

3)安装B版本的软件包。

比如安装了docker-ce-18.09.0-3.el7(A)高版本的docker-ce,现在要切换到低版本的docker-ce-18.06.0.ce-3.el7(B),该如何操作?

如果不卸载A这个高本版,直接安装B低版本,一般提示相关的软件包冲突,所以需要先卸载A版本。

先卸载

yum remove docker-ce-18.09.0-3.el7

卸载后,不清理A残留依赖包,这个时候如果直接安装低版本B的会提示冲突。

yum install docker-ce-18.06.0.ce-3.el7

需要先找出A版本的相关包,然后逐个清理掉。

yum list installed | grep docker-ce

yum remove containerd.io.x86_64

yum remove docker-ce-cli.x86_64

清理后,再次检查,发现已经没有A相关的包。

这个时候再安装B版本,可以正常安装。

yum install docker-ce-18.06.0.ce-3.el7

4.如何在联网的环境下,模拟离线安装的过程?

比如初始状态配置了一个docker-ce的在线的yum源,PC上没有安装docker-ce。

在线的yum源。

PC上没有安装docker-ce。

这个时候可以只现在docker-ce需要的所有的依赖包到本地一个指定的目录下,比如/rpms/docker-ce/下。

yum install  --downloadonly --downloaddir=/rpms/docker-ce/ docker-ce-18.06.0.ce-3.el7

可以看到所需要的包已经下载到对应的目录下。

这时需要做两件事情

1)在对应的下载目录下生成本地yum仓库的repodata/repomd.xml的索引文件。前提是安装了createrepo工具包,否则需要先行安装createrepo。

createrepo /rpms/docker-ce/  #创建索引文件

2)将在线的yum源删除,然后添加指向下载目录的本地yum源文件local.repo。

使用本地的local源安装,安装成功。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值