方法1:rpm安装方式

rpm安装包可以通过这个网站下载:

这个是CentOS6 x64 : http://elrepo.org/linux/kernel/el6/x86_64/RPMS/

这个是CentOS7 x64 : http://elrepo.org/linux/kernel/el7/x86_64/RPMS/ 或者 http://mirror.rc.usf.edu/compute_lock/elrepo/kernel/el7/x86_64/RPMS/

ubuntu的内核地址 http://kernel.ubuntu.com/~kernel-ppa/mainline/

RPM-GPG-KEY-elrepo.org : https://www.elrepo.org/RPM-GPG-KEY-elrepo.org

Kernel-lt是长期维护版一般选这个,Kernel-ml是Linus亲自维护的主分支版本

下载所需的内核版本

yum install kernel-lt-4.4.103-1.el7.elrepo.x86_64.rpm -y		#yum安装内核包
awk '$1=="menuentry" {print $2,$3,$4}' /etc/grub2.cfg #查看默认启动顺序 #如果没有外网先安装key,下载地址:https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
rpm --import RPM-GPG-KEY-elrepo.org
rpm -ivh kernel-lt-4.4.103-1.el7.elrepo.x86_64.rpm -y #设置默认启动项,0是按menuentry顺序。比如要默认从第四个菜单项启动,数字改为3,若改为 saved,则默认为上次启动项。
sed -i "s/GRUB_DEFAULT=saved/GRUB_DEFAULT=0/g" /etc/default/grub
grub2-mkconfig -o /boot/grub2/grub.cfg
reboot #重启机器 uname -r #重启后查看内核版本 #注:装新内核是占用/boot空间的,可以使用yum remove kernel-ml-4.10.11-1.el6.elrepo.x86_64方式清理不用的kernel

方法2:源码安装方式

下载linux内核官网地址 : https://www.kernel.org/

一般选着stable(稳定的内核版本),mainline(开发的内核版本),longterm(之前的内核版本)

tarball:完整的代码

pgp:验证签名

patch:基于上一个版本的补丁

编码内核选择界面(生成.config的方法):

make help 支持更新模式进行配置
make menuconfig 基于curses的文本窗口界面
make gconfig 基于GTK(GOME)环境窗口界面
make xconfig 基于QT(KDE) 环境的窗口界面
make oldconfig 透过已经存在的./.config文件内容,并使用该文件内设定值为默认值,只将新版本核心的新功能列出让用户选择,可以简化核心功能挑选过程。对与升级内核很好选择。
make defconfig 基于内核为目标平台执行提供的“默认”配置进行配置
make allyesconfig 所有选项均回答为”yes”
make allnoconfig 所有选项均回答为”no”
make mrproper 清理所有编译生成的文件、 config及某些备份文件
make clean 清理大多数编译生成的文件,但会保留config文件等
make distclean mrproper、 patches以及编辑器备份文件
# 准备编译环境

yum -y groups install "Development Tools"
yum -y install ncurses-devel elfutils-libelf-devel bc openssl-devel.x86_64
tar xvf linux-4.14.12.tar.xz
cp /boot/config-3.10.0-693.el7.x86_64 /kernel/linux-4.14.12
cd /kernel/linux-4.14.12/
make menuconfig
make
make modules_install
make install
# 安装好之后,会在/boot内生成对应的内核相关文件,模块目录也会生成/lib/modules/4.14.12 cat grub2/grub.cfg |grep Core
# 然后重启系统,检查内核

卸载内核

#删除/lib/modules/目录下不需要的内核库文件
rm -rf 4.14.12
# 删除源码目录
# 删除/usr/src/linux/目录下不需要的内核源码
# 删除/boot目录下启动的内核和内核映像文件
rm *-4*
rm: remove regular file ‘initramfs-4.14.12hunk-2018-1.0.img’? y
rm: remove regular file ‘initramfs-4.14.12hunk-2018-1.0.img.gz’? y
rm: remove regular file ‘System.map-4.14.12hunk-2018-1.0’? y
rm: remove regular file ‘vmlinuz-4.14.12hunk-2018-1.0’? y #更改grub的配置文件,删除不需要的内核启动列表
vim /boot/grub2/grub.cfg
#!/bin/sh

set -e
cd `dirname $0` rpm --import RPM-GPG-KEY-elrepo.org
rpm -ivh kernel-lt-4.4.103-1.el7.elrepo.x86_64.rpm
sed -i s/saved/0/ /etc/default/grub
grub2-mkconfig -o /boot/grub2/grub.cfg echo -e "\033[32m"请重启机器!"\033[0m"

centos 升级内核方法的更多相关文章

  1. CentOS升级内核方法

    查询现在系统的kernel安装包:rpm -qa |grep kernel 删除不用的内核安装包:rpm -e xxx centos 6升级:https://blog.csdn.net/wh21121 ...

  2. Centos6.x升级内核方法支持Docker

    Centos6升级内核方法_百度经验https://jingyan.baidu.com/article/7e4409531bda252fc1e2ef4c.html

  3. openstack、kvm CentOS升级内核

    openstack平台需要使用各种Linux发行版镜像,其制作方法主要有两种,要么是基于各大Linux发行版ISO光盘手动制作,要么是使用官方提供的制作好镜像进行修改 问题 FATAL: Module ...

  4. 干货,分享一次完整的CentOS升级内核脚本。

    一.安装常用包 yum install wget vim screen net-tools lrzsz -y wget -O /etc/yum.repos.d/epel.repo http://mir ...

  5. Centos6升级内核方法

    docker需要内核在3.0以上,如果centos6上需要安装docker的话需要先将内核进行升级 工具/原料   Centos6.5_x64 方法/步骤     操作系统为centos6.5,内核为 ...

  6. CentOS 升级内核

    因为要安装go,尝试升级内核到 2.6.32.61,出现了一些问题,参考如下文档,多谢各位 http://liaozy.blog.51cto.com/921527/553921 http://www. ...

  7. centos 升级内核并安装对应kernel-devel

    内核包使用ELReo提供 1.准备ELRepo (1)检测ELRepo是否安装 yum --disablerepo="*" --enablerepo="elrepo-ke ...

  8. CentOS升级内核的方法

    升级前的内核版本为:2.6.32-431.el6.x86_64 升级后的内核版本为:3.10.101-1.el6.elrepo.x86_64 升级方法: 1.导入key rpm --import ht ...

  9. Vmware由于centos升级内核不可运行(C header files matching your running kernel were not found)的解决方案

    C header files matching your running kernel were not found. Refer to your distribution's documentati ...

随机推荐

  1. centos8自定义目录安装nginx

    1.安装工具和库 # PCRE是一个Perl库,包括 perl 兼容的正则表达式库.nginx 的 http 模块使用 pcre 来解析正则表达式 # zlib库提供了很多种压缩和解压缩的方式, ng ...

  2. Maven学习存档(3)——eclipse集成maven

    一.安装Maven插件 在eclipse的菜单中选择Help——Install New Software 在弹出框的Work with中写入插件安装地址:http://m2eclipse.sonaty ...

  3. tesseract ocr .Net demo

    环境vs 2019 .Net 4.8 新建一个wpf工程,拖放上一个button一个textbox nuget下载tesseract,版本信息如图所示 MainWindow.xaml.cs文件代码如下 ...

  4. ACM-ICPC 2017北京

    J. Pangu and Stones 大意: 给定$n$堆石子, $(n\le 100)$, 每次操作任选连续的至少$L$堆至多$R$堆合并, 代价为合并石子的总数, 求合并为$1$堆的最少花费. ...

  5. 图数据库-Neo4j-常用算法

    本次主要学习图数据库中常用到的一些算法,以及如何在Neo4j中调用,所以这一篇偏实战,每个算法的原理就简单的提一下. 1. 图数据库中常用的算法 PathFinding & Search 一般 ...

  6. 怎样查看 MySQL 版本号

    1. 在命令行中直接查看版本号 mysql -V 2. 在 mysql --help 中查找与版本相关的信息 mysql --help | grep Ver 3. 在mysql命令行里面查看版本信息 ...

  7. 7-MySQL DBA笔记-研发规范

    第7章 研发规范 本章将为读者解读一份研发规范.为了更好地协同工作和确保所开发的应用尽可能的稳定.高效,建立一套数据库相关的研发规范是很有必要的,虽然研发规范的确立和推广是一项很耗时的工作,但所取得的 ...

  8. python 使用三种常用的工具包处理图片

    matplotlib,PIL(Pillow),Opencv三种常用的作图方式. 使用matplotlib画图,很棒,matplotlib 是python最著名的2D绘图库,它提供了一整套和matlab ...

  9. canvas之五角星的绘制

    <html> <head> <meta charset=utf-8> <title>绘制简单图形线及矩形</title> <style ...

  10. 区块链火爆,再不知道Golang就晚了

    Golang,也叫Go语言,是2009年刚刚被发发布的一门新语言. 区块链,是2019年我国提出的新战略. 一个不争的事实就是,大多数从事区块链开发的小伙伴都是用Golang,大多数招聘区块链技术工作 ...