1、查看当前内核版本

  1. $ uname -r
  2. 3.10.-.el7.x86_64
  3.  
  4. $ uname -a
  5. Linux k8s-master 3.10.-.el7.x86_64 # SMP Tue Nov :: UTC x86_64 x86_64 x86_64 GNU/Linux
  6.  
  7. $ cat /etc/redhat-release
  8. CentOS Linux release 7.3. (Core)

2、升级内核

更新yum源仓库

  1. $ yum -y update

启用 ELRepo 仓库

ELRepo 仓库是基于社区的用于企业级 Linux 仓库,提供对 RedHat Enterprise (RHEL) 和 其他基于 RHEL的 Linux 发行版(CentOS、Scientific、Fedora 等)的支持。
ELRepo 聚焦于和硬件相关的软件包,包括文件系统驱动、显卡驱动、网络驱动、声卡驱动和摄像头驱动等。

#导入ELRepo仓库的公共密钥

  1. rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org

#安装ELRepo仓库的yum源

  1. rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm

3、查看可用的系统内核包

可以看到4.4和4.18两个版本

  1. yum --disablerepo="*" --enablerepo="elrepo-kernel" list available
  2. Loaded plugins: fastestmirror
  3. Loading mirror speeds from cached hostfile
  4. * elrepo-kernel: mirrors.tuna.tsinghua.edu.cn
  5. elrepo-kernel | 2.9 kB ::
  6. elrepo-kernel/primary_db | 1.8 MB ::
  7. Available Packages
  8. kernel-lt.x86_64 4.4.-.el7.elrepo elrepo-kernel
  9. kernel-lt-devel.x86_64 4.4.-.el7.elrepo elrepo-kernel
  10. kernel-lt-doc.noarch 4.4.-.el7.elrepo elrepo-kernel
  11. kernel-lt-headers.x86_64 4.4.-.el7.elrepo elrepo-kernel
  12. kernel-lt-tools.x86_64 4.4.-.el7.elrepo elrepo-kernel
  13. kernel-lt-tools-libs.x86_64 4.4.-.el7.elrepo elrepo-kernel
  14. kernel-lt-tools-libs-devel.x86_64 4.4.-.el7.elrepo elrepo-kernel
  15. kernel-ml.x86_64 4.18.-.el7.elrepo elrepo-kernel
  16. kernel-ml-devel.x86_64 4.18.-.el7.elrepo elrepo-kernel
  17. kernel-ml-doc.noarch 4.18.-.el7.elrepo elrepo-kernel
  18. kernel-ml-headers.x86_64 4.18.-.el7.elrepo elrepo-kernel
  19. kernel-ml-tools.x86_64 4.18.-.el7.elrepo elrepo-kernel
  20. kernel-ml-tools-libs.x86_64 4.18.-.el7.elrepo elrepo-kernel
  21. kernel-ml-tools-libs-devel.x86_64 4.18.-.el7.elrepo elrepo-kernel
  22. perf.x86_64 4.18.-.el7.elrepo elrepo-kernel
  23. python-perf.x86_64 4.18.-.el7.elrepo elrepo-

4、安装最新版本内核

  1. $ yum --enablerepo=elrepo-kernel install kernel-ml

--enablerepo 选项开启 CentOS 系统上的指定仓库。默认开启的是 elrepo,这里用 elrepo-kernel 替换。

5、设置 grub2

内核安装好后,需要设置为默认启动选项并重启后才会生效

查看系统上的所有可用内核:

  1. $ sudo awk -F\' '$=="menuentry " {print i++ " : " $}' /etc/grub2.cfg
  2. : CentOS Linux (4.18.-.el7.elrepo.x86_64) (Core)
  3. : CentOS Linux (3.10.-862.11..el7.x86_64) (Core)
  4. : CentOS Linux (3.10.-.el7.x86_64) (Core)
  5. : CentOS Linux (-rescue-063ec330caa04d4baae54c6902c62e54) (Core)

设置新的内核为grub2的默认版本

服务器上存在4 个内核,我们要使用 4.18 这个版本,可以通过 grub2-set-default 0 命令或编辑 /etc/default/grub 文件来设置

方法1、通过 grub2-set-default 0 命令设置

其中 0 是上面查询出来的可用内核

  1. grub2-set-default

方法2、编辑 /etc/default/grub 文件

设置 GRUB_DEFAULT=0,通过上面查询显示的编号为 0 的内核作为默认内核:

  1. $ vim /etc/default/grub
  2. GRUB_TIMEOUT=
  3. GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
  4. GRUB_DEFAULT=
  5. GRUB_DISABLE_SUBMENU=true
  6. GRUB_TERMINAL_OUTPUT="console"
  7. GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=cl/root rhgb quiet"
  8. GRUB_DISABLE_RECOVERY="true"

生成 grub 配置文件并重启

  1. $ grub2-mkconfig -o /boot/grub2/grub.cfg
  2. Generating grub configuration file ...
  3. Found linux image: /boot/vmlinuz-4.18.-.el7.elrepo.x86_64
  4. Found initrd image: /boot/initramfs-4.18.-.el7.elrepo.x86_64.img
  5. Found linux image: /boot/vmlinuz-3.10.-862.11..el7.x86_64
  6. Found initrd image: /boot/initramfs-3.10.-862.11..el7.x86_64.img
  7. Found linux image: /boot/vmlinuz-3.10.-.el7.x86_64
  8. Found initrd image: /boot/initramfs-3.10.-.el7.x86_64.img
  9. Found linux image: /boot/vmlinuz--rescue-063ec330caa04d4baae54c6902c62e54
  10. Found initrd image: /boot/initramfs--rescue-063ec330caa04d4baae54c6902c62e54.img
  11. done
  12.  
  13. $ reboot

6、验证

  1. $ uname -r
  2. 4.18.-.el7.elrepo.x86_64

7、删除旧内核(可选)

查看系统中全部的内核:

  1. $ rpm -qa | grep kernel
  2. kernel-3.10.-.el7.x86_64
  3. kernel-ml-4.18.-.el7.elrepo.x86_64
  4. kernel-tools-libs-3.10.-862.11..el7.x86_64
  5. kernel-tools-3.10.-862.11..el7.x86_64
  6. kernel-3.10.-862.11..el7.x86_64

方法1、yum remove 删除旧内核的 RPM 包

  1. $ yum remove kernel-3.10.-.el7.x86_64 \
    kernel-tools-libs-3.10.-862.11..el7.x86_64 \
    kernel-tools-3.10.-862.11..el7.x86_64 \
    kernel-3.10.-862.11..el7.x86_64

方法2、yum-utils 工具

如果安装的内核不多于 3 个,yum-utils 工具不会删除任何一个。只有在安装的内核大于 3 个时,才会自动删除旧内核。

安装yum-utils

  1. $ yum install yum-utils

删除旧版本  

  1. package-cleanup --oldkernels

Centos7 升级内核版本的更多相关文章

  1. centos7升级内核版本

    本文转载http://blog.csdn.net/nciasd/article/details/51490146,大神非常厉害!!!!! 查看当前系统的内核版本 # uname -r 1.导入key ...

  2. yum-cron更新 CentOS yum update 不升级内核版本方法

    http://www.360doc.com/content/15/0608/17/15798950_476597844.shtml 相关yum-cron说明有一些 CentOS yum update ...

  3. docker学习笔记(6)——docker场景问题汇总(centos7 由于内核版本低带来的一系列问题,docker彻底卸载,安装、启动日志报错分析)

    参考资料: https://nachuan.blog.csdn.net/article/details/96041277 https://www.cnblogs.com/xzkzzz/p/962765 ...

  4. centos7 升级内核到最新版本

    centos7 从问世以来,官网提供的镜像始终是3.10 版本,该版本最大的一个问题是对硬件驱动(尤其是无线网卡)的支持不是很好,本人亲测>5种机型,无线网卡均无法正常使用,如果是非主流机型,手 ...

  5. centos7升级内核至最新

    应用背景: 最近在接触docker,其对内核版本要求较高,就连目前使用的centos7.x默认内核版本为3.10.0-xxx,也是刚好满足其最低要求,故借此机会记录一下升级内核的操作步骤. 测试环境: ...

  6. CENTOS 7 升级内核版本(附带升级脚本)

    写在前面的话 对于系统而言,除非是那种安全性要求非常高的公司或者经常会有第三方安全机构对其漏洞扫描的才容易涉及到系统的内核升级,比如之前呆过一个公司,因为需要做三级等保的原因,就会涉及到系统扫描,这时 ...

  7. CentOS7升级内核kernel5.0

    升级过程: 原系统:CentOS7.3 [root@my-e450 ~]# uname -r3.10.0-514.el7.x86_64 安装必需的软件包: # yum update# yum inst ...

  8. centos6.9 升级内核版本

    想在centos6.9上安装docket,不过因为内核版本是2.6的故而想升级到最新的内核版本 晚上有编译升级的比较麻烦,不过有助于理解内核升级,我使用的直接升级到最新版方法 1. 导入public ...

  9. Ubantu 16.04升级内核版本和还原到升级之前的内核版本的方法

    一.查看系统信息 1.查看发布版本: 命令: lsb_release -a 运行结果: / 2.查看内核版本: 命令: uname -sr 运行结果: 二.升级内核的方法 1.内核下载地址:http: ...

随机推荐

  1. git执行cherry-pick时修改提交信息

    git执行cherry-pick时修改提交信息 在本地分支执行cherry-pick命令时有时需要修改commit message信息,可以加参数-e实现: git cherry-pick -e co ...

  2. spark-2.4.0-hadoop2.7-安装部署

    1. 主机规划 主机名称 IP地址 操作系统 部署软件 运行进程 备注 mini01 172.16.1.11[内网] 10.0.0.11  [外网] CentOS 7.5 Jdk-8.zookeepe ...

  3. docker容器日志收集方案(方案三 filebeat+journald本地日志收集)

    其实方案三和方案二日志采集套路一样,但是还是有点差别. 差别就在于日志格式如下: ​ 为了方便对比吧日志贴上来 Nov 16 10:51:58 localhost 939fe968a91d[4721] ...

  4. Scrapy案例02-腾讯招聘信息爬取

    目录 1. 目标 2. 网站结构分析 3. 编写爬虫程序 3.1. 配置需要爬取的目标变量 3.2. 写爬虫文件scrapy 3.3. 编写yield需要的管道文件 3.4. setting中配置请求 ...

  5. 算法"新"名词

    这个“新”是对于自己而言. 最近几天接触到很多新的名词,如: 回溯法(backtracking):以前知道,但很少用 动态规划(dynamic programming):序列型.矩阵型.区间型.背包等 ...

  6. Ambari与Kerberos 集成

    Kerberos 介绍 Kerberos 是一个网络认证的框架协议,其设计的初衷便是通过密钥系统为 Client 和 Server 应用程序之间提供强大的认证服务.在使用 Kerberos 认证的集群 ...

  7. SQL UCASE() 函数

    UCASE() 函数 UCASE 函数把字段的值转换为大写. SQL UCASE() 语法 SELECT UCASE(column_name) FROM table_name SQL UCASE() ...

  8. MAC oh-my-zsh

    效果图 step1 : 安装zsh    brew install zsh step2: sudo vim  /etc/shells 添加 /usr/local/bin/zsh  step3:安装oh ...

  9. day4-python基础-数据类型

    今日份小技巧 a =3 b=4, 最快将a和b值替换的方法为 a,b =b,a 今日内容 1. 字典 2. 集合 3.hash 4.基本数据类型总结 5.循环之for循环 6.range的使用 7.深 ...

  10. kubernetes1.14.0部署

    2019/4/6/使用kubeadm安装部署kubernetes集群: 前提:1.各节点时间同步:2.各节点主机名称解析:dns OR hosts:3.各节点iptables及firewalld服务被 ...