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: ...
随机推荐
- pycharm导入自定义py文件出错
1. 被导入的py文件不能以数字开头,否则会报错,红色波浪线
- 重装助手教你如何在Windows 10中更改您的帐户名称
当您设置新的Win10免费下载 PC时,您选择用户名的部分可能会让您措手不及.如果是这种情况,您可以选择弹出头部的第一件事或者您打算稍后更改的随机和临时事物.但令人惊讶的是,在Windows 10中更 ...
- requests模块
import requests url='https://www.cnblogs.com/Eva-J/p/7277026.html' get = requests.get(url) print(get ...
- kubernetes-整体概述和架构
1.Kubernetes是什么 Kubernetes是一个轻便的和可扩展的开源平台,用于管理容器化应用和服务.通过Kubernetes能够进行应用的自动化部署和扩缩容.在Kubernetes中,会将组 ...
- Nginx解读内置非默认模块 ngx_http_stub_status_module
1 Background http://nginx.org/en/docs/http/ngx_http_stub_status_module.html ngx_http_stub_status_mod ...
- java程序启动 环境属性的获取
System.getProperties().list(System.out); 如果要获取某一个属性,例如常见的“操作系统” 则 System.getProperty("os.name& ...
- 为什么要使用TypeScript开发Web应用程序
TypeScript仍然相对较新,但已经赢得了很多信徒.继续阅读,看看这种很酷的语言的一些最好的功能. 定义TypeScript TypeScript是由Microsoft Corporation开发 ...
- vue 使用localStorage解决vuex在页面刷新后数据被清除的问题
通常,我们在使用vue编写页面时,会需要使用vuex在组件间传递(或者说共同响应)同一个数据的变化.例如:用户的登录信息. 下面,我们使用传递用户登录信息的例子来一步步解决这个问题. 首先,我们的第一 ...
- c# 正则验证
1.验证百分数 bool tempBool = Regex.IsMatch(str, @"[1-9]{0,1}[0-9](\\.[0-9])?%");
- SQL 数据类型
Microsoft Access.MySQL 以及 SQL Server 所使用的数据类型和范围. Microsoft Access 数据类型 数据类型 描述 存储 Text 用于文本或文本与数字的组 ...