centos7-14-升级系统内核到最新版

CentOS 升级系统内核到最新版
Linux centos7升级内核

1 Linux内核都有啥

极客漫画网站turnoff.us
在这里插入图片描述
请添加图片描述

这幅漫画是以一个房子的侧方剖面图来绘画的,使用这样的一个房子来代表Linux内核。

1.1 地基(file system)

作为一个房子,最重要的莫过于其地基,在这个图片里,我们也从最下面的地基开始看起:

在这里插入图片描述
地基(底层)由一排排的文件柜组成,井然有序,文件柜里放置着"文件",即电脑中的文件。

左上角,有一只胸前挂着421号牌的小企鹅,它表示着PID(Process ID,进程ID)为421的进程,它正在查看文件柜中的文件,这代表系统中正有一个进程在访问文件系统。

右下角有一只小狗,它是看门狗(watchdog),这代表对文件系统的监控。

1.2 一层

看完了地基,接下来我们来看地基上面的一层,都有哪些东西。
在这里插入图片描述

1.2.1 进程表(process table)

在这里插入图片描述
在这一层,最引人瞩目的莫过于中间的一块垫子,众多小企鹅围着桌子坐着,这个垫子的区域代表进程表。

左上角有一只站着的小企鹅,仿佛在说些什么,这显然是一位家长式的人物。它代表着Linux内核中的初始化(init)进程,也就是我们常说的PID为1的进程。

桌子上坐的小企鹅都在等待(wait)状态中,等待工作任务。不过看起来周围坐的那些小企鹅不是很听话,走神的、自顾自聊天的。

1.2.2 监控进程(watchdog process)

在这里插入图片描述
垫子(进程表)旁边也有一只小狗,它会监控小企鹅的状态(监控进程),当小企鹅们不听话时,它就会汪汪地叫喊起来。

1.2.3 http进程(httpd process)

在这里插入图片描述
在这层的左侧,有一只号牌为1341的小企鹅,守在门口,门上写着80,说明这个PID为1341的小企鹅负责接待80端口,也就是我们常说的HTTP(网站)的端口。

小企鹅头上有一片羽毛,这片羽毛大有来历,它是著名的HTTP服务器Apache的Logo。
在这里插入图片描述

1.2.4 FTP协议(21端口)

在这里插入图片描述
向右看,我们可以看到这里仍有一扇门,门上写着21,但是看起来这扇门似乎年久失修,上面的门牌号都歪了,门口也没人守着。

看起来这个21端口的FTP协议有点老旧了,目前用的人也比以前少了,以至于这里都没人接待了。

1.2.5 SSH(22端口)

而在最右侧的一个门牌号22的待遇就大为不同,居然有一只带着墨镜的小企鹅守着,看起来很酷,它是黑衣人叔叔吗?为什么要这么酷的一个企鹅呢?

因为22端口是SSH端口,是一个非常重要的远程连接端口,通常通过这个端口进行远程管理,所以对这个端口进来的人要仔细审查。

在这里插入图片描述
它身上写着52,说明它是第52个小企鹅。
在图片的左上角,有一个向下的台阶,这个台阶是通向底层文件系统的,进程们可以通过这个台阶,到文件系统中去读取文件,进行操作。
在这里插入图片描述

1.2.6 定时任务(crontab)

在这里插入图片描述
在这一层中,有一个身上写着217的小企鹅,它正满头大汗地看着自己的手表。这只小企鹅就是定时任务(Crontab),它会时刻关注时间,查看是否要去做某个工作。

1.2.7 管道(PipeLine)

在这里插入图片描述
在图片的中部,有两个小企鹅扛着管道(pipeLine)在行走,一只小企鹅可以把自己手上的东西通过这个管道,传递给后面的小企鹅。不过怎么看起啦前面这只企鹅(男)累得满头大汗,而后面那只企鹅(女)似乎游刃有余。

1.2.8 Wine进程(Wine Process)

在这里插入图片描述
在这一层还有另外的一个小企鹅,它手上拿着一杯红酒,身上写着411,看起来有点不胜酒力。它就是红酒(Wine)小企鹅,它可以执行一些来自Windows的任务。

在这里插入图片描述

1.3 跃层

在一层之上,还有一个跃层,这里有很多不同的屏幕,每个屏幕上写着TTY(这就是对外的终端)。
比如说最左边tty4上输入了freshmeat。
它旁边的tty2和tty3就正常多了,看起来是比较正常的命令。
tty7显示的图形界面,图形界面(X Window)一般就在7号终端。
tty5和tty6是空的,这表示这两个终端没人用。
tty1呢?
在这里插入图片描述
tty(终端)是对外沟通的渠道之一,但是不是每一个进程都需要tty,某些进程可以直接通过其它途径(比如端口)来和外部进行通信,对外提供服务。所以这一层不是完整的一层,只是个跃层。

在这里插入图片描述
在这里插入图片描述

2 Centos7更新内核

2.1 centos7默认内核版本

系统版本:CentOS 7.x
CentOS 7.x默认内核版本是Linux 3.10,我们需要部署K8s等项目需要高版本的内核。
一、Linux Kernel官方网站
在这里插入图片描述
(1)Prepatch:Prepatch 或 “RC” 内核是主要的内核预发行版本,主要针对内核开发人员和 Linux 爱好者。必须从源代码进行编译,并且通常包含必须在可以放入稳定版本之前进行测试的新功能。Prepatch 内核由 Linus Torvalds 维护和发布。
(2)Mainline:Mainline 主线树由 Linus Torvalds 维护。这个版本的内核会引入所有新功能。新的 Mainline 内核每 2-3 个月发布一次。
(3)Stable:每个主线内核被发布后,即被认为是“stable”。任何对 stable 内核的 BUG 修复都会从 Mainline 主线树中回溯并由指定的 stable 内核维护人员使用。 在下一个主线内核可用之前,通常只有几个 BUG 修复内核版本 - 除非它被指定为“longterm maintenance kernel(长期维护内核)”。stable 内核更新按需发布,通常每月 2-3 次。
(4)Longterm:通常会提供几个“longterm maintenance”内核版本,用于修复旧版内核的 BUG。这些内核只会修复重大 BUG,并且不会频繁发布版本。

二、ELRepo源网站
在这里插入图片描述
ELRepo项目重点关注与硬件相关的软件包,以增强您使用Enterprise Linux的体验。这包括文件系统驱动程序、图形驱动程序、网络驱动程序、声音驱动程序、网络摄像头和视频驱动程序。

(1)检查当前 CentOS 系统版本
#cat /etc/redhat-release
CentOS Linux release 7.8.2003 (Core)
(2)检查当前CentOS系统内核版本
#uname -sr
Linux 3.10.0-1127.el7.x86_64

2.2 升级系统

yum clean all #清除缓存
yum makecache fast #重新建立缓存
yum update -y #升级系统
reboot #重启系统

2.3 使用ELRepo源升级内核

(1)导入公钥
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
(2)CentOS-7安装ELRepo
yum install https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm
(3)备份文件
cp /etc/yum.repos.d/elrepo.repo /etc/yum.repos.d/elrepo.repo.bak 
(4)查看有哪些内核版本可供安装
yum --disablerepo="*" --enablerepo="elrepo-kernel" list available
内核版本说明:
#kernel-ml #主线版本,比较新,该版本比较激进,慎重选择。
#kernel-lt #长期支持版本,比较旧,安装的长期稳定版本,稳定可靠。
(5)安装新内核,这里安装长期版本
yum --enablerepo=elrepo-kernel install kernel-lt

在这里插入图片描述

2.4 设置系统默认内核

为了让新安装的内核成为默认启动选项,你需要如下修改GRUB配置:

(1)查看系统上的所有可用内核
awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg

0 : CentOS Linux (5.4.191-1.el7.elrepo.x86_64) 7 (Core)
1 : CentOS Linux (3.10.0-1127.el7.x86_64) 7 (Core)
2 : CentOS Linux (3.10.0-1062.el7.x86_64) 7 (Core)
3 : CentOS Linux (0-rescue-adb83bd7911b1c45a946d60a476f19d1) 7 (Core)
(2)设置默认内核为我们刚才升级的内核版本
cp /etc/default/grub /etc/default/grub-bak #备份
grub2-set-default 0 #设置默认内核版本

或者
vi /etc/default/grub
GRUB_DEFAULT=saved修改为:
GRUB_DEFAULT=0
:wq! #保存退出

(3)重新创建内核配置
grub2-mkconfig -o /boot/grub2/grub.cfg

(4)查看默认内核
grub2-editenv list

(5)重启
reboot
现在系统默认内核已经是我们刚才升级后的最新版本
uname -sr
yum makecache #更新软件包

3 问题及解决

CentOS7用yum安装软件显示错误:cannot find a valid baseurl for repo: base/7/x86_64。
解决方案如下:

cd /etc/yum.repos.d/
mv CentOS-Base.repo CentOS-Base.repo.bak
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

皮皮冰燃

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值