RHEL 6.6과 같은 다른 마이너 버전이 아닌 해당 마이너 버전(예: RHEL 6.4)에만 설치되도록 RH의 특정 마이너 버전에 대한 RPM을 빌드해야 합니다.
또한 rpm/yum이 부적합한 플랫폼(위 예에서는 RHEL 6.6)에 이 pkg를 설치하는 경우 나머지 pkg도 계속 설치해야 합니다.
나는 주위를 둘러보았지만 /usr/lib/rpm/rpmrc
효과가 있는 것을 찾을 수 없었다.
답변1
rpm %pre
스크립트를 사용하십시오(참조:http://www.rpm.org/max-rpm/s1-rpm-inside-scripts.html) rpm 설치 전에 시스템을 확인할 수 있습니다(예 /etc/redhat-release file
: ). 하지만 설치가 실패하도록 내버려 두는 것 외에는 할 수 있는 일이 없다고 생각합니다.
필요하지 않은 시스템에서 설치를 건너뛸 수 있는 한 가지 방법은 설치된 파일을 임시 폴더에 저장하는 rpm을 구축하는 것입니다. 그런 다음 설치 스크립트는 %post
시스템 버전을 확인하고 필요한 경우 파일을 올바른 위치에 복사할 수 있습니다. %preun
제거 작업도 올바르게 실행되도록 하려면 또는 스크립트를 사용해야 합니다 %postun
.
답변2
Redhat-release 패키지에 Requires:를 추가하고 6.4와 같은 특정 버전을 지정할 수 있습니다.
redhat-release RPM의 모든 메타데이터를 확인하고 어떤 메타데이터가 적절한지 확인하겠습니다.