Yum
可以安裝軟體包但 yum 或 rpm 命令看不到嗎?
我想安裝一個 HP CLI 實用程序,所以我首先檢查依賴項並發現需要一個名為 rpmlib 的東西:
[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
我檢查我是否已經安裝但找不到它:
[root@centos2 ~]# rpm -qa | grep -i rpmlib [root@centos2 ~]# yum list installed | grep -i rpmlib [root@centos2 ~]#
我嘗試使用 yum 安裝,並且安裝包沒有任何問題和缺少依賴項。
[root@centos2 ~]# yum list installed | grep -i hp hp-health.x86_64 10.30-1752.15.rhel7 installed
為什麼?
我想知道是否有可能在系統上安裝了一個軟體包,但在使用 rpm 或 yum 命令時找不到?
rpmlib()
依賴項指定 rpm 本身提供的功能,而不是實際的包。需求的版本表示首先具有指定功能的 rpm 版本。
您可以使用以下命令輕鬆顯示哪個包提供此依賴項:
# rpm -q --whatprovides 'rtld(GNU_HASH)' glibc-2.26-16.fc27.x86_64 glibc-2.26-16.fc27.i686
或者:
$ LC_ALL=C sudo dnf whatprovides 'rtld(GNU_HASH)' Last metadata expiration check: 0:03:39 ago on Sat Nov 25 12:40:10 2017. glibc-2.26-16.fc27.x86_64 : The GNU libc libraries Repo : @System Matched from: Provide : rtld(GNU_HASH) glibc-2.26-16.fc27.i686 : The GNU libc libraries Repo : @System Matched from: Provide : rtld(GNU_HASH) glibc-2.26-16.fc27.i686 : The GNU libc libraries Repo : updates Matched from: Provide : rtld(GNU_HASH) glibc-2.26-16.fc27.x86_64 : The GNU libc libraries Repo : updates Matched from: Provide : rtld(GNU_HASH) glibc-2.26-15.fc27.i686 : The GNU libc libraries Repo : fedora Matched from: Provide : rtld(GNU_HASH) glibc-2.26-15.fc27.x86_64 : The GNU libc libraries Repo : fedora Matched from: Provide : rtld(GNU_HASH)
更多關於功能(又名虛擬提供)可以在這裡找到:https ://docs-old.fedoraproject.org/en-US/Fedora_Draft_Documentation/0.1/html/RPM_Guide/ch-advanced-packaging.html#id818305