我正在寻找代表Solaris 10 软件包数据库的文件 - 如果有这样的东西。原因是我希望能够有效地计算代表当前补丁级别(包括任何第三方软件包)的校验和,以便在可能的回滚之后我可以“证明”回滚是成功的(例如使用 zfs 回滚)快照)。因此,我选择从其中获取数据的包数据库pkginfo
将是一个自然的选择。有任何想法吗?
答案1
Solaris 10 使用/var/sadm/pkg
和/var/sadm/patch
来跟踪软件包和补丁版本。它不像 RPM 那样使用数据库。如果您使用 ZFS 快照作为从补丁回滚的方式,请尝试检查/var/sadm/patch
修补前、修补后和回滚后的内容。
如果您尚未使用该功能,请研究 Solaris 的备用引导环境,尤其是因为您已经在使用 ZFS。 这里是一份帮助您入门的白皮书。您创建 ABE、修补它、激活它,然后重新启动。如果不起作用,请激活之前的引导环境,激活它,然后再次重新启动。这是 Solaris 的一个很棒的功能。
通过这种方法,您将拥有一个可应用补丁的显式副本(或 zfs 快照/克隆),因此出于验证目的,在修补前和修补后环境之间存在清晰的界限。
答案2
不确定我是否遵循您的需要,但您正在寻找的文件很可能是 /var/sadm/install/contents。
正如 MikeA 所指出的,如果您还没有这样做的话,也许您想考虑使用 ABE——它在修补和维护系统方面非常有效且有效,如果您使用 ZFS,则更是如此。