我正在运行 CentOS 7,并且我刚刚运行了yum update
。
结果输出中的某些内容让我犹豫是否要y
继续进行更新。
以下是其中的内容:
===============================================================================================================================
Package Arch Version Repository Size
===============================================================================================================================
Installing:
kernel x86_64 3.10.0-327.36.3.el7 updates 33 M
Updating:
kernel-headers x86_64 3.10.0-327.36.3.el7 updates 3.2 M
kernel-tools x86_64 3.10.0-327.36.3.el7 updates 2.4 M
kernel-tools-libs x86_64 3.10.0-327.36.3.el7 updates 2.3 M
Removing:
kernel x86_64 3.10.0-327.13.1.el7 @updates 136 M
通常,如果内核有更新,它就会以更新的形式出现。这种“删除”和“安装”的组合让我感到紧张。
在我继续之前,这样做合理吗?或者我应该做点其他什么吗?
答案1
简短版本:没关系,它正在删除旧版本并安装新版本。
长版:它想删除版本
3.10.0-327.13.1.el7
并安装版本
3.10.0-327.36.3.el7
请注意,它要安装的版本似乎比原先版本要新很多。我发现包管理器倾向于在安装新版本之前删除旧版本,因为该分区很小。它们倾向于在最旧和最新之间保留几个版本,以防您需要回滚。
在 Amazon Linux 上,我的理解是您需要重新启动才能应用新内核,或者至少这是最简单的方法。
对此有更多了解的人可能会纠正我或提供更全面的理解。
答案2
添加到已接受的答案:为什么新的内核包作为新包安装,而不是更新包?
这样做的目的是为了保留较旧/以前的内核软件包,将新软件包与旧软件包并排安装。换句话说,虽然简单的软件包更新会完全覆盖已安装的版本,但将内核更新视为新安装可让您在系统上同时安装(并可用)不同的内核版本。
时不时地,我们会清理旧内核,然后你会看到被删除的内核yum
答案3
对于内核,它不会更新或覆盖任何现有文件。它始终会安装新版本的内核,并且由于分区大小限制,它应该仅保留最后几个内核。
由于它不会覆盖任何文件/文件夹,而是安装新内核,因此如果从新内核启动服务器后出现问题,您仍然可以从旧内核启动服务器。这将允许从以前的内核启动。对于大多数 Linux 发行版,您将获得一个选项,可以在启动时从特定安装的内核启动服务器。
答案4
您通常应该在内核更新可用时接受它们,因为它们包含错误修复和安全补丁。
请注意,Linux 包管理器(yum
在您的情况下)始终会保留一些旧内核(同时删除非常旧的内核),因此如果您注意到新内核有奇怪的行为(您不应该这样做),您始终可以在 GRUB 提示符下启动到旧内核,甚至可以永久恢复到旧内核。