修补 Linux 设备

此页面包含有关修补 Linux 设备的特定信息。

Linux 上的无内容修补方法

Ivanti 针对 Linux 的修补解决方案与针对 Windows 和 macOS 的修补解决方案不同。 重要的是理解 Linux 无内容修补方法不同于 Windows 和 macOS 的基于内容的修补方法,因为它会导致不同操作系统的修补程序数据在不同时间出现在 Ivanti 产品中。

观看相关视频 (02:44)

对于 Windows 和 macOS,修补程序内容数据在发布到产品以供使用之前由 Ivanti 整理和测试。 有关此过程的完整详细信息,请参阅 Ivanti 社区。我们需要这种方法,因为这些操作系统允许从各种来源安装软件。

Linux 采用不同的方法,使用连接到特定于分发的存储库的程序包管理器来控制已安装软件的部署和维护。 Ivanti 的修补产品使用设备的存储库源来填充修补程序扫描期间所需的修补程序内容。 这是无内容方法,并且使产品更加灵活。 它让您能够使用第三方和内部存储库,而无需 Ivanti 更新其自己的修补程序内容。 此外,一旦存储库中有可用更新,就可以安装它们,而无需 Ivanti 提供修补程序内容更新。

最初,在扫描设备并且上传和处理该设备的数据之前,Neurons 中不会出现 Linux 修补程序数据。 随着扫描更多设备,任何附加数据都会被合并以便掌握整体情况。

Ivanti Neurons for Patch Management 遵循修补 Linux 设备的惯例,即使选择了较早的版本,也将始终更新为存储库中可用的最新程序包。 请注意,对于某些分发来说,这实际上是唯一可用的选项,因为存储库中没有程序包的较早版本。

使用源自 Red Hat Kernel 版本 8.1 - 8.4 的 Linux 发行版附带的原始 dnf 程序包管理器时,dnf 部署前扫描可能会生成不会显示在部署后扫描结果中的误报通知。 Red Hat 在 8.5 版提供的程序包管理器中更正了这个问题,此外,也可以使用命令 sudo dnf update dnf 进行更正。

模块和版本

您不一定能在 Linux 设备上安装程序包的最新版本。

对于 Red Hat Linux 及其衍生的发行版,一台设备可能安装了具有多个流的模块,但一台设备只能启用其中一个流。

模块 A 有三个流,但设备上只启用了其中一个

考虑一下公告希望更新这些类型的模块之一中程序包的情况。

更新具有多个流的模块内程序包

如果新版程序包针对的流与设备上启用的流不同,则更新的程序包不兼容且无法安装。 因此,相比此版本,之后会提供模块程序包的另一版本,以供在设备上安装。

新程序包所依赖的模块流与计算机上启用的流不同,因此无法安装新程序包

类似地,由于模块依赖项,可能会出现最新的程序包尚未安装的情况。 例如,模块 perl-DBD-SQLite 似乎有几个 perl-DBD-SQLite 程序包的模块更新:

  • perl-DBD-SQLite-0:1.58-2.module+el8.1.0+2940+55ca6856.x86_64
  • perl-DBD-SQLite-0:1.58-2.module+el8.1.0+2940+f62455ee.x86_64
  • perl-DBD-SQLite-0:1.58-2.module+el8.2.0+4265+ff794501.x86_64
  • perl-DBD-SQLite-0:1.58-2.module+el8.6.0+13408+461b4ab5.x86_64

但是,每个程序包都依赖于特定的 perl 流。 第一个只在已启用 perl:5.24 时才可安装,最后一个只在已启用 perl:5.32 时才可安装,因此很可能会出现最新版本的程序包无法安装在特定设备上的情况。