다음을 고려하세요:
root# rpm -qR foobar
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(PayloadIsLzma) <= 4.4.6-1
root# zypper info --requires foobar
Loading repository data...
Reading installed packages...
Information for package foobar:
-------------------------------
Respository: @System
Name: foobar
...
Requires: java-1_7_0-openjdk
왜지옥Zypper에서는 Java가 필요하다고 말하지만 RPM에서는 그렇지 않다고 생각합니까?
더 중요한 것은 왜 Zypper가 이 패키지를 설치하고아니요자바를 설치하시겠습니까? ? 여기서 무슨 일이 일어나고 있는 걸까요?
답변1
대답은 간단하다는 것이 밝혀졌습니다. RPM 사양 파일에서 이 태그는 이 섹션의 일부로 Requires:
잘못 해석됩니다 . %description
위의 출력은 실제로 다음과 같습니다.
Description:
...
Requires: java-1_7_0-openjdk
이것은 그것을 만든다바라보다Zypper가 말했듯이 패키지에는 Java가 필요하지만실제로설명 필드에는 텍스트만 있습니다. 굴루!
Requires:
사양 파일의 올바른 섹션 으로 이동했으며 이제 모든 것이 정상입니다.