一、手动档

手动档就是从源码开始编译内核安装,好处是可以自己选择任意版本的内核,缺点就是耗时长,编译安装消耗系统资源

1.1、获取 kernel 源码

这世界上最伟大的 Linux 内核源码下载地址是 kernel 官网,选择一个稳定版本下载即可


1.2、解压并清理

官方要求将其解压到 /usr/src 目录,其实在哪都可以,为了规范一点索性也解压到此位置,然后为了防止编译残留先做一次清理动作

# 下载内核源码
wget https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.8.6.tar.xz
# 解压并移动到 /usr/src
tar -Jxvf linux-4.8.6.tar.xz
mv linux-4.8.6 /usr/src/kernels
# 执行清理(没 gcc 的要装一下)
cd /usr/src/kernels/linux-4.8.6
make mrproper && make clean
1.3、生成编译配置表

kernel 在编译时需要一个配置文件(.config),用于描述开启哪些特性等,该文件一般可通过一下四种途径获得:

  • 复制当前系统编译配置表,即 cp /boot/config-xxx .config;如果系统有多个内核,那么根据版本号选择最新的即可

  • 使用 make defconfig 命令获取当前系统编译配置表,该命令会自动写入到 .config
  • 使用 make localmodconfig 命令开启交互模式,然后根据提示生成编译配置表
  • 使用 make oldconfig 命令根据旧的编译配置表生成新的编译配置表,刚方式会直接读取旧的便已配置表,并在以前没有设定过的配置时会自动开启交互模式

这里采用最后一种方式生成

1.4、编译并安装

内核配置表生成完成后便可进行编译和安装(需要安装 bc、openssl-devel等)

make
make modules
make modules_install
make install

最后执行重启验证即可,验证成功后可删除旧的内核(rpm -qa | grep kernel)

二、自动档

相对于手动档编译安装,CentOS 还可以通过使用 elrepo 源的方式直接安装最新稳定版 kernel,脚本如下

# import key
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
# install elrepo repo
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
# install kernel
yum --enablerepo=elrepo-kernel install kernel-ml-devel kernel-ml -y
# modify grub
grub2-set-default 0
# reboot
reboot

cent7内核升级4.9的更多相关文章

  1. linux 内核升级

    LINUX 内核升级 linux 内核官网 https://www.kernel.org/ POST BIOS(boot sequence) 所选择的启动设备次序的MBR中是否有引导程序, ----& ...

  2. linux内核升级图文攻略(转)

    一.Linux内核概览Linux是一个一体化内核(monolithic kernel)系统.设备驱动程序可以完全访问硬件.Linux内的设备驱动程序可以方便地以模块化(modularize)的形式设置 ...

  3. CentOS内核升级

    CentOS 6.5自动内核升级的主要步骤: 1)内核文件下载到/usr/src/kernel/目录下: 如:2.6.32-431.5.1.el6.x86_64编译后差不多有48M大小: 2)生成的引 ...

  4. Centos5.5内核升级

    当前版本linux-2.6.18-194.el5PAE目标版本linux-2.6.35.9内核升级步骤: 1.查看当前内核版本 uname –a¥ Linux localhost.localdomai ...

  5. Redhat Linux内核升级全记录(转)

        http://www.sina.com.cn 2001/06/15 15:38 中国电脑教育报 李红   Redhat Linux因为比较容易上手,所以用户很多.它系统配置完善,预装了丰富的应 ...

  6. linux内核升级图文攻略

    Linux内核概览 Linux是一个一体化内核(monolithic kernel)系统. 设备驱动程序可以完全访问硬件. Linux内的设备驱动程序可以方便地以模块化(modularize)的形式设 ...

  7. centos7内核升级及curl访问https证书过期处理

    centos7内核升级及curl访问https证书过期处理 先看下当前系统的linux内核版本 uname -r 3.10.0-229.el7.x86_64 升级步骤 1.rpm --import h ...

  8. Linux Centos 7.4 内核升级

    Linux Centos 7.4 内核升级 原始内核版本:3.10.0-693.2.2.el7.x86_64 升级内核版本:4.14.9-1.el7.elrepo.x86_64 1.导入key Key ...

  9. linux 内核升级2 转

    linux内核升级 一.Linux内核概览 Linux是一个一体化内核(monolithic kernel)系统. 设备驱动程序可以完全访问硬件. Linux内的设备驱动程序可以方便地以模块化(mod ...

随机推荐

  1. 使用Cookie实现跨域单点登录的原理

    对于构建分布式系统来说业务功能的物理部署会随着新业务模块的增加而增加或改变物理部署的位置.而每个用户都有统一的帐号作为我们登录系统时的一个认证.当新业务或子系统部署在不同的物理机上,我们去访问不同的业 ...

  2. Visual Studio 2010 插件之Resharper

    这一系列不是对每个功能的中文帮助,而是我对开发中可能涉及的功能需求,利用Resharper来完成.有些是Visual Studio有的,但是做的不好,有些是没有而Resharper发明的.总的目的都只 ...

  3. jquery each遍历节点使用

    ---恢复内容开始--- $("#aaa :input[type='text']").each(function(i){     alert(this.value); this.v ...

  4. 深入浅出Node.js(一):什么是Node.js

    Node.js从2009年诞生至今,已经发展了两年有余,其成长的速度有目共睹.从在github的访问量超过Rails,到去年底Node.jsS创始人Ryan Dalh加盟Joyent获得企业资助,再到 ...

  5. Linux C++ 开发常用工具,常用指令工作手册

    vim常用: :set nu显示行数 :set mouse=a 鼠标滑动屏幕,:set ic :set noic 忽略不忽略大小写 /word_to_search\c \c表示忽略大小写 c小写忽略, ...

  6. Java String,StringBuffer和StringBuilder的区别

    [可变与不可变] String是字符串常量,不可变. StringBuffer和StringBuilder是字符串变量,可变. [执行速度方面] StringBuilder > StringBu ...

  7. python json模块

    import json dic = {"name":"liao","age":18} data = json.dumps(dic) #转化为 ...

  8. 深入理解php底层:php生命周期 [转]

    1.PHP的运行模式: PHP两种运行模式是WEB模式.CLI模式.无论哪种模式,PHP工作原理都是一样的,作为一种SAPI运行. 1.当我们在终端敲入php这个命令的时候,它使用的是CLI. 它就像 ...

  9. [05]APUE:标准 I/O 库

    [a] setvbuf / setbuf #include <stdio.h> int setvbuf(FILE *restrict fp, char *restrict buf, int ...

  10. AngularJS四大特性

    Google AnguarJS是一个JS框架,适用于以数据的CRUD操作为主的SPA应用. 四大特性: (1)MVC模型 Model:模型,即数据=>JS中的变量 View:视图,即数据的呈现= ...