apt-get 업그레이드에 의해 자동으로 가져온 Debian 패키지의 이름을 바꿉니다.

apt-get 업그레이드에 의해 자동으로 가져온 Debian 패키지의 이름을 바꿉니다.

버전 1.0을 설치했습니다 package_a. package_bpackage_a를 자동으로 대체하도록 패키지 제어 스크립트(예: 버전 1.1)를 구성하려면 어떻게 해야 합니까 ?

시도했습니다(에서 언급한 대로7.6.2):

Package: package_b
Version: 1.1 
Conflicts: package_a
Provides: package_a
Replaces: package_a

버전 유무에 관계없이(<< 1.1, 대체 및 충돌 관련) 작업했지만 성공하지 못했습니다.

패키지가 저장소에 있으며 apt-get install package_b예상대로 작동합니다. 그러나 패키지는 업그레이드로 감지되지 않습니다.

PS도 시청함방법 2, 그러나 작동하는 것 같습니다 dist-upgrade(테스트되지 않음).

답변1

그렇지 않다~해야 한다apt-get upgrade그 이유는 이것이 직접적인 업그레이드가 아니기 때문입니다 . 이 경우 "업그레이드"하려면 apt제거 package_a하고 설치 해야 하며 apt는 새 버전의 패키지와 기타 종속성이 설치된 상태에서 직접 업그레이드만 수행합니다.package_b설치됨)런타임 apt-get upgrade.

apt-get dist-upgrade반면에 종속성을 충족하기 위해 패키지를 제거하고 패키지를 업그레이드하는 것이 허용됩니다. 이것이 여기서 수행해야 하는 작업입니다.

또한 이것을 지정하면 apt 버전과 일치하지 않으며 package_a (<< 1.0)apt 가 설치되지 않을 수 있습니다 .package_a1.0package_b

관련 정보