centos7更新内核

  • 内核升级

uname -r
# 查看网卡, 不然更新内核之后网卡都无法驱动
lspci -v | grep Ethernet
# 06:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 15)
# 下载并准备好驱动, 升级之后进入系统进行安装, 如果升级之后无法使用网络, 可以使用手机的usb共享网络
https://github.com/mtorromeo/r8168/releases/tag/8.053.00


# 下载
# https://mirrors.aliyun.com/elrepo/archive/kernel/el7/x86_64/RPMS/
# 使用高版本gcc的源编译网卡驱动
https://developer.aliyun.com/mirror/elrepo/
cd /etc/yum.repos.d/
# 删除所有的过期的源
rm -rf ./*
yum reinstall https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm
# 开启源
yum-config-manager --enable elrepo
yum-config-manager --enable elrepo-extras
yum-config-manager --enable elrepo-kernel
# 查看源状态
yum repolist all
# 编辑 /etc/yum.repos.d/elrepo.repo 替换地址
https://mirrors.aliyun.com/elrepo/archive/
# 更新并缓存索引
yum update
yum makecache
# 安装lts长支持内核
yum --enablerepo=elrepo-kernel install \
    kernel-lt \
    kernel-lt-devel \
    kernel-lt-headers \
    kernel-lt-tools \
    kernel-lt-tools-libs \
    kernel-lt-tools-libs-devel
# 如果安装提示冲突,先卸载,再安装
yum remove -y kernel-tools* kernel-headers*
# 网卡, 安装之后没有用,实际并没有安装ko模块
yum --enablerepo=elrepo-kernel install kmod-r8168
find /lib/modules/ -name 'r8168.*'


# 查看原来的grub, 我只EFI所以在/boot/efi/EFI/
awk -F\' '$1=="menuentry " {print i++ " : " $2}' /boot/efi/EFI/centos/grub.cfg
# 0 : CentOS Linux (5.4.278-1.el7.elrepo.x86_64) 7 (Core)
# 1 : CentOS Linux (5.4.274-1.el7.elrepo.x86_64) 7 (Core)
# 2 : CentOS Linux (3.10.0-1160.114.2.el7.x86_64) 7 (Core)
# 3 : CentOS Linux (3.10.0-1160.71.1.el7.x86_64) 7 (Core)
# 4 : CentOS Linux (0-rescue-f32cffb1f9f241e7bcb5fe8f87dd8e54) 7 (Core)

# 查看默认启动项
grub2-editenv list
# saved_entry=CentOS Linux (3.10.0-1160.114.2.el7.x86_64) 7 (Core)

# 重新设置启动项
grub2-set-default "CentOS Linux (5.4.278-1.el7.elrepo.x86_64) 7 (Core)"
# 确认是否设置
grub2-editenv list
# 生成grub.cfg并覆盖生效
grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg
# 重启生效
reboot
# 重启之后网卡驱动丢失,需要安装网卡驱动,可以使用手机的usb共享网络
lspci -v | grep Ethernet
# 06:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 15)
# 重新查看内核版本
uname -r

# 查看网卡驱动
lsmod | grep r8168
find /lib/modules/ -name 'r8168.*'
# /lib/modules/3.10.0-1160.71.1.el7.x86_64/weak-updates/r8168/r8168.ko
# /lib/modules/3.10.0-1160.el7.x86_64/extra/r8168/r8168.ko
# /lib/modules/3.10.0-1160.114.2.el7.x86_64/weak-updates/r8168/r8168.ko