Я хочу установить утилиту 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?
решение1
rpmlib()
зависимости определяют возможности, предоставляемые самим rpm, а не фактическими пакетами. Версия требования представляет собой версию rpm, которая первой имела названную возможность.
решение2
Вы можете легко отобразить, какой пакет предоставляет эту зависимость, используя:
# 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)
Более подробную информацию о возможностях (также известных как Virtual Provides) можно найти здесь:https://docs-old.fedoraproject.org/en-US/Fedora_Draft_Documentation/0.1/html/RPM_Guide/ch-advanced-packaging.html#id818305