1:root@SERVER:/root # lslpp -l bos.perf.perfstat
Fileset Level State Description
----------------------------------------------------------------------------
Path: /usr/lib/objrepos
bos.perf.perfstat 6.1.9.100 COMMITTED Performance Statistics
Interface
Path: /etc/objrepos
bos.perf.perfstat 6.1.0.0 COMMITTED Performance Statistics
Interface
1:root@SERVER:/root #
不同的版本可能会导致依赖性或构建日期验证问题。 lppchk 和 instfix 命令均未显示此问题。
问:根据 lslpp 的说法,不同的 ODM 拥有不同版本的软件,这是一件健康的事情吗?这是正常的吗?是否有不同的版本并且仍然不会引起问题?
答案1
这是正常的 AIX 行为,而且是一个好兆头——您已经在打补丁了!您至少升级了 perfstat,并希望升级了整个 TL,最多TL9 SP6。该系统安装了 AIX 6.1 的基本级别,然后从那里进行了修补。
lslpp -l bos.perf.perfstat
(小写“l”)输出将根(非共享)ODM 从 usr(可共享)ODM 中分离出来。如果您使用了lslpp -L bos.perf.perfstat
(大写“L”),它会将这两者与最新级别结合起来。您可以使用以下-a
选项查看扩展信息:lslpp -al bos.perf.perfstat
将显示应用于该文件集的所有中间补丁。 /usr/lib/objrepos 路径和 /etc/objrepos 路径之间的版本差异仅意味着根/非共享文件未使用补丁进行更新。在这种特殊情况下,该包的 /etc/objrepos 路径中没有文件 - 请注意NONE
末尾的:
$ lslpp -f bos.perf.perfstat
Fileset File
----------------------------------------------------------------------------
Path: /usr/lib/objrepos
bos.perf.perfstat 6.1.4.0
/usr/lpp/bos.perf/README.perfpmr
/usr/lib/perf/cfg_perfstat
/usr/lib/perf/cfg_perfvmmstat
/usr/lib/drivers/perfvmmstat
/usr/lib/perf
/usr/lpp/bos.perf
/usr/lib/perf/perfstat
Path: /etc/objrepos
bos.perf.perfstat 6.1.4.0
NONE
如果您想要构建日期信息,最好的选择是-L
lslpp 选项,尽管我没有看到任何显示构建日期的现成软件包。无论如何,如果有软件用于-l
收集构建日期信息,则需要更改该软件。
如果您尝试确定已安装软件包的版本信息,我的建议是使用lslpp -Lc
--lslpp -l
这会将 ODM 版本合并到最高级别,并使用冒号分隔的输出(以便于编程解析)。