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)
기능(가상 제안이라고도 함)에 대한 자세한 내용은 여기에서 확인할 수 있습니다.https://docs-old.fedoraproject.org/en-US/Fedora_Draft_Documentation/0.1/html/RPM_Guide/ch-advanced-packaging.html#id818305