之前一直使用centos 7系统进行开发,centos 7.0 系统自带的linux内核版本为 linx 3.10,最近开发需要使用到socket的reuse port特性,该特性在linux 3.9及以上才被支持,因此需要将系统升级到linux的3.9及以上版本。

从网上查找了升级内核的教程,发现主要有两种:

一、使用 elrepo 的rpm包升级

查看当前系统内核版本 uname -r 
1. 导入key 
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org 
2. 安装 elrepo 的yum源 
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm 
3. 安装内核 
在yum的elrepo源中,有最新版本内核。直接yum安装即可。 
yum --enablerepo=elrepo-kernel install kernel-ml-devel kernel-ml -y 
5. 设置系统启动顺序 
查看系统启动项: 
cat /boot/grub2/grub.cfg |grep menuentry

(如果没有发现 grub.cfg 文件,则可以使用命令 grub2-mkconfig --output=/boot/grub2/grub.cfg,它会生成配置文件)

可以发现有最新版本的内核,此时可以设置最新版本内核为默认启动: 
grub2-set-default 'CentOS Linux (4.8.5-1.el7.elrepo.x86_64) 7 (Core)' 
    此时,查看默认启动的系统版本grub2-editenv list: 
显示为'CentOS Linux (4.8.5-1.el7.elrepo.x86_64) 7 (Core)' 
6. reboot,重启之后再次查看 uname -r

二、使用源码编译安装升级

1 下载内核源码 
下载网址为 https://www.kernel.org/ 
wget xxx 
2 解压并进入源码目录 
3 更新系统并安装依赖软件

    #yum update
#yum upgrade
#yum groups install Development Tools
#yum install ncurses-devel qt-devel hmaccalc zlib-devel binutils-devel elfutils-libelf-devel

4 将当前内核配置文件拷贝到当前目录 
    本来是应该执行make menuconfig来自定义内核配置的,生成配置文件.config; 但是可以直接使用原来系统的内核配置,也就是拷贝/boot目录下的配置文件到当前目录。 
cp /boot/config-2.6.32-431.11.2.el6.x86_64 .config

5 使用当前内核的配置

    #sh -c 'yes "" | make oldconfig' #centos 6
#sh -c 'y "" | make oldconfig' #centos 7

6 编译安装

    #make bzImage
#make modules
#make modules_install
#make install

7 设置系统启动顺序 
查看系统启动项: 
cat /boot/grub2/grub.cfg |grep menuentry

(如果没有发现 grub.cfg 文件,则可以使用命令 grub2-mkconfig --output=/boot/grub2/grub.cfg,它会生成配置文件)
可以发现有最新版本的内核,此时可以设置最新版本内核为默认启动: 
grub2-set-default 'CentOS Linux (4.8.5-1.el7.elrepo.x86_64) 7 (Core)' 
    此时,查看默认启动的系统版本grub2-editenv list: 
显示为'CentOS Linux (4.8.5-1.el7.elrepo.x86_64) 7 (Core)' 
8 reboot,重启之后再次查看 uname -r

centos 更新linux内核的更多相关文章

  1. centos 升级linux内核

    =============================================== 2018/1/14_第1次修改                       ccb_warlock == ...

  2. 更新Linux内核

    说明:为了安装Docker,当前虚拟机不满足要求,版本如下: [root@localhost116 ~]# uname -r -.el6.x86_64 [root@localhost116 ~]# c ...

  3. 云服务器-Ubuntu更新系统版本-更新Linux内核-服务器安全配置优化-防反弹shell

    购入了一台阿里云的ESC服务器,以前都用CentOS感觉Yum不怎么方便,这次选的Ubuntu16.04.7 搭好服务之后做安全检查,发现Ubuntu16.04版本漏洞众多:虽然也没有涉及到16.04 ...

  4. centos的linux内核源码下载方法

    http://vault.centos.org/ http://blog.csdn.net/xiongzhizhu/article/details/51816243

  5. 十天学Linux内核之第六天---调度和内核同步

    原文:十天学Linux内核之第六天---调度和内核同步 心情大好,昨晚我们实验室老大和我们聊了好久,作为已经在实验室待了快两年的大三工科男来说,老师让我们不要成为那种技术狗,代码工,说多了都是泪啊,, ...

  6. 重新编译Linux内核必要性及其准备工作

    内核简介 内核,是一个操作系统的核心.它负责管理系统的进程.内存.设备驱动程序.文件和网络系统,决定着系统的性能和稳定性. Linux的一个重要的特点就是其源代码的公开性,所有的内核源程序都可以在/u ...

  7. 24小时学通Linux内核之调度和内核同步

    心情大好,昨晚我们实验室老大和我们聊了好久,作为已经在实验室待了快两年的大三工科男来说,老师让我们不要成为那种技术狗,代码工,说多了都是泪啊,,不过我们的激情依旧不变,老师帮我们组好了队伍,着手参加明 ...

  8. Linux内核卸载和禁止更新

    注意:对于可以用好几条命令实现的,第一条命令已经验证,其他的命令参考自网上,没有进行验证. 查看Linux系统内核的命令有下面几条 dpkg --get-selections | grep linux ...

  9. 从头开始构建LINUX[内核更新和资料]

    了解了LFS的内容后,至于内核的更新就一目了然了 http://www.cnblogs.com/2018/p/3979305.html http://www.cnblogs.com/2018/p/39 ...

随机推荐

  1. 前端 时间个性化 插件 jquery.timeago.js

    关键词 : 时间格式化 刚刚 N分钟前 N小时前 N天前 N月前 N年前 MM-dd hh:mm  或者  yyyy-MM-dd 前端: <span class="time" ...

  2. Springmvc controller和jsp页面传值对象类型问题和普通问题

    一:JSP-->controller 1.当jsp页面传递的值是对象类型时候比如User.name User.age的user对象传递,需要以下操作 jsp页面提供对应标签的value必须存在且 ...

  3. Hadoop组件构成

    Hadoop平台重要组件: 1.ZooKeeper 一个分布式应用程序协调服务. 包含简单的原语集.实现统一命名服务.配置管理.分布式锁服务.集群管理等功能. 2.Cascading 架构在 Hado ...

  4. setAlpha与View Layer关系

    如果开启了硬件加速,它们两者是没有关系的.一个先执行,一个后执行. 如果View Layer type is VIEW_LAYER_NONE, 生成display list,然后加上alpha送入GP ...

  5. python学习笔记之装饰器、递归、算法(第四天)

    参考老师的博客: 金角:http://www.cnblogs.com/alex3714/articles/5161349.html 银角:http://www.cnblogs.com/wupeiqi/ ...

  6. [转] 将DOS格式文本文件转换成UNIX格式

    点击此处阅读原文 用途说明 dos2unix命令用来将DOS格式的文本文件转换成UNIX格式的(DOS/MAC to UNIX text file format converter).DOS下的文本文 ...

  7. php + jQuery自动完成插件autocompleter

    autocompleter是一个简单的,容易的,可定制的自动完成功能插件,支持缓存. 1.引用脚本 <script type="text/javascript" src=&q ...

  8. Dokuwiki布署小记

    最近个人写作风格全面转向Markdown模式,但之前使用的Mediawiki并未原生支持,且本人在布署时为了实现其所见即所得的方案和别的一些个性化需求,添加了太多插件和自定义设置,两年多过去了,很多设 ...

  9. Android的学习第六章(布局二--RelativeLayout)

    今天我们来说一下Android布局中的Relativelayout布局(相对布局) 根据英译过来意思是相对布局,很容易理解,这一样布局使用的是元素与元素之间的微调做到布局的 含义:通过元素与元素之间的 ...

  10. 什么是setTimeout函数和setInterval函数?

    我们一般在浏览网页的时候,一般都会有图片轮播等,一些比较好玩的特效,接下来我就给大家讲讲这俩个函数! 一setTimeout函数和setInterval函数的语法以及应用 1.setTimeout函数 ...