CentOS7使用yum和源码升级内核

匿名 (未验证) 提交于 2019-12-02 23:57:01

两种方式升级内核

一、yum升级内核

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

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

1、uname -r

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

2、备份数据

3、按照官方导入epel仓库

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

[root@localhost ~]# yum install https://www.elrepo.org/elrepo-release-7.0-4.el7.elrepo.noarch.rpm -y #就是一个repo仓库文件 [root@localhost ~]# rpm -ql elrepo-release-7.0-4.el7.elrepo.noarch /etc/pki/elrepo /etc/pki/elrepo/SECURE-BOOT-KEY-elrepo.org.der /etc/pki/rpm-gpg /etc/pki/rpm-gpg/RPM-GPG-KEY-elrepo.org /etc/yum.repos.d /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、查看已有的内核

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

6、命令设置grub

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

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

[root@localhost ~]# sed -i 's/GRUB_DEFAULT=saved/GRUB_DEFAULT=0/' /etc/default/grub [root@localhost ~]# cat /etc/default/grub  GRUB_TIMEOUT=5 GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)" GRUB_DEFAULT=0 GRUB_DISABLE_SUBMENU=true GRUB_TERMINAL_OUTPUT="console" GRUB_CMDLINE_LINUX="rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet" GRUB_DISABLE_RECOVERY="true" [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、解压包

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

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

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

加一个NTFS文件系统支持:

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

4、开始编译

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

5、安装模块

[root@localhost linux-5.2.11]# make modules_install  [root@localhost linux-5.2.11]# ls /lib/modules 3.10.0-957.el7.x86_64  4.4.190-1.el7.elrepo.x86_64  5.2.11-1.0-laowang_linux_x86_64 [root@localhost linux-5.2.11]# du -sh /lib/modules/5.2.11-1.0-laowang_linux_x86_64/ 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

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

8、更改启动优先级

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

9、手动删掉编译的内核

[root@localhost ~]# rm /boot/*5.2.11* -f [root@localhost ~]# rm /boot/*5.2.11* -f [root@localhost ~]# rm -rf /lib/modules/5.2.11-1.0-laowang_linux_x86_64/ [root@localhost ~]# rm -rf /usr/src/linux-5.2.11/ [root@localhost ~]# grub2-mkconfig -o /boot/grub2/grub.cfg 
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!