之前一直使用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. 有关css伪类visited样式无效的解决方法

    错误写法 将visited写在hover和active之后,例如: .ui-page-theme-a .digilinx-ui-btn{background:#00a325;border-color: ...

  2. [原创]使用Gradle的插件EnIDE build的时候,输出的中文总是乱码。

    使用Gradle的插件EnIDE build的时候,输出的中文总是乱码.解决办法:在EnIDE的设置里面,设置JVM options GRADLE_OPTS 为:-Dfile.encoding=UTF ...

  3. Oracle提示大全

    Hint概述 基于代价的优化器是很聪明的,在绝大多数情况下它会选择正确的优化器,减轻了DBA的负担.但有时它也聪明反被聪明误,选择了很差的执行计划,使某个语句的执行变得奇慢无比. 此时就需要DBA进行 ...

  4. 7.Git的版本退回

    现在,你已经学会了修改文件,然后把修改提交到Git版本库,现在,再练习一次,修改readme.txt文件如下: Git is a distributed version control system. ...

  5. 配置ADFS Outlook Client.

     error:The authentication endpoint Username was not found on the configured Secure Token Service!1.  ...

  6. nodejs的初学

    1.启服务器.先server.js,再命令行输入命令node server.js,打开浏览器输入http://127.0.0.1:2016可以看到有内容输出. server.js代码如下: var h ...

  7. 删除Management Data Warehouse (MDW) job失败

    转:http://lzf328.blog.51cto.com/1196996/1349670 最近在清理一些不用的Job,发现几个跟MDW有关的.虽然Job已经被Disable, 但是没有被删除.尝试 ...

  8. PLSQL Developer导入Excel数据

    LSQL Developer导入Excel数据 最近处理将Excel数据导入Oracle的工作比较多.之前都是采用Sqlldr命令行导入的方式处理.每次导入不同格式的Excel表数据,都需要先把Exc ...

  9. Android drawable微技巧

    家都知道,在Android项目当中,drawable文件夹都是用来放置图片资源的,不管是jpg.png.还是9.png,都可以放在这里.除此之外,还有像selector这样的xml文件也是可以放在dr ...

  10. 我的Android第四章

    本章需掌握 1.连接真机的过程. 2.dx指令的作用 3.adb是什么? 4.adb有什么用(有什么好处)? 5.adb的一些常用命令 1.连接真机的过程. 需要:一部Android机.usb连接线, ...