rpm --동일 패키지를 업그레이드하면 파일 충돌이 발생함

rpm --동일 패키지를 업그레이드하면 파일 충돌이 발생함

여러 파일이 포함된 사용자 정의 패키지를 설치했습니다.

두 번째로 실행하면 rpm --upgrade많은 오류가 발생합니다.

File ABC from install of mypackage-1.0-0.i386 conflicts with file from package mypackage-1.0-0.i386

RPM이 오류 코드 5로 종료됩니다.

하지만 동일한 버전 번호를 가진 동일한 패키지입니다! "이미 설치됨"이라고 표시되어서는 안 되나요? 이 문제를 방지하려면 spec 파일이나 rpm 업그레이드 명령에 대해 어떻게 해야 합니까?

실행 중 rpm --upgrade --replacefiles"패키지mypackage-1.0-0.i386이미 설치됨", 종료 코드 5

(파일이 변경되지 않았다면 파일을 교체하고 싶지 않습니다...

몇 가지 오류 메시지

답변1

몇 가지 옵션이 있습니다. 가장 쉬운 방법은 rpm -U(업그레이드) 명령이 정상적으로 작동 하도록 새 패키지를 빌드할 때 버전 및/또는 릴리스를 늘리는 것입니다 . 그렇게 하고 싶지 않다면 rpm -U --replacefiles --replacepkgs패키지를 효과적으로 다시 설치하는 데 사용할 수 있습니다. 세 번째 옵션은 "새" 패키지를 설치하기 전에 패키지를 제거하는 것입니다.

이러한 모든 경우에 일반 페이로드의 일부인(즉, noreplace구성 파일로 표시되지 않은) 모든 파일은 최신 버전으로 대체됩니다. 이것이 바로 RPM이 작동하는 방식입니다. 변경된 사항만 업데이트하는 경로로 가고 싶다면 이전 버전과의 차이점만 포함된 DRPM 패키지(델타 RPM) 생성을 살펴봐야 합니다. 이를 위해서는 다시 빌드할 때 버전 및/또는 릴리스 번호를 늘려야 합니다. 저는 델타 RPM 패키지를 사용해본 적이 없기 때문에 이에 대해 어떤 조언도 드릴 수 없습니다.

관련 정보