패키지는 a.deb
현재 파일을 제공하며 /etc/file.conf
더 이상 이 파일을 제공하지 않고 대신 패키지에서 제공하도록 이 패키지를 업데이트하려고 합니다 b.deb
.
dpkg: error processing archive /root/b.deb (--unpack):
trying to overwrite '/etc/file', which is also in package a
지금 dpkg
은 마음에 들지 않습니다 a
. 먼저 패키지를 제거해야 하지만 실제로 업그레이드 프로세스를 제어할 수는 없습니다. 옵션이나 그와 유사한 것을 추가할 수는 없으며 --force-overwrite
저장소와 패키지 자체만 제어할 수 있습니다.
사전 설치된 스크립트로 장난을 칠 수 있나요? 어쩌면 소유권 이전을 수행하는 적절한 방법이 있을까요?
답변1
a
한 패키지( )에서 다른 패키지( b
) 로 파일을 이동하려면 a
더 이상 파일을 설치하지 않도록 업데이트한 다음 b
파일을 설치하도록 업데이트하고 control
해당 파일에서 선언해야 합니다.
Breaks: a (<< ...)
Replaces: a (<< ...)
...
최신 버전은 어디에 있습니까 a
?
dpkg
그런 다음 b
(일부)의 교체를 허용 a
하고 a
충돌 b
하는 버전(즉둘 다 파일을 이동하는 버전을 설치하려고 합니다. Replaces
혼란스러울 수 있습니다. 부분 교체일지라도 작동합니다. 업그레이드할 때 apt
수행할 작업을 알고 있습니다. a
먼저 업그레이드한 다음 업그레이드합니다 b
.
바라보다데비안 정책더 알아보기.