升级Linux内核(CentOS 7)

一、关于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盘的信息,如图所示:

                                  

  • 查看磁盘实体情况: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更新的方式可以选择的内核版本较少,一般为最新的版本或者稳定版等,自己找内核包可供的选择较多,以下为一些内核下载链接:



三、升级内核

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

即可看见系统已装内核版本,比如:上图的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文件也可以改变我们的内核默认启动顺序;内容如下图:

设置 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

 

从图中我们可以看到存在两个不同的内核版本,以及它们对应的一些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为需要保留的旧版本内核数量,其他的则会自动删除。


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

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值