使用yum安装旧版本软件的方法
本文完整阅读约需 12 分钟,如时间较长请考虑收藏后慢慢阅读~
由于最近要做关于Kubernetes的一系列漏洞分析,需要安装大量旧版本的Kubernetes,通常安装旧版本软件的方法是直接找到旧版本源码,然后从源码进行构建,但该方案过于复杂,恰好测试环境是CentOS操作系统,那么能不能直接通过CentOS的包管理器yum来安装旧版本软件呢?方法其实很简单。
该方法为通用方法,但为方便,所安装的软件为kubeadm 1.9.5
。
0x01 检查软件是否存在
首先执行yum search kubeadm
:
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
* base: mirror.newmediaexpress.com
* epel: d2lzkl7pfhq30w.cloudfront.net
* extras: mirror.newmediaexpress.com
* updates: mirror.newmediaexpress.com
kubeadm.x86_64 : Command-line utility for administering a Kubernetes cluster.
名称和简介匹配 only,使用“search all”试试。
说明该软件存在于当前所配置的yum源,但如果执行yum info kubeadm
会发现其版本为最新版本,不是我们需要的老版本。这就需要进行接下来的工作。
0x02 检查软件源中所含软件的版本
接下来我们要查找软件源中该软件的版本列表。
执行yum list kubeadm --showduplicates
,可以获得一个非常庞大的表:
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
* base: mirror.newmediaexpress.com
* epel: d2lzkl7pfhq30w.cloudfront.net
* extras: mirror.newmediaexpress.com
* updates: mirror.newmediaexpress.com
可安装的软件包
kubeadm.x86_64 1.6.0-0 kubernetes
kubeadm.x86_64 1.6.1-0 kubernetes
kubeadm.x86_64 1.6.2-0 kubernetes
kubeadm.x86_64 1.6.3-0 kubernetes
kubeadm.x86_64 1.6.4-0 kubernetes
kubeadm.x86_64 1.6.5-0 kubernetes
kubeadm.x86_64 1.6.6-0 kubernetes
kubeadm.x86_64 1.6.7-0 kubernetes
kubeadm.x86_64 1.6.8-0 kubernetes
kubeadm.x86_64 1.6.9-0 kubernetes
kubeadm.x86_64 1.6.10-0 kubernetes
......
kubeadm.x86_64 1.13.7-0 kubernetes
kubeadm.x86_64 1.13.8-0 kubernetes
kubeadm.x86_64 1.14.0-0 kubernetes
kubeadm.x86_64 1.14.1-0 kubernetes
kubeadm.x86_64 1.14.2-0 kubernetes
kubeadm.x86_64 1.14.3-0 kubernetes
kubeadm.x86_64 1.14.4-0 kubernetes
kubeadm.x86_64 1.15.0-0 kubernetes
以上就是该软件包在软件源中的所有版本。我们这里需要安装1.9.5版本,只需要简单的执行一次yum list kubeadm --showduplicates | grep 1.9.5
,发现软件源中存在该版本软件,即可开始安装过程。
0x03 进行对应版本软件的安装
yum软件包命名的结构通常为yum install <package name>-<version info>
,以kubeadm为例,其结构应该是kubeadm-1.9.5-0.x86_64
。
知道具体的软件包命名结构之后,我们就可以开始根据命名进行软件包的安装了,其命令即为yum install kubeadm-1.9.5-0.x86_64
。
1 条评论