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.cfg0 : 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

centos7-14-升级系统内核到最新版相关推荐

  1. centos7 离线升级/在线升级操作系统内核

    镜像下载.域名解析.时间同步请点击 阿里云开源镜像站 一.前言 CentOS(Community ENTerprise Operating System)是Linux发行版之一,它是来自于Red Ha ...

  2. centos7升级系统内核

    文章目录 说明 分享 安装 查看系统内核 yum升级最新稳定版 导入仓库 查看可安装的软件包 安装更新 设置内核启动顺序 卸载内核 查看内核列表 删除多余内核 总结 说明 centos7 使用yum方 ...

  3. centos7.9 升级python3.9

    centos7.9 升级python3.9 卸载自带python 安装新版 验证安装成功 CentOS7误删python2.7及yum后解决办法 在虚拟环境中升级python 不可行,只能系统中重新装 ...

  4. centos升级系统内核

    centos7升级系统内核 1.查看当前内核版本 uname -a Linux localhost.localdomain 3.10.0-1160.25.1.el7.x86_64 #1 SMP Wed ...

  5. ISE 14.7安装教程最新版(Win10安装)——解决Win10安装完后打不开快捷方式的方法

    ISE 14.7安装教程最新版(Win10安装)--解决Win10安装完后打不开快捷方式的方法 参考文章: (1)ISE 14.7安装教程最新版(Win10安装)--解决Win10安装完后打不开快捷方 ...

  6. centos7.x 升级svn版本到指定版本(1.10)

    centos7.x 升级svn版本到指定版本 为什么要升级? 在测试过程中为了进行代码diff,需要使用svn的一些命令来进行自动化操作,发现本地和服务器的版本不一致,且服务器svn client的版 ...

  7. openssh rpm包_100台CentOS7要升级OpenSSH怎么办?

    背景 现在有 100 台 Centos7 需要升级 OpenSSH 到 8.3,怎么办呢?一台台的操作显然不符合我摸鱼的风格,既然每台操作都一样,Ansible Roles 就有用武之地了. 正常升级 ...

  8. 如何将lnmp 0.5里面的php5.2.14升级到php 5.3.3???

    如何将lnmp 0.5里面的php5.2.14升级到php 5.3.3??? --------------- 注意:不要百度Google找到的教程发来 那个升级不了::: CentOS5.3的php版 ...

  9. 100台CentOS7要升级OpenSSH怎么办?

    100台CentOS7要升级OpenSSH怎么办? https://www.toutiao.com/i6898152133523227144/?tt_from=weixin&utm_campa ...

最新文章

  1. javascript 堆栈_JavaScript调用堆栈-它是什么以及为什么它是必需的
  2. hibernate -- 分页模糊查询中setParameter 和setParameterList
  3. Python3 出现'ascii' codec can't encode characters问题
  4. 【PC工具】200412更新百度网盘下载工具——最终最简单百度网盘下载方法及注意事项...
  5. 数据结构与算法之快速排序
  6. (54)FPGA基础编码D触发器(三)
  7. c语言强化训练作业整理1
  8. NopCommerce支持友好路由
  9. Vertx与Spring配合完成DML操作
  10. 转:Vss2005局域网开发权限设置指南
  11. 数值分析(8)-最佳一致逼近多项式
  12. 修改fstab导致UBUNTU无法启动的解决办法
  13. 关于BMC ipmi oem cmd和redfish
  14. MXF Operational Pattern 1a (OP1a)
  15. vue-awsome-swiper安装和css引入问题
  16. 特斯拉开火,状告5名前员工、小鹏汽车、Zoox身陷漩涡...
  17. 安徽省省二级c语言准考证号查询系统,网办进度考试查询系统
  18. css表格随内容变化,css 使表格随着内容自动适应宽度
  19. POT超阈值模型和极值理论EVT分析
  20. 1天 等于 86400 秒?

热门文章

  1. 《数据结构与算法》—— O(3N)=O(N) ?
  2. android 图片布局技巧,陷阱大师攻略布局方法汇总图文教程
  3. php接入qq登陆,thinkphp5中接入QQ登录方法详解
  4. 现代化基础设施赋能智能制造
  5. 阿里百川码力APP监控 来了! 1
  6. c语言用自动机识别字符串,自动机专题
  7. MATLAB图形界面设计
  8. 正则表达式的基本使用
  9. 电脑截图快捷键ctrl加什么
  10. Swig超详细入门教程(Java调用C/C++, CMake)——更新于2021.12