우리 팀은 적절한 업데이트가 어떻게 작동하는지에 대한 어두운 구석에 빠졌으며 탈출구를 찾는 데 도움이 필요합니다.
여기의 컨텍스트는 로컬 저장소의 배포 집합입니다. foo
현재 모든 컴퓨터에 설치되어 있는 패키지가 있습니다 . 또한 , 및 주석이 달린 새 패키지도 있습니다 betterfoo
.Replaces: foo
Conflicts: foo
Provides: foo
이것은 예상대로 작동합니다. 누군가 수동으로 설치한 경우 먼저 제거 betterfoo
하면 foo
파일이 문제 없이 작동됩니다.
이제 문제는 bar
현재 버전 2.0인 두 번째 패키지가 있다는 것입니다. 버전 2.1 업데이트에서는 betterfoo
.
불행하게도 해당 종속성을 버전 2.1에 추가하고 이를 저장소에 넣으면 apt upgrade
업데이트된 패키지가 설치되지 않습니다. 오류가 발생한 것 같습니다 bar: Depends: betterfoo but it is not going to be installed
.
수동으로 수행하면 apt install bar
설치 betterfoo
(교체 foo
)되고 모든 것이 잘 작동합니다. 다시 말하지만, 이 작업을 먼저 수행하면 작동할 것 apt install betterfoo
입니다 apt upgrade
.
설치된 컴퓨터에서 apt upgrade
자동으로 교체 되도록 설정할 수 있는 방법이 있습니까 foo
?betterfoo
bar
몇 가지 추가 참고 사항(해당하는 경우):
- 한 가지 제한 사항:
foo
모든 곳에서 자동으로 교체할 수는 없습니다betterfoo
. - 우리의 설정
foo
은betterfoo
. 이것이 문제의 원인이라면 해결할 수 있습니다. - 마찬가지로
foo
버전 3.0도betterfoo
버전 1.0입니다. 어쩌면Provides:
항목에 버전 번호를 제공 해야 할까요betterfoo
?