原文:https://blog.csdn.net/bayin4937/article/details/100949870

两种方式升级内核

一、yum升级内核

参考:https://blog.csdn.net/kikajack/article/details/79396793

不多废话了,直接操作,原理看别的文章

1、uname -r

  1.  
    [root@localhost ~]# uname -r
  2.  
    3.10.0-957.el7.x86_64

2、备份数据

3、按照官方导入epel仓库

参考:http://elrepo.org/tiki/tiki-index.php

  1.  
    [root@localhost ~]# yum install https://www.elrepo.org/elrepo-release-7.0-4.el7.elrepo.noarch.rpm -y
  2.  
    #就是一个repo仓库文件
  3.  
    [root@localhost ~]# rpm -ql elrepo-release-7.0-4.el7.elrepo.noarch
  4.  
    /etc/pki/elrepo
  5.  
    /etc/pki/elrepo/SECURE-BOOT-KEY-elrepo.org.der
  6.  
    /etc/pki/rpm-gpg
  7.  
    /etc/pki/rpm-gpg/RPM-GPG-KEY-elrepo.org
  8.  
    /etc/yum.repos.d
  9.  
    /etc/yum.repos.d/elrepo.repo

4、安装long term版本吧

参考:http://elrepo.org/tiki/kernel-lt

[root@localhost ~]# yum --enablerepo=elrepo-kernel install kernel-lt
 

5、查看已有的内核

  1.  
    # '作为分隔符,查找第一列为menuentry的行,打印改行的第二列,i++打印序号,除了数字和字母其他符号要引起来
  2.  
    [root@localhost ~]# awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg
  3.  
    0 : CentOS Linux (4.4.190-1.el7.elrepo.x86_64) 7 (Core)
  4.  
    1 : CentOS Linux (3.10.0-957.el7.x86_64) 7 (Core)
  5.  
    2 : CentOS Linux (0-rescue-dd6fe5c491024a9486fa9acf832f21a6) 7 (Core)

6、命令设置grub

[root@localhost ~]# grub2-set-default 0
 

7、也可以修改/etc/default/grub,修改完记得重新生成配置文件

  1.  
    [root@localhost ~]# sed -i 's/GRUB_DEFAULT=saved/GRUB_DEFAULT=0/' /etc/default/grub
  2.  
    [root@localhost ~]# cat /etc/default/grub
  3.  
    GRUB_TIMEOUT=5
  4.  
    GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
  5.  
    GRUB_DEFAULT=0
  6.  
    GRUB_DISABLE_SUBMENU=true
  7.  
    GRUB_TERMINAL_OUTPUT="console"
  8.  
    GRUB_CMDLINE_LINUX="rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet"
  9.  
    GRUB_DISABLE_RECOVERY="true"
  10.  
    [root@localhost ~]# grub2-mkconfig -o /boot/grub2/grub.cfg

8、重启即可

9、清理旧内核(可选)

能不清理旧别清理吧,centos允许多内核共存


二、源码编译内核

1、安装必要的包

[root@localhost ~]# yum install gcc ncurses-devel flex bison openssl-devel elfutils-libelf-devel -y
 

2、解压包

  1.  
    [root@localhost ~]# tar xf linux-5.2.11.tar.xz -C /usr/src/
  2.  
    [root@localhost ~]# cd /usr/src/linux-5.2.11/

3、cp一个配置文件稍作修改

  1.  
    [root@localhost linux-5.2.11]# cp /boot/config-3.10.0-957.el7.x86_64 .config
  2.  
    [root@localhost linux-5.2.11]# make menuconfig

加一个NTFS文件系统支持:

  1.  
    [root@localhost linux-5.2.11]# grep -i ntfs .config
  2.  
    CONFIG_NTFS_FS=m
  3.  
    CONFIG_NTFS_DEBUG=y
  4.  
    CONFIG_NTFS_RW=y

4、开始编译

  1.  
    [root@localhost linux-5.2.11]# make -j 4
  2.  
    #经过了一个多小时
  3.  
    [root@localhost linux-5.2.11]# du -sh .
  4.  
    12G .
  5.  
    [root@localhost linux-5.2.11]# find -name ntfs.ko
  6.  
    ./fs/ntfs/ntfs.ko

5、安装模块

  1.  
    [root@localhost linux-5.2.11]# make modules_install
  2.  
     
  3.  
    [root@localhost linux-5.2.11]# ls /lib/modules
  4.  
    3.10.0-957.el7.x86_64 4.4.190-1.el7.elrepo.x86_64 5.2.11-1.0-laowang_linux_x86_64
  5.  
    [root@localhost linux-5.2.11]# du -sh /lib/modules/5.2.11-1.0-laowang_linux_x86_64/
  6.  
    2.7G /lib/modules/5.2.11-1.0-laowang_linux_x86_64/

6、安装内核

[root@localhost linux-5.2.11]# make install
 

7、关机,加个NTFS优盘,使用新内核启动,发现可以识别了

如果只是需要ntfs,只需安装ntfs-3g

  1.  
    [root@localhost ~]# uname -r
  2.  
    5.2.11-1.0-laowang_linux_x86_64
  3.  
    [root@localhost ~]# lsblk -f
  4.  
    NAME FSTYPE LABEL UUID MOUNTPOINT
  5.  
    sdb
  6.  
    └─sdb1 ntfs 小黑屋 A0283A0D2839E2C8
  7.  
    sr0 iso9660 CentOS 7 x86_64 2018-11-25-21-21-31-00
  8.  
    sda
  9.  
    ├─sda2 LVM2_member h2lAZD-7e2i-TiO6-x0Bc-2b41-U15R-iGMXBG
  10.  
    │ ├─centos-swap swap c06f8b43-1b47-4412-bae7-785f3b599368 [SWAP]
  11.  
    │ ├─centos-home xfs c30dee7e-0800-4737-b7b0-90db187eb3f8 /home
  12.  
    │ └─centos-root xfs 444b91d1-7fde-4f5d-9016-ad7b63862a5d /
  13.  
    └─sda1 xfs 3778e6e0-8f51-4843-8b8f-239c8b5e826b /boot
  14.  
    [root@localhost ~]# mount /dev/sdb1 /mnt/usb
  15.  
    [root@localhost ~]# ls /mnt/usb

8、更改启动优先级

  1.  
    #查看下
  2.  
    [root@localhost ~]# awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg
  3.  
    0 : CentOS Linux (5.2.11-1.0-laowang_linux_x86_64) 7 (Core)
  4.  
    1 : CentOS Linux (4.4.190-1.el7.elrepo.x86_64) 7 (Core)
  5.  
    2 : CentOS Linux (3.10.0-957.el7.x86_64) 7 (Core)
  6.  
    3 : CentOS Linux (0-rescue-dd6fe5c491024a9486fa9acf832f21a6) 7 (Core)
  7.  
    #设置5.2内核有限启动
  8.  
    [root@localhost ~]# grep -i default /etc/default/grub
  9.  
    GRUB_DEFAULT=0
  10.  
    #重新生成grub配置文件
  11.  
    [root@localhost ~]# grub2-mkconfig -o /boot/grub2/grub.cfg

9、手动删掉编译的内核

  1.  
    [root@localhost ~]# rm /boot/*5.2.11* -f
  2.  
    [root@localhost ~]# rm /boot/*5.2.11* -f
  3.  
    [root@localhost ~]# rm -rf /lib/modules/5.2.11-1.0-laowang_linux_x86_64/
  4.  
    [root@localhost ~]# rm -rf /usr/src/linux-5.2.11/
  5.  
    [root@localhost ~]# grub2-mkconfig -o /boot/grub2/grub.cfg

CentOS7使用yum和源码升级内核的更多相关文章

  1. 完美原创:centos7.1 从源码升级安装Python3.5.2

    (原创)完美原创:centos7.1 从源码升级安装Python3.5.2 下载Python3.5.2源码:https://www.python.org/downloads/release/pytho ...

  2. centos6.5源码升级内核

    centos6.5源码升级内核 升级前 系统版本:  CentOS5.5 内核版本:  2.6.18-194.el5 升级前做过简单配置文件修改 yum -y upgrade    升级后 系统版本: ...

  3. yum-cron更新 CentOS yum update 不升级内核版本方法

    http://www.360doc.com/content/15/0608/17/15798950_476597844.shtml 相关yum-cron说明有一些 CentOS yum update ...

  4. centos7.1 从源码升级安装Python3.5.2

    http://blog.csdn.net/tengyunjiawu_com/article/details/53535153 centos7.1 从源码升级安装Python3.5.2(我写的,请大家度 ...

  5. CentOS 7上的程序管理:rpm、yum和源码编译安装

    简介 在Linux的早期时代(也许吧?我猜的.也可能是Unix.),想要在系统上安装一款应用程序,是比较复杂的.需要专业的人员自行获取程序的源代码,并且编译安装,这是非常的复杂且需要一定的专业功底的, ...

  6. Linux下安装mysql(yum和源码编译两种方式)

    这里介绍Linux下两种安装mysql的方式:yum安装和源码编译安装. 1. yum安装 (1)首先查看centos自带的mysql是否被安装: # yum list installed |grep ...

  7. Centos 通过yum的方式升级内核

    在安装某些软件时,可能对我们的系统内核版本有要求. 比如在安装docker要满足一定的条件,对于centos系统,要求必须是64位,并且内核版本是3.10以上. 如果你的centos操作系统内核低于3 ...

  8. Linux下rpm、yum和源码三种安装方式详细介绍

    第1章 源码安装 源码包安装会比RPM包安装慢,是因为RPM的软件包是根据特定系统和平台而指定的,经常一种 程序会提供很多RPM包的格式,用户根据系统情况选择适合的RPM包直接安装,而源码包相当于 通 ...

  9. Centos6升级内核方法

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

随机推荐

  1. Nginx设置禁止通过IP访问服务器并且只能通过指定域名访问

    为了避免别人把未备案的域名解析到自己的服务器IP而导致服务器被断网,需要在nginx上设置禁止通过IP访问服务器,只能通过域名访问. 最关键的一点是,在server的设置里面添加这么一行: liste ...

  2. Mokia 摩基亚

    题目链接:[https://www.luogu.com.cn/problem/P4390] 快捷版题意: 维护一个\(W*W\)的矩阵,初始值均为\(S\).每次操作可以增加某格子的权值,或询问某子矩 ...

  3. P1928 外星密码

    题目描述 有了防护伞,并不能完全避免 2012 的灾难.地球防卫小队决定去求助外星种族的帮 助.经过很长时间的努力,小队终于收到了外星生命的回信.但是外星人发过来的却是一 串密码.只有解开密码,才能知 ...

  4. 扩展kmp学习笔记

    kmp没写过,扩展kmp没学过可还行. 两个愿望,一次满足 (该博客仅用于防止自己忘记,不保证初学者能看懂我在瞎bb什么qwq) 用途 对于串\(s1,s2\),可以求出\(s2\)与\(s1\)的每 ...

  5. [报错解决] "MySQL server has gone away" 解决思路

    大概的4个思路 1.超时,超时的阀值有wait_timeout这个参数控制 2.连接被人为的kill 3.发送的SQL语句过大超过max_allowed_packet的大小. (操作的sql语句太长了 ...

  6. 小程序demo项目实践

    今天开始做一个简单的小程序,做的过程中势必会有一些知识经验需要记录 项目初始化 首先创建好一个小程序项目,在app.wxss里面将自带的css样式统统去除,加上自己写的初始化样式 小程序目前不支持*号 ...

  7. 初步学习MySQL

    我们之前学习如何安装MySQL数据库 以及 navicat 管理数据库可视化工具 那么现在主要来学习一下如何使用,(操作数据库有很多方式,终端操作.可视化工具操作.编程语句操作) 我们首先学习在终端操 ...

  8. Python3 输入和输出(二)

    接上一节 1.读写文件的模式图 将字符串写入到文件 foo.txt 中: #!/usr/bin/python3 # 打开一个文件f = open("/tmp/foo.txt", & ...

  9. 2019-06-03 校内python模拟题解(所有非原题)

    一起来女装吧 本题改编自USACO(USA Computing Olympiad) 1.1节的第一题 (感谢lsy同学对本题题面的贡献) 直接计算就好了 chr:将ASCII码转成字符 ord:字符对 ...

  10. Homebrew 使用国内镜像

    在国内的网络环境下使用 Homebrew 安装软件的过程中,可能会长时间卡在 Updating Homebrew ... 方法一:按command + c 取消本次更新操作,直接安装软件 方法二:设置 ...