CentOS更新

来自Wikioe
跳到导航 跳到搜索


关于

大多数现代发行版提供了一种使用 yum 等包管理系统和官方支持的仓库升级内核的方法。但是,这只会升级内核到仓库中可用的最新版本——而不是在 https://www.kernel.org/ 中可用的最新版本。

注意:
   1、Red Hat 只允许使用官方支持的仓库升级内核。
   2、CentOS 允许使用 ELRepo(这是一个第三方仓库,可以将内核升级到最新版本)。
  • 更新之前应当做好重要数据的备份。

CentOS 7 更新

  1. 检查你的 CentOS 版本。
    cat /etc/redhat-release
    CentOS Linux release 7.1.1503 (Core)
    
  2. 升级内核:【两种方式】
    1. 使用官方支持的仓库
    2. 使用第三方仓库 ELRepo
  3. 重启服务器:
    reboot
    
  4. 确认升级:
    cat /etc/redhat-release
    CentOS Linux release 7.4.1611 (Core)
    

使用官方支持的仓库

使用 yum 直接进行系统升级(一次性更新所有软件到最新版本):

# 清除 yum 缓存
yum clean all

# 使用 yum 进行升级
yum update
  • “yum repolist all”:查看当前软件源是否可用;

使用第三方仓库 ELRepo

ELRepo 有两种类型的 Linux 内核包:
   1、kernel-lt :根据 Linux Kernel Archives 的长期支持分支提供的源构建;
   2、kernel-ml :根据 Linux Kernel Archives 的主线稳定分支提供的源构建;

ELRepo 仓库使用,参见: http://elrepo.org/tiki/HomePage

步骤:

  1. 安装内核:
    # 导入 elrepo 软件源的 GPG 公钥
    rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
    
    # 导入 elrepo 软件源
    rpm -Uvh https://www.elrepo.org/elrepo-release-7.0-4.el7.elrepo.noarch.rpm
    
    # 下载并安装新的内核(最新的主线稳定内核)
    yum --enablerepo=elrepo-kernel install kernel-ml -y
    
    • 仓库启用后,可以使用下面的命令列出可用的内核相关包:
      yum --disablerepo="*" --enablerepo="elrepo-kernel" list available
      
  2. 设置 GRUB 默认的内核版本:
    grub2-set-default 0
    
    • 如果手动修改过 Grub 的配置文件(“/etc/default/grub”),该命令可能无法执行成功。
    • 手动设置 GRUB 默认的内核版本:
      1. 修改 Grub 配置文件:
        vi /etc/default/grub
        
        ...
        GRUB_DEFAULT=0
        ...
        
        • 将“GRUB_DEFAULT=saved”修改为“GRUB_DEFAULT=0”;
      2. 重新创建内核配置:
        grub2-mkconfig -o /boot/grub2/grub.cfg
        
    • (如果 CentOS 6 更新,则只需“vim /etc/grub.conf”修改为“default=0”,不需要重新创建内核配置???)
  3. 删除旧内核:
    yum -y remove kernel kernel-tools
    
    • 删除旧内核的目的是为了防止 yum 更新旧版内核之后覆盖了 grub 默认启动项。

参考

  1. Centos内核版本升级
  2. 如何在 CentOS 7 中安装或升级最新的内核