之前一直使用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. 开始学习bizTalk server了

    开始学习bizTalk Server 2013 R2了,有兴趣的朋友可以关注我,一同学习

  2. 安卓版App开发心得

    从2016年4月到6月主要做的工作是网站的开发,而6月到现在2016年8月初,主要做的工作是Android和IOS两种App的开发,又以Android为主. 将这段时间的Android开发心得记录如下 ...

  3. Git中pull对比fetch和merge

    本文参考于:http://www.zhanglian2010.cn/2014/07/git-pull-vs-fetch-and-merge/ 使用git fetch和git pull都可以更新远程仓库 ...

  4. 在centos7中安装Robot Framework

    安装前景介绍: 最初,我们是在Windows环境下搭建Robot Framework来对我们的服务进行接口测试的(想知道如何在Windows下安装Robot Framework,可以参考我同事的博客h ...

  5. 剑指offer——树的子结构 (JAVA代码)

    版权声明:本文为博主原创文章,未经博主允许不得转载. 题目描述: 输入两棵二叉树A,B,判断B是不是A的子结构.(ps:我们约定空树不是任意一个树的子结构). 解题思路: 首先看牛客网给出的测试用例: ...

  6. 获取WOED和EXCEL的公用方法

    1. 需要传入word地址 /// <summary> /// 获取WORD内容 /// </summary> /// <param name="docFile ...

  7. 移动端页面去掉click点击 背景色变化

    a,input,em,h2{-webkit-tap-highlight-color:rgba(255,0,0,0);}给点击元素加上样式 :-webkit-tap-highlight-color:rg ...

  8. easyui from 缓存问题处理

    1 这是ie低版本,缓存了easyui form load事件获取的服务器端数据,给ajax时间加上清除缓存就ok. 找到easyui 中的form load事件  添加cache:false, /* ...

  9. sql的各种join连接

    SELECT * FROM TableA INNER JOIN TableB ON TableA.name = TableB.name id name id name -- ---- -- ---- ...

  10. Mac > MacBook Pro的移动硬盘方案

    灵感来自:http://cone.cc/2012/12/30/Macbook-Air-HD/ 主要为了解决:如果让移动硬盘,无缝地,安全地,同时应用在苹果电脑系统和微软的系统. 除了储存文件,我还想用 ...