update yum 到指定版本_如何升级 CentOS 到指定小版本

CentOS 的更新方式和其他 Linux 发行版本不同。首先,每个大版本会有一系列小版本。如 CentOS 6 是大版本,CentOS 6.1、CentOS 6.2 是小版本。当新的小版本发布后,CentOS 将不再继续更新前序小版本。

Azure 提供的 CentOS 镜像也是同样的更新规则。当 CentOS 最新小版本镜像发布后,原有前序小版本将不再更新。因此,我们建议用户使用最新的小版本镜像创建虚拟机,以保证系统拥有最新更新。

若客户虚拟机已经创建一段时间,或者使用了旧版本的镜像创建了虚拟机,可以使用 yum 将系统更新到最新版本。在默认情况下,在系统中以 root 身份运行 yum update,将更新 OS 到目前最新的内核。

但在有些情况下,用户希望将系统更新到一个特定版本,而不是最新的版本。该如何操作呢?

这时就需要更改系统中的 Yum 仓库配置。

首先介绍一下 Yum 仓库配置文件。Yum 的仓库配置文件放在文件夹 /etc/yum.repos.d 中,以 .repo 结尾。

一个文件中可以配置多个仓库,也可以将不同仓库放在不同文件中。Yum 会扫描所有以 .repo 结尾的文件确认所有可用的仓库。

仓库格式如下:

[repoid]: repo ID。包括在中括号中,用以标志仓库,不能与其他仓库冲突。如:[base]、[extras]等。

name: 仓库的描述信息,长短不限,可以有空格,但是必不可少。

baseurl:仓库位置。可以是网站(http://),ftp 服务器(ftp://),或者本地文件(file:///)。目录下一定要有一个 repodata 的文件夹存放包的元数据信息。

gpgcheck: 下载 rpm 包之前是否需要自动进行来源(签名)合法性检测,1 表示要检查。

gpgkey:如果启用 gpg 检测,则需要指定 gpgkey 的路径,即使导入过 gpgkey。

enabled: 是否启用这个仓库,0 表示不启用,1 表示启用,默认是启用的。

了解了仓库配置,我们就知道要安装不同版本的内核,其实就是使 yum 连接不同版本仓库。

接下来,我们演示如何更改 Azure CentOS 虚拟机中的仓库配置文件,使其指向用户希望升级的内核版本。

在默认的配置文件中,我们发现 baseurl 实际上指向的是大版本,也即如前所示,yum update 就是更新到最新的内核版本。

如果打开上述网页,我们会发现里面实际上存放了各个版本的仓库。

那么,接下来只需要将 OS 的 Yum 仓库配置文件指向特定版本就可以了。

切换到 /etc/yum.repos.d 下,先将原配置文件备份。

然后编辑文件,将其中的 $releasever 替换为上图中某个小版本。这里使用 7.3.1611 作为演示。

更改后两个文件的内容分别如下:

保存文件,回到命令行。

执行 yum clean all 清除 Yum 在本机的缓存。

若不执行该步骤,即使仓库更新过,但 Yum 可能使用缓存信息,而不会重新同步,导致更新的内核版本有误。

执行 yum repolist 查看,会发现仓库信息已经更新过。

再次执行 yum update,安装的内核已经变成了特定老版本。

重启系统后,系统默认会切换成更新后的内核版本。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值