Unix & Linux
yum rpm
Updated Fri, 20 May 2022 06:41:17 GMT

Can a package be installed but not seen by yum or rpm commands?


I want to install a HP CLI utility so I first check the dependencies and find out that something called rpmlib is needed :

[root@centos2 ~]# rpm -qRp hp-health-10.30-1752.15.rhel7.x86_64.rpm  | grep 
rpmlib
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(FileDigests) <= 4.6.0-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(PayloadIsXz) <= 5.2-1

I check if I have it already installed but can't find it :

[root@centos2 ~]# rpm -qa | grep -i rpmlib
[root@centos2 ~]# yum list installed | grep -i rpmlib
[root@centos2 ~]#

I try to install anyway with yum and the package is installed without any problems and depedencies missing.

[root@centos2 ~]# yum list installed | grep -i hp
hp-health.x86_64                        10.30-1752.15.rhel7            installed

Why?

I would like to know if it is possible that a package be installed on a system but not found when using rpm or yum commands?




Solution

rpmlib() dependencies specify capabilities provided by rpm itself, not actual packages. The version of the requirement represents the version of rpm that first had the named capability.





Comments (3)

  • +0 – Ok I understand about rpmlib thanks. However, that doesn't answer my last question. — Nov 23, 2017 at 11:31  
  • +1 – You can extract the files from a package and place them manually, but it isn't "installed" unless rpm knows about it. — Nov 23, 2017 at 11:32  
  • +1 – @Pozinux You could basically remove an installed rpm package just from rpms database, the actual files in that package would still be in place but the package would not be considered "installed" anymore. Refer to rpms --justdb option. — Dec 02, 2017 at 16:08