如何检查是否提供了 rpm 虚拟包?

如何检查是否提供了 rpm 虚拟包?

我想检查 java-11-headless 是否已安装。java-11-headless 是一个虚拟包,它由 java-11-openjdk-headless.x86_64 包提供。我不关心包具体提供了什么 java-11-headless,我只想检查 java-11-headless 是否已安装。

我在 Google 上搜索了我的问题,所有答案都涉及检查某些包(例如 java-11-openjdk-headless.x86_64),而不是虚拟包(java-11-headless)。

如下所示,java-11-openjdk-headless.x86_64 已安装:

[root@21b70cb5fc59 /]# rpm -q java-11-openjdk-headless.x86_64
java-11-openjdk-headless-11.0.16.1.1-1.el7_9.x86_64
[root@21b70cb5fc59 /]# echo $?
0 

[root@21b70cb5fc59 /]# yum list installed java-11-openjdk-headless.x86_64
Loaded plugins: fastestmirror, ovl
Loading mirror speeds from cached hostfile
 * base: artfiles.org
 * extras: centos.bio.lmu.de
 * updates: centos.intergenia.de
Installed Packages
java-11-openjdk-headless.x86_64

不幸的是,我不知道如何检查 java-11-headless 是否已安装。

[root@21b70cb5fc59 /]# rpm -q java-11-headless
package java-11-headless is not installed
[root@21b70cb5fc59 /]# echo $?
1


[root@21b70cb5fc59 /]# yum list installed java-11-headless
Loaded plugins: fastestmirror, ovl
Loading mirror speeds from cached hostfile
 * base: artfiles.org
 * extras: centos.bio.lmu.de
 * updates: centos.intergenia.de
Error: No matching Packages to list
[root@21b70cb5fc59 /]# echo $?
1

相关内容