请叫我峰子:
感受VPS建站的乐趣。

亲测有效!CentOS 7 停服后(2024-06-30)升级最新的Linux Kernel操作方法

一、关于Linux内核一些小知识
Linux内核是一种开源电脑操作系统内核,类似于Windows一样,它是一个C语言写成的,符合POSIX标准的类Unix操作系统,它最早是由芬兰的Linus Torvalds为尝试在英特尔x86架构上提供自由的类Unix操作系统而开发的。

 在CentOS操作系统下,查看自己的内核相关信息的命令行如下:

查询内核版本:uname -r,即可显示自己的内核版本,一般默认为3.10.0-1127.13.1.el7.x86_64;
当想查询所有信息,比如时区等:uname -a,即可显示内核版本,架构类型(SMP:对称多处理器),时间,时区,处理器架构(X86_64,IA等);
查看centos版本:cat /etc/redhat-release,即可显示自己的CentOS型号;
查看操作系统版本信息:cat /proc/version,功能类似于uname -a;
查看CPU信息:cat /proc/cpuinfo,通过该方式即可查询CPU相关信息,比如CPU核数,CPU主频等信息;
查询CPU运行位数模式:getconf LONG_BIT,通过该方式即可查询CPU工作在32位还是64位模式下,32位不代表CPU不支持64位;
查询服务器名称:hostname,该方式可查询hosts定义的服务器名称;
查询磁盘信息(块):lsblk, 列出所有可用块设备的信息,而且还能显示他们之间的依赖关系,但是它不会列出RAM盘的信息,如图所示:

centos 显示两个内核 查看centos内核_经验分享

查看磁盘实体情况:fdisk -l,可以显示出磁盘的分区情况;
查看每个分区使用情况:df -h,可以看每个分区的大小,使用量和可用量;
查看CPU使用情况:free -h,可以查看CPU的信息,比如CPU容量,CPU使用量,CPU空闲空间,CPU的cache缓存容量;
二、升级内核的准备
①首先需要去查询自己目前的内核版本,然后将重要数据进行备份,因为升级内核万一失败了,还有备份数据可以使用,不然就完了;

②更新仓库:通过yum -y update,将仓库进行更新;

③启用ELRepo仓库:该仓库是基于社区的用于企业级Linux仓库,提供对多个操作系统的支持,方式为:

rpm –import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org

rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm

④确定升级内核的方式:自己找内核包,或者应用yum进行系统版本的更新;其中用yum更新的方式可以选择的内核版本较少,一般为最新的版本或者稳定版等,自己找内核包可供的选择较多,以下为一些内核下载链接:

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/?h=v5.1-rc7
http://rpmfind.net/linux/rpm2html/search.php?query=kernel-devel //开发包下载
http://rpmfind.net/linux/rpm2html/search.php?query=linux
http://www.rpmfind.net/linux/rpm2html/search.php?query=kernel-headers //header包
https://elrepo.org/linux/kernel/el7/x86_64/RPMS/
http://hkg.mirror.rackspace.com/elrepo/archive/kernel/el7/x86_64/RPMS/
三、升级内核
1、yum 升级内核:
①查看可用的系统内核包:首先查看自己操作系统可用的系统内核包,命令行为:

yum –disablerepo=”*” –enablerepo=”elrepo-kernel” list available

一般会有一到两个内核可供选择:比如:4.4.118-1.el7.elrepo(kernel-lt)和4.15.6-1.el7.elrepo(kernel-ml)

②安装最新的内核:如果有多个内核版本可供选择,需要选择对应的内核版本进行安装,命令行为:

yum –enablerepo=elrepo-kernel install kernel-ml

–enablerepo选项可用来选择CentOS系统上查询出来的指定仓库,默认为elrepo,可替换为需要的版本,比如①内的4.4.118-1.el7.elrepo则在install后跟上kernel-lt,4.15.6-1.el7.elrepo则跟上kernel-ml。

2、自己下载的内核包进行安装
(1)如果是下载的RPM包进行安装,则直接通过命令行安装:

rpm -ivh your_kernel_name.rpm

-i:安装一个RPM包;-v:在安装过程中显示正在安装的文件信息;-h:在安装过程中显示正在安装的文件信息及安装进度;

注意:RPM包一般不会包含devel开发包和header包,所以需要在第二部下载对应的包进行安装。

(2)如果下载安装包为tar类型压缩包,则通过以下方式安装:

①#tar -zxvf your_kernel_name.tar.gz 或#tar -xvf your_kernel_name.tar

②然后进入解压好的内核包内:#cd /path/your_kernel

③#make menuconfig //它是一种基于文本选单的配置界面,配置比较直观简单。通过该方式可以进行Linux内核配置,如不需要对内核进行有关配置,则可以跳过或者退出;

④#make //通过make去编译内核,为安装做准备;

⑤#make modules_install //因为一般硬件有很多的驱动,如果在编译内核的时候就将驱动编译到内核,就会让内核变得很大,时间也会更长,所以一般只有部分通用的驱动会编译进去,而其他的则作为模块,通过make modules和make modules_install完成,从而将编译好的内核模块安装到/lib/modules下,这样以后每次系统启动的时候就可以直接从dep下加载模块,而不需要每次手动加载需要的模块;

⑥#make install //在内核和模块都编译完成之后,就需要进行最后的内核安装了。

注意:一般装了系统是没有GCC等编译器的,所以需要安装它们才能进行make等操作,比如gcc,flex,openssl,j4等多个必要软件。

四、设置内核启动顺序
1、查看内核上所有可用的内核

sudo awk -F\’ ‘$1==”menuentry ” {print i++ ” : ” $2}’ /etc/grub2.cfg

centos 显示两个内核 查看centos内核_centos_02

即可看见系统已装内核版本,比如:上图的3.10.0-1127.13.1.el7.x86_64和4.19.37等

2、设置grub2
通过设置该选项,从而改变我们的内核启动顺序,有两种方案:

①通过命令行改变:

grub2-set-default 1 //其中1是第一步等到的4.19.37内核的内核顺序,即可设置好默认从4.19.37内核启动

②通过改配置文件进行改变:

vim /etc/default/grub //通过编辑grub文件也可以改变我们的内核默认启动顺序;内容如下图:

centos 显示两个内核 查看centos内核_运维_03

设置 GRUB_DEFAULT=1,即可以4.19.37为默认内核进行启动,顺序也是从第一步得到的内核顺序。

3、启动和验证
在通过命令行或者更改配置文件的方式改变了启动的默认内核时,需要重新生成boot启动加载文件grub.cfg,命令行如下:

grub2-mkconfig -o /boot/grub2/grub.cfg

reboot

通过该方式去重新生成开机引导文件grub.cfg,并重启,之后启动则可以以更改后的默认内核进行启动;

注意:有时候第一次更改会失败,因为在重启之后,内核的默认启动顺序改变了,所以需要重新做一下更改和配置。

验证方式为:#uname -r //变为你想要的启动内核及已经变更成功,否则按如上注意处理。

五、删除旧版本内核(非必选项)
当我们的操作系统装了多个内核的时候,是很占用咱们的空间的,这个时候就有必要去掉一些不会用到的旧版本内核了,我们一般有两种方式可以去掉旧的内核版本。

1、查看旧的内核版本,可以通过如下方法:

rpm -qa | grep kernel

centos 显示两个内核 查看centos内核_服务器_04

从图中我们可以看到存在两个不同的内核版本,以及它们对应的一些devel开发板和header包等。

2、删除旧版本的内核RPM包:方式1:

yum remove your_kernel_name your_kernel_tools your_kernel_devel your_kernel_headers

通过以上方法即可很方便的将我们不需要的旧版本内核轻松删掉。

3、通过其他工具删除内核:方式2:

使用工具yum-utils,该工具既可以自动的,也可以手动的删除我们不需要的旧版本内核包,如果我们安装的内核不多于3个,则yum-utils工具不会主动删除内核包,但是超过三个时,就会主动的将旧内核版本进行删除;如果想主动删除内核版本则通过以下方式:

①安装yum-utils:# yum install -y yum-utils //系统默认不会有该工具,所以需要自己进行安装

②删除旧版本内核:#package-cleanup –oldkernels –count=X //其中X为需要保留的旧版本内核数量,其他的则会自动删除。

以上即为本人的相关经验!!!!!!!!

赞(0) 打赏
转载请注明:峰网博客 » 亲测有效!CentOS 7 停服后(2024-06-30)升级最新的Linux Kernel操作方法

评论 抢沙发

评论前必须登录!

 

网站建设

企业专线联系我们

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏