当您更新内核并删除最旧的内核时,它会删除您所在的内核吗?

当您更新内核并删除最旧的内核时,它会删除您所在的内核吗?

这就是发生的事情。 cpanel更新了,在更新过程中也更新了我的内核。它需要重新启动。

重新启动时,我遇到了内核恐慌。幸运的是,我有 IPMI,并且能够轻松切换回最旧的内核。这是最后一次尝试,因为其他内核除了最旧的内核外都不起作用。

所以,现在我使用的是最旧的内核(它不是老,只是比其他人老)。为了避免这个问题,并且由于内核更新仍在等待中,我决定使用 ssh 通过 ssh 运行内核更新yum update -y kernel

我唯一担心的是它可能会删除我当前的内核。

这是我得到的。也许你可以帮我确认一些事情。

在安装过程中,我得到了以下信息:

Removed:
  kernel.x86_64 0:3.10.0-693.11.1.el7

Installed:
  kernel.x86_64 0:3.10.0-862.3.3.el7

因此,这是在此更新期间删除的旧内核,而新内核将在重新启动时激活。

我检查了我当前使用的内核:

# uname -r
3.10.0-693.17.1.el7.x86_64

我检查了已安装内核的列表:

# rpm -qa kernel
kernel-3.10.0-862.3.3.el7.x86_64
kernel-3.10.0-862.3.2.el7.x86_64
kernel-3.10.0-693.17.1.el7.x86_64

如果我是正确的,从这个信息看起来它没有删除我当前的内核(但我不确定),而是最古老的,除了我所在的那一个。

如果是这样的话,我是安全的,因为如果它回到内核恐慌,那么我可以再次切换回这个内核。

否则,我会浪费 3 天的时间来尝试重新安装所有东西。可以肯定的是,我确实做了完整备份,但如果我在解决问题之前没有重新启动,那么仍然从头开始重新安装将需要数天的工作,这是不必要的。

如果我的提供商允许我将另一个 SSD 连接到整个驱动器(如果它不起作用),那么这将是一个挑战 - 特别是如果我不需要这样做。因为,如果我提前知道,我可以对另一个 SSD 执行 DD,以便在更新失败时将其换回以进行工作(或者这甚至可以工作吗?如果内核丢失,它仍然需要启动!)

总的来说,这里关心的是当内核数量有限时是否删除现有内核(我将其设置为最大 3 - 现在更改它为时已晚)。

对于 CentOS 开发人员来说,永远不要删除现有内核作为故障保护是有意义的。我只是想在冒着重启并可能给自己带来大量工作的风险之前百分百确定这一点。

当然,最终这个问题需要得到解决。但是,我可以等到一个星期,那时我没有一百万件事要做,而且我现在根本没有时间做三天不需要的工作,特别是当目前事情肯定会很好地进行到下一个重启。此时,我可以将重新启动推迟到稍后日期,并保持我的服务器和所有站点正常运行。

那么,综上所述,在进行CentOS 7内核更新时,是否在内核数量有限的情况下删除现有内核?

非常感谢,感谢您的帮助。我认为这个问题对其他人在各种情况下都有用。

答案1

yum除非明确指示,否则永远不会删除当前正在运行的内核。-devel不管怎样,它都会更新相关的包。

相关内容