使用 Puppet 进行修补

使用 Puppet 进行修补

我是 Puppet 的新手,我想知道它是否是 Solaris 和 Linux 上补丁/pkg 管理的有效解决方案。我对 Solaris 方面更感兴趣。到目前为止,我找不到任何相关文档。我在哪里可以找到有关如何处理此问题的文档?

答案1

补丁管理是一个非常广泛的主题,可能会有公司政策等变量。因此,没有适合所有需求的现成解决方案,因此,puppet 仅附带工具创建符合您特定要求的解决方案。

对于基于 Rpm 或 Apt 的 Linux,你所需要的只是自定义存储库,可以通过 rsync 创建,或者回购或卫星或纸浆。然后使用 puppet 将服务器指向这些存储库。然后 Puppet 可以使用 Rpm 或 Apt 来管理包为您服务。(查看该网站上的其他页面)

Pulp 还允许您跟踪哪些服务器上存在哪些 RPM 包,并远程安装它们。您可以使用 puppet 在您的服务器上安装和配置 Pulp。顺便说一句,Pulp 是一款新产品,还不太成熟。Pulp 提供的功能可以通过 puppet 构建,只需经过一番思考和努力即可。

对于 Solaris,如果是单独的包,则可以使用“pkgadd”提供者

有选择地安装多个 Solaris补丁或者安装“所有最新”补丁,你可以使用外部脚本和 puppet“Exec”。

有一个流行的开源脚本,人们用它来管理 Solaris 上的补丁。主成分分析。使用 PCA,您可以创建 Sun 补丁的内部镜像,并配置服务器以使用这些镜像,而不必前往互联网。

对于安装 Solaris,您可以使用“黑猫“来自 OpenCSW 的工具来构建内部软件包存储库。然后,您可以在 Puppet 中使用“pkgutil”来安装内部(和 CSW)Solaris 软件包。

您的架构将变得与 Linux + yum 或 Apt 非常相似。

答案2

Solaris(至少到 10 为止)与 Linux 略有不同,因为它有“补丁”,与“软件包”不同。因此,为了提供一些关于您可以在 Solaris 中执行以下操作:

在非常基本的层面上,你可以告诉 Puppet 做一些onlyif外部命令成功的事情,或者unless外部命令成功的事情。

因此,从 Solaris 补丁的角度考虑,您可以自己编写一个小模块来确保安装特定的补丁。该模块会/var/sadm在应用补丁之前检查(例如,通过解析“showrev -p”的输出,或者如果您有信心,也可以悄悄地检查)该补丁是否尚未应用。

相关内容