CentOS 7 升级 Linux 内核
一、YUM升级内核
1、更新仓库
yum -y update
2、用 ELRepo 仓库
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
3、查看可用的系统内核包(可以看到,只有 4.4 和 4.20 两个版本可以使用)
[root@localhost ~]# yum --disablerepo="*" --enablerepo="elrepo-kernel" list available
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* elrepo-kernel: mirrors.neusoft.edu.cn
elrepo-kernel | 2.9 kB ::
elrepo-kernel/primary_db | 1.8 MB ::
可安装的软件包
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.20.-.el7.elrepo elrepo-kernel
kernel-ml-devel.x86_64 4.20.-.el7.elrepo elrepo-kernel
kernel-ml-doc.noarch 4.20.-.el7.elrepo elrepo-kernel
kernel-ml-headers.x86_64 4.20.-.el7.elrepo elrepo-kernel
kernel-ml-tools.x86_64 4.20.-.el7.elrepo elrepo-kernel
kernel-ml-tools-libs.x86_64 4.20.-.el7.elrepo elrepo-kernel
kernel-ml-tools-libs-devel.x86_64 4.20.-.el7.elrepo elrepo-kernel
perf.x86_64 4.20.-.el7.elrepo elrepo-kernel
python-perf.x86_64 4.20.-.el7.elrepo elrepo-kerne
4、安装最新内核
yum --enablerepo=elrepo-kernel install kernel-ml
5.查看系统上的所有可以内核
[root@localhost ~]# awk -F\' '$=="menuentry " {print i++ " : " $}' /etc/grub2.cfg
: CentOS Linux (4.20.-.el7.elrepo.x86_64) (Core)
: CentOS Linux (3.10.-957.1..el7.x86_64) (Core)
: CentOS Linux (3.10.-.el7.x86_64) (Core)
: CentOS Linux (-rescue-87b5a0a60fc351ad00a94aa3c5b30baa) (Core)
6.设置 grub2,并生成grub配置文件
[root@localhost ~]# grub2-set-default
[root@localhost ~]# grub2-mkconfig -o /boot/grub2/grub.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-4.20.-.el7.elrepo.x86_64
Found initrd image: /boot/initramfs-4.20.-.el7.elrepo.x86_64.img
Found linux image: /boot/vmlinuz-3.10.-957.1..el7.x86_64
Found initrd image: /boot/initramfs-3.10.-957.1..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-87b5a0a60fc351ad00a94aa3c5b30baa
Found initrd image: /boot/initramfs--rescue-87b5a0a60fc351ad00a94aa3c5b30baa.img
done
7.重启并查看当前内核
[root@localhost ~]# reboot
[root@localhost ~]# uname -r
4.20.-.el7.elrepo.x86_64
二、离线RPM包安装内核
1.下载RPM包
https://elrepo.org/linux/kernel/el7/x86_64/RPMS/ #选择自己想要的版本下载对应的
[root@localhost ~]# wget https://elrepo.org/linux/kernel/el7/x86_64/RPMS/kernel-lt-4.4.206-1.el7.elrepo.x86_64.rpm
[root@localhost ~]# wget https://elrepo.org/linux/kernel/el7/x86_64/RPMS/kernel-lt-devel-4.4.206-1.el7.elrepo.x86_64.rpm
2.安装RPM包
[root@localhost ~]# yum localinstall -y kernel-lt-4.4.-.el7.elrepo.x86_64.rpm kernel-lt-devel-4.4.-.el7.elrepo.x86_64.rpm
3.查看当前系统上的所有可用内核启动项
非 UEFI 设备(Legacy):
[root@localhost ~]# awk -F\' '$=="menuentry " {print i++ " : " $}' /etc/grub2.cfg
: CentOS Linux (4.4.-.el7.elrepo.x86_64) (Core)
: CentOS Linux (3.10.-.el7.x86_64) (Core)
: CentOS Linux (-rescue-395aa029d0cca260e8304b6bf0846236) (Core)
UEFI 设备(Legacy):
[root@localhost ~]# awk -F\' '$=="menuentry " {print i++ " : " $}' /boot/efi/EFI/centos/grub.cfg
: CentOS Linux (4.4.-.el7.elrepo.x86_64) (Core)
: CentOS Linux (3.10.-.el7.x86_64) (Core)
: CentOS Linux (-rescue-e2c56988fd1743ab9d8902c5dd4d4cc1) (Core)
#注意文件名称
4.修改默认启动项
默认启动项由/etc/default/grub中的GRUB_DEFAULT控制。
如果GRUB_DEFAULT=saved,则该参数将存储在/boot/grub2/grubenv中。可使用grub2-editenv list查看:
[root@localhost ~]# grub2-editenv list
saved_entry=CentOS Linux (3.10.-.el7.x86_64) (Core)
通过grub2-set-default命令修改默认启动项。由之前的输出可知 CentOS Linux (4.4.206-1.el7.elrepo.x86_64) 7 (Core) 的启动序号为0
1).通过启动序号设置4.4.205-1.el7.elrepo.x86_64为默认启动内核
[root@localhost ~]# grub2-editenv list
saved_entry=0 #0为4.4内核启动序号
重启并查看内核版本
[root@localhost ~]# reboot
[root@localhost ~]# uname -r
4.4.-.el7.elrepo.x86_64
2).通过内核名称设置4.4.205-1.el7.elrepo.x86_64为默认启动内核
恢复至3.10内核
[root@localhost ~]# grep "^menuentry" /boot/grub2/grub.cfg
[root@localhost ~]# grub2-set-default
[root@localhost ~]# grub2-editenv list
saved_entry=
[root@localhost ~]# reboot
[root@localhost ~]# uname -r
3.10.-.el7.x86_64
通过内核名称设置4.4.205-1.el7.elrepo.x86_64为默认启动内核
[root@localhost ~]# grub2-set-default "CentOS Linux (4.4.206-1.el7.elrepo.x86_64) 7 (Core)"
[root@localhost ~]# grub2-editenv list
saved_entry=CentOS Linux (4.4.-.el7.elrepo.x86_64) (Core)
重启查看内核版本
[root@localhost ~]# reboot
[root@localhost ~]# uname -r
4.4.-.el7.elrepo.x86_64
本文yum安装完全抄自:https://blog.csdn.net/kikajack/article/details/79396793
CentOS 7 升级 Linux 内核的更多相关文章
- CentOS 7.4升级Linux内核
CentOS 7.4升级Linux内核 [日期:2018-01-15] 来源:Linux社区 作者:straycats [字体:大 中 小] 由于最近intel出了Meltdown和Spectre两 ...
- 如何在Ubuntu/CentOS上安装Linux内核4.0
大家好,今天我们学习一下如何从Elrepo或者源代码来安装最新的Linux内核4.0.代号为‘Hurr durr I'm a sheep’的Linux内核4.0是目前为止最新的主干内核.它是稳定版3. ...
- centos6.5升级Linux内核步骤
centos6.5升级Linux内核步骤 http://www.jianshu.com/p/c75f00182b4c 使用的操作系统是是centos6.5,按照官方的推荐的配置,把linux内核升级到 ...
- 管理员技术(三): 配置静态网络地址、 使用yum软件源 、 升级Linux内核、查找并处理文件、查找并提取文件内容
一. 配置静态网络地址 目标: 本例要求为虚拟机 server 配置以下静态地址参数: 1> 主机名:server0.example.com 2> IP地址:172.25.0.11 ...
- centos 升级linux内核
=============================================== 2018/1/14_第1次修改 ccb_warlock == ...
- Centos下编译Linux内核
Linux内核编译是一件简单却费事的事.但是独立的编译linux内核会帮助你很好的理解Linux内核的工作机理. 首先编译linux内核我们需要在当前linux操作系统下安装gcc编译器,因为我是Ce ...
- 升级Linux内核导致vmware无法使用(vmnet模块无法编译)解决方式
近期将ubuntu升级到了14.04,出现了vmware无法启动的情况. 详细表现为:每次启动的时候都会弹出一个VMWare Kernel Module Updater的对话框,要求依据当前内核版本号 ...
- 升级 Linux 内核版本(编译源代码)
升级内核版本(自己编译源码) 从 linux 官网 https://www.kernel.org/ 下载内核源码 解压 tar -xvf linux-4.16.8.tar.xz cd linux-4. ...
- 升级linux内核(2.6.32->3.10.81),安装docker
1.内核升级环境准备 #查看已经安装的和未安装的软件包组,来判断我们是否安装了相应的开发环境和开发库: yum grouplist #一般是安装这两个软件包组,这样做会确定你拥有编译时所需的一切工具 ...
随机推荐
- 连接mysql用mysql_connect不能连接
用mysqli_connect就可以解决. mysqli_array()有连个参数,第一个是连接mysql名. php遇到这个警告Warning: Use of undefined constant ...
- vue 监听手机键盘是否弹出及input是否聚焦成功
//定义移动端类型 function pageStats() { let u = navigator.userAgent, app = navigator.appVersion; let obj = ...
- ms16-032漏洞复现过程
这章节写的是ms16-032漏洞,这个漏洞是16年发布的,版本对象是03.08和12.文章即自己的笔记嘛,既然学了就写下来.在写完这个漏洞后明天就该认真刷题针对16号的比赛了.Over,让我们开始吧! ...
- 浅谈兔兔对Object.defineProperty的理解
给一个对象定义一个新的属性或者在修改一个对象现有的属性,并返回这个对象 语法: Object.defineProperty(参数1,参数2,参数3) 参数1:目标对象 参数2:要修改或者添加的属性名称 ...
- 在Javascript中闭包(Closure)
在Javascript中闭包(Closure) 什么是闭包 “官方”的解释是:所谓“闭包”,指的是一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分. ...
- PHP连接mysql数据库报错:Call to undefined function mysql_connect()
http://php.net/manual/zh/intro.mysqli.php 系统环境PHP7.0+Mysql5.7+Apache2. 运行一个数据库连接测试示例时报错: [client 127 ...
- Linux下安装gradle
Linux下安装gradle 1. Gradle 是以 Groovy 语言为基础,面向Java应用为主.基于DSL(领域特定语言)语法的自动化构建工具 下面就描述一下如何在linux环境下安装配置gr ...
- vue-----样式绑定 事件处理
<!DOCTYPE html><html><head> <meta charset="utf-8"> <meta name=& ...
- LeetCode - Robot Room Cleaner
Given a robot cleaner in a room modeled as a grid. Each cell in the grid can be empty or blocked. Th ...
- java基础(三):反射、反序列化破解单列模式和解决方式
单例模式指的是一个类只有一个对象,通过一些措施达到达到这个目的.但是反射和反序列化可以获得多个不同的对象. 先简单的认识一下单例模式 一:单例模式 通过私有构造器,声明一个该类的静态对象成员,提供一个 ...