centos修复内核 装centos7

本篇文章给大家谈谈centos修复内核,以及装centos7对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。

CentOS 7升级内核的三种方式(yum/rpm/源码)

在 CentOS使用过程中,可能需要升级内核以获得性能优化、安全补丁或其他新功能。然而,确保所有程序都支持最新内核版本是关键。本文将介绍三种主要的 CentOS内核升级方式:使用 yum、rpm包或源码编译。

**一、通过 yum安装最新内核**

CentOS 7中,从内核 3.1升级至 4.4(具体版本为 4.17.8),可以通过 yum工具来完成。首先,导入仓库源并查看可安装的软件包,选择是 ML(mainline stable)还是 LT(long term support)版本。安装新内核后,使用命令调整启动顺序,确保系统在下次启动时使用新内核。

**二、使用 rpm包安装特定版本内核**

以安装 LT内核版本 4.415为例,先在 ELRepo源中查找版本。对于较旧版本内核,可能需要手动下载。下载所需的 rpm包后,使用 rpm命令安装新内核。确认已安装的内核版本,并通过设置启动顺序确保系统下次启动时使用新内核。

**三、源码安装内核**

最小化安装 CentOS 7 1804,然后准备安装环境。使用 home下的 kernelbuild目录创建内核编译目录。从清华大学镜像站获取内核源码,确保下载的是最新版本。解压内核源码,并执行 make命令进行编译。根据实际需求配置内核选项,然后安装内核并设置启动顺序。

**四、卸载和降级内核**

如果已经安装了较新的内核版本,再安装较旧版本时可能会遇到冲突。可以通过查看当前系统内核版本,列出所有内核并删除不需要的版本来解决。务必在卸载前确认当前系统是否可以正常运行,以免影响系统稳定性。

通过以上方法,可以灵活地在 CentOS系统中升级、定制或管理内核版本,以适应不同场景的需求。

CentOS系统安装内核时提示/boot分区空间不足问题的解决方法

今天登录服务器,准备使用 yum安装一个软件,习惯性的先 yum update一下,结果最后出现如下错误:

代码如下:

...

Transaction check error:

 installing package kernel-3.10.0-327.4.5.el7.x86_64 needs 20MB on the/boot filesystem

Error Summary

-------------

Disk Requirements:

 At least 20MB more space needed on the/boot filesystem.

看提示是要安装新的 Linux内核包,但/boot文件系统空间不足 20MB。所以更新失败了。

好吧,那就看看/boot下面到底还有多少空间。

代码如下:

df-H/boot

Filesystem     Size Used Avail Use% Mounted on

/dev/sda1      247M 237M  10M 96%/boot

嗯,只有 10M了,电脑是不会撒谎的。怎么办呢,/boot文件系统是很重要的,弄不好系统就挂了,我可不想出现这样的结局,明天可是周六。

网上搜索了一番,原来可以尝试删除旧的内核包来达到清理空间的目的。(文章地址)

先看看有没有旧的内核包:

代码如下:

rpm-qa|grep kernel

kernel-3.10.0-229.14.1.el7.x86_64

kernel-3.10.0-229.11.1.el7.x86_64

kernel-devel-3.10.0-229.11.1.el7.x86_64

kernel-3.10.0-327.4.4.el7.x86_64

kernel-devel-3.10.0-327.4.4.el7.x86_64

kernel-devel-3.10.0-229.14.1.el7.x86_64

kernel-headers-3.10.0-327.4.4.el7.x86_64

kernel-3.10.0-229.el7.x86_64

kernel-tools-libs-3.10.0-327.4.4.el7.x86_64

kernel-tools-3.10.0-327.4.4.el7.x86_64

嗯,有的,那就好。不过开始之前,我还要确认一下当前系统用的是哪个,删错了可不好。

代码如下:

uname-a

Linux... 3.10.0-229.14.1.el7.x86_64#1... GNU/Linux

看样子我只要不动 3.10.0-229.14.1就个版本可以了。我决定删 3.10.0-229.11.1这个版本。

代码如下:

sudo rpm-e kernel-3.10.0-229.11.1.el7.x86_64 kernel-devel-3.10.0-229.11.1.el7.x86_64

然后再看看/boot文件系统的可用大小。

代码如下:

df-H/boot

Filesystem     Size Used Avail Use% Mounted on

/dev/sda1      247M 190M  57M 78%/boot

有 57M了,足够了。再次执行 sudo yum update,更新新的内核包成功。

详解如何在 CentOS 7 中安装或升级最新的内核

虽然有些人使用 Linux来表示整个操作系统,但要注意的是,严格地来说,Linux只是个内核。另一方面,发行版是一个完整功能的系统,它建立在内核之上,具有各种各样的应用程序工具和库。

在正常操作期间,内核负责执行两个重要任务:

作为硬件和系统上运行的软件之间的接口。

尽可能高效地管理系统资源。

为此,内核通过内置的驱动程序或以后可作为模块安装的驱动程序与硬件通信。

例如,当你计算机上运行的程序想要连接到无线网络时,它会将该请求提交给内核,后者又会使用正确的驱动程序连接到网络。

随着新的设备和技术定期出来,如果我们想充分利用它们,保持最新的内核就很重要。此外,更新内核将帮助我们利用新的内核函数,并保护自己免受先前版本中发现的漏洞的攻击。

准备好了在 CentOS 7或其衍生产品(如 RHEL 7和 Fedora)上更新内核了么?如果是这样,请继续阅读!

步骤 1:检查已安装的内核版本

让我们安装了一个发行版,它包含了一个特定版本的内核。为了展示当前系统中已安装的版本,我们可以:

?

1

# uname-sr

下面的图片展示了在一台 CentOS 7服务器上的输出信息:

如果我们现在进入 ,在撰写本文时,我们看到最新的内核版本是4.10.1(其他版本可以从同一网站获得)。

还要考虑的一个重要的事情是内核版本的生命周期-如果你当前使用的版本接近它的生命周期结束,那么在该日期后将不会提供更多的 bug修复。关于更多信息,请参阅内核发布页。

步骤 2:在 CentOS 7中升级内核

大多数现代发行版提供了一种使用yum等包管理系统和官方支持的仓库升级内核的方法。

但是,这只会升级内核到仓库中可用的最新版本-而不是在中可用的最新版本。不幸的是,Red Hat只允许使用前者升级内核。

与 Red Hat不同,CentOS允许使用 ELRepo,这是一个第三方仓库,可以将内核升级到最新版本。

要在 CentOS 7上启用 ELRepo仓库,请运行:

?

1

2

# rpm--import

# rpm-Uvh

在 CentOS 7启用 ELRepo

仓库启用后,你可以使用下面的命令列出可用的内核相关包:

?

1

# yum--disablerepo="*"--enablerepo="elrepo-kernel" list available

接下来,安装最新的主线稳定内核:

?

1

# yum--enablerepo=elrepo-kernel install kernel-ml

最后,重启机器并应用最新内核,接着运行下面的命令检查最新内核版本:

?

1

uname-sr

步骤 3:设置 GRUB默认的内核版本

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

打开并编辑/etc/default/grub并设置 GRUB_DEFAULT=0。意思是 GRUB初始化页面的第一个内核将作为默认内核。

?

1

2

3

4

5

6

GRUB_TIMEOUT=5

GRUB_DEFAULT=0

GRUB_DISABLE_SUBMENU=true

GRUB_TERMINAL_OUTPUT="console"

GRUB_CMDLINE_LINUX="rd.lvm.lv=centos/root rd.lvm.lv=centos/swap crashkernel=auto rhgb quiet"

GRUB_DISABLE_RECOVERY="true"

接下来运行下面的命令来重新创建内核配置。

?

1

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

重启并验证最新的内核已作为默认内核。

恭喜你!你已经在 CentOS 7中升级内核了!

总结

在本文中,我们解释了如何轻松升级系统上的 Linux内核。我们还没讲到另外一个方法,因为它涉及从源代码编译内核,这可以写成一本书,并且不推荐在生产系统上这么做。

虽然它是最好的学习体验之一,并且允许细粒度配置内核,但是你可能会让你的系统不可用,并且可能必须从头重新安装它。

阅读剩余
THE END