Centos7 升级内核版本
1、查看当前内核版本
$ uname -r
3.10.-.el7.x86_64 $ uname -a
Linux k8s-master 3.10.-.el7.x86_64 # SMP Tue Nov :: UTC x86_64 x86_64 x86_64 GNU/Linux $ cat /etc/redhat-release
CentOS Linux release 7.3. (Core)
2、升级内核
更新yum源仓库
$ yum -y update
启用 ELRepo 仓库
ELRepo 仓库是基于社区的用于企业级 Linux 仓库,提供对 RedHat Enterprise (RHEL) 和 其他基于 RHEL的 Linux 发行版(CentOS、Scientific、Fedora 等)的支持。
ELRepo 聚焦于和硬件相关的软件包,包括文件系统驱动、显卡驱动、网络驱动、声卡驱动和摄像头驱动等。
#导入ELRepo仓库的公共密钥
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
#安装ELRepo仓库的yum源
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm
3、查看可用的系统内核包
可以看到4.4和4.18两个版本
yum --disablerepo="*" --enablerepo="elrepo-kernel" list available
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* elrepo-kernel: mirrors.tuna.tsinghua.edu.cn
elrepo-kernel | 2.9 kB ::
elrepo-kernel/primary_db | 1.8 MB ::
Available Packages
kernel-lt.x86_64 4.4.-.el7.elrepo elrepo-kernel
kernel-lt-devel.x86_64 4.4.-.el7.elrepo elrepo-kernel
kernel-lt-doc.noarch 4.4.-.el7.elrepo elrepo-kernel
kernel-lt-headers.x86_64 4.4.-.el7.elrepo elrepo-kernel
kernel-lt-tools.x86_64 4.4.-.el7.elrepo elrepo-kernel
kernel-lt-tools-libs.x86_64 4.4.-.el7.elrepo elrepo-kernel
kernel-lt-tools-libs-devel.x86_64 4.4.-.el7.elrepo elrepo-kernel
kernel-ml.x86_64 4.18.-.el7.elrepo elrepo-kernel
kernel-ml-devel.x86_64 4.18.-.el7.elrepo elrepo-kernel
kernel-ml-doc.noarch 4.18.-.el7.elrepo elrepo-kernel
kernel-ml-headers.x86_64 4.18.-.el7.elrepo elrepo-kernel
kernel-ml-tools.x86_64 4.18.-.el7.elrepo elrepo-kernel
kernel-ml-tools-libs.x86_64 4.18.-.el7.elrepo elrepo-kernel
kernel-ml-tools-libs-devel.x86_64 4.18.-.el7.elrepo elrepo-kernel
perf.x86_64 4.18.-.el7.elrepo elrepo-kernel
python-perf.x86_64 4.18.-.el7.elrepo elrepo-
4、安装最新版本内核
$ yum --enablerepo=elrepo-kernel install kernel-ml
--enablerepo 选项开启 CentOS 系统上的指定仓库。默认开启的是 elrepo,这里用 elrepo-kernel 替换。
5、设置 grub2
内核安装好后,需要设置为默认启动选项并重启后才会生效
查看系统上的所有可用内核:
$ sudo awk -F\' '$=="menuentry " {print i++ " : " $}' /etc/grub2.cfg
: CentOS Linux (4.18.-.el7.elrepo.x86_64) (Core)
: CentOS Linux (3.10.-862.11..el7.x86_64) (Core)
: CentOS Linux (3.10.-.el7.x86_64) (Core)
: CentOS Linux (-rescue-063ec330caa04d4baae54c6902c62e54) (Core)
设置新的内核为grub2的默认版本
服务器上存在4 个内核,我们要使用 4.18 这个版本,可以通过 grub2-set-default 0 命令或编辑 /etc/default/grub 文件来设置
方法1、通过 grub2-set-default 0 命令设置
其中 0 是上面查询出来的可用内核
grub2-set-default
方法2、编辑 /etc/default/grub 文件
设置 GRUB_DEFAULT=0,通过上面查询显示的编号为 0 的内核作为默认内核:
$ vim /etc/default/grub
GRUB_TIMEOUT=
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=cl/root rhgb quiet"
GRUB_DISABLE_RECOVERY="true"
生成 grub 配置文件并重启
$ grub2-mkconfig -o /boot/grub2/grub.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-4.18.-.el7.elrepo.x86_64
Found initrd image: /boot/initramfs-4.18.-.el7.elrepo.x86_64.img
Found linux image: /boot/vmlinuz-3.10.-862.11..el7.x86_64
Found initrd image: /boot/initramfs-3.10.-862.11..el7.x86_64.img
Found linux image: /boot/vmlinuz-3.10.-.el7.x86_64
Found initrd image: /boot/initramfs-3.10.-.el7.x86_64.img
Found linux image: /boot/vmlinuz--rescue-063ec330caa04d4baae54c6902c62e54
Found initrd image: /boot/initramfs--rescue-063ec330caa04d4baae54c6902c62e54.img
done $reboot
6、验证
$ uname -r
4.18.-.el7.elrepo.x86_64
7、删除旧内核(可选)
查看系统中全部的内核:
$ rpm -qa | grep kernel
kernel-3.10.-.el7.x86_64
kernel-ml-4.18.-.el7.elrepo.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
方法1、yum remove 删除旧内核的 RPM 包
$ 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
$ yum install yum-utils
删除旧版本
package-cleanup --oldkernels
Centos7 升级内核版本的更多相关文章
- centos7升级内核版本
本文转载http://blog.csdn.net/nciasd/article/details/51490146,大神非常厉害!!!!! 查看当前系统的内核版本 # uname -r 1.导入key ...
- yum-cron更新 CentOS yum update 不升级内核版本方法
http://www.360doc.com/content/15/0608/17/15798950_476597844.shtml 相关yum-cron说明有一些 CentOS yum update ...
- docker学习笔记(6)——docker场景问题汇总(centos7 由于内核版本低带来的一系列问题,docker彻底卸载,安装、启动日志报错分析)
参考资料: https://nachuan.blog.csdn.net/article/details/96041277 https://www.cnblogs.com/xzkzzz/p/962765 ...
- centos7 升级内核到最新版本
centos7 从问世以来,官网提供的镜像始终是3.10 版本,该版本最大的一个问题是对硬件驱动(尤其是无线网卡)的支持不是很好,本人亲测>5种机型,无线网卡均无法正常使用,如果是非主流机型,手 ...
- centos7升级内核至最新
应用背景: 最近在接触docker,其对内核版本要求较高,就连目前使用的centos7.x默认内核版本为3.10.0-xxx,也是刚好满足其最低要求,故借此机会记录一下升级内核的操作步骤. 测试环境: ...
- CENTOS 7 升级内核版本(附带升级脚本)
写在前面的话 对于系统而言,除非是那种安全性要求非常高的公司或者经常会有第三方安全机构对其漏洞扫描的才容易涉及到系统的内核升级,比如之前呆过一个公司,因为需要做三级等保的原因,就会涉及到系统扫描,这时 ...
- CentOS7升级内核kernel5.0
升级过程: 原系统:CentOS7.3 [root@my-e450 ~]# uname -r3.10.0-514.el7.x86_64 安装必需的软件包: # yum update# yum inst ...
- centos6.9 升级内核版本
想在centos6.9上安装docket,不过因为内核版本是2.6的故而想升级到最新的内核版本 晚上有编译升级的比较麻烦,不过有助于理解内核升级,我使用的直接升级到最新版方法 1. 导入public ...
- Ubantu 16.04升级内核版本和还原到升级之前的内核版本的方法
一.查看系统信息 1.查看发布版本: 命令: lsb_release -a 运行结果: / 2.查看内核版本: 命令: uname -sr 运行结果: 二.升级内核的方法 1.内核下载地址:http: ...
随机推荐
- Go语言学习笔记-流程控制(二)
Go语言流程控制 字典类型Map 1.上节遗留:map字典类型 变量声明:var myMap map[string] PersonInfo 其中,myMap是变量名,string是键的类型,Perso ...
- LeetCode算法题-Set Mismatch(Java实现)
这是悦乐书的第279次更新,第295篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第147题(顺位题号是645).集合S最初包含从1到n的数字. 但不幸的是,由于数据错误 ...
- topjui中datagrid增删改查
1.掌握datagrid的创建方式在html中直接定义与在js中定义 可参考easyui的官方文档:http://www.jeasyui.net/plugins/183.html 2.实现代码如下:重 ...
- Vue SSR: 基本用法 (二)
上一篇讲解了ssr的原理,这篇主要讲基本用法: 1.安装 npm install vue vue-server-renderer --save 我们将在整个指南中使用 NPM,但你也可以使用 Yarn ...
- 学习笔记《Mustache》模板
Mustache 是一款经典的前端模板引擎,在前后端分离的技术架构下面,前端模板引擎是一种可以被考虑的技术选型,随着重型框架(AngularJS.ReactJS.Vue)的流行,前端的模板技术已经成为 ...
- C# FileSystemWatcher 并发
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threa ...
- Java实现动态修改Jar包内文件内容
import java.io.*; import java.util.Enumeration; import java.util.LinkedList; import java.util.List; ...
- Asp.Net Core SignalR 与微信小程序交互笔记
什么是Asp.Net Core SignalR Asp.Net Core SignalR 是微软开发的一套基于Asp.Net Core的与Web进行实时交互的类库,它使我们的应用能够实时的把数据推送给 ...
- Binary Search(Java)(非递归)
public static int rank(int[] array, int k) { int front = 0, rear = array.length - 1; while(front < ...
- python中打印中文
python中打印中文 在python 2.x版本中,默认是ASCII编码方式,在有业务需要输入中文时,就会出现乱码的情况.解决这种问题的一个方式就是设置py文件的编码方式.实现方式如下: 在py文件 ...