배포판 전반에 걸친 패키지 버전 관리 [닫기]

배포판 전반에 걸친 패키지 버전 관리 [닫기]

목표는 Fedora, CentOS, RedHat 등과 같은 RPM 기반 배포판에서 패키지 버전을 식별하는 것입니다. 업스트림 버전이 모든 배포판에서 동일하다고 믿을 수 있습니까? 그렇다면 명령줄에서 업스트림 버전 번호를 어떻게 검색(RPM 또는 DEB)합니까?


질문으로 게시할 수 없습니다 -->

.spec 파일에 자동 종속성이 지정된 경우 rpm -qp -requires .rpm에 나열된 이러한 종속성은 가상 패키지입니다. 이러한 가상 패키지는 라이브러리 soname이 아니라 단지 가상 패키지 이름입니다(soname처럼 보이지만).

예를 들어 Fedora 27에서는 이것이 작동합니다.

$ rpm -q --whatprovides "libQt5Core.so.5()(64bit)"        
qt5-qtbase-5.9.2-5.fc27.x86_64   

그러나 이것은 그렇지 않습니다

$ rpm -q --whatprovides libQt5Core.so.5
no package provides libQt5Core.so.5
$ rpm -q --whatprovides libQt5Core
no package provides libQt5Core
$ rpm -q --whatprovides Qt5Core
no package provides Qt5Core

자신의 .rpm 자체가 이러한 라이브러리를 번들로 묶는 경우(즉, 이러한 가상 패키지를 제공하는 경우) 이러한 가상 패키지가 패키지와 함께 제공되기 때문에 시스템에 설치되지 않은 경우 RPM은 불평하지 않습니다.

답변1

각 배포판에는 자체 개발 주기가 있으므로 항상 특정 패키지의 동일한 업스트림 버전을 사용하는 (모든) Linux 배포판에 의존할 수는 없습니다.

배포판 전반에 걸쳐 패키지 이름에 많은 공통점이 있지만 이것이 보장되는 것은 아닙니다. 경험상 패키지 이름은 배포판과 파생된 모든 다운스트림 배포판에서 기본적으로 동일합니다. 예를 들어 Debian과 Ubuntu, Redhat과 CentOS를 생각해 보세요.

관련 정보