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 #一般是安装这两个软件包组,这样做会确定你拥有编译时所需的一切工具 ...
随机推荐
- TypeScript 类型定义文件(*.d.ts)自动生成工具
在开发ts时,有时会遇到没有d.ts文件的库,同时在老项目迁移到ts项目时也会遇到一些文件需要自己编写声明文件,但是在需要的声明文件比较多的情况,就需要自动生产声明文件.用过几个库.今天简单记录一下. ...
- 部署在sae上的servlet程序出现is not a javax.servlet.Servlet 错误
sae本身提供了servlet jar包, 部署时删掉你lib目录下的servlet jar包.
- 【集合】Java集合框架
Java类库中帮助我们在程序设计中实现了传统的数据结构.本文章跳过理论部分,主要介绍如何使用标准库中的集合类. 1 将集合的接口与实现分离 Java集合类库将接口与实现分离.以队列为例: public ...
- jmeter使用手册
1.在bin文件中找到jmeter.bat文件启动 2.创建测试计划-填写计划名称 3.添加线程组(右键点击) 4.设置线程-红框内均可设置,线程数-并发次数 5.在线程组下添加http请求 6.在h ...
- 锋利的jQuery初学(2)
js与jq事件处理程序区别: 1,事件源: document.getElementById('id'); $("#id") 2,事件: document.getElem ...
- javaSE-多线程
[线程池概念] 由于系统启动一个新线程的成本是比较高的,因为他涉及与操作系统的交互(这也就是为什么可以有百万个Goroutines,却只有几千个java线程).在这种情形下,使用线程池可以很好地提高性 ...
- 对于Linux内核执行过程的理解(基于fork、execve、schedule等函数)
382 + 原创作品转载请注明出处 + https://github.com/mengning/linuxkernel/ 一.实验环境 win10 -> VMware -> Ubuntu1 ...
- promise在angular中的基本使用
promise在angular中的基本使用 <!DOCTYPE html> <html ng-app="myApp"> <head> <m ...
- Python argparse用法
import argparse import sys parser = argparse.ArgumentParser(description='this is for test.') parser. ...
- asp.net core webapi处理Post请求中的request payload
request payload的Content-Type实际上是text/plain的,如果请求的 Content-Type 为 application/json,这将导致415 Unsupporte ...