"다음 패키지가 시스템에서 사라졌습니다..."를 어떻게 처리해야 합니까?

"다음 패키지가 시스템에서 사라졌습니다..."를 어떻게 처리해야 합니까?

dpkg/apt 기반 시스템에서는 다음과 같은 메시지가 나타날 수 있습니다.

The following package disappeared from your system as
all files have been overwritten by other packages:
  qfdevelopment_metapkg
Note: This is done automatically and on purpose by dpkg.

이것은 무엇을 의미합니까? 어떻게 대처해야 할까요?

이 경우 qfdevelopment_metapkg는 qf 프로젝트 개발을 수행하기 전에 필요한 패키지를 설치하기 위해 종속성만 포함하는 적절한 패키지입니다. 나는 다음을 사용하여 (원래) 패키지를 설치했습니다.

sudo dpkg -i qfdevelopment_metapkg-0.3.8-Linux.deb
sudo apt install -f

나는 내가 더듬어 본 해결 방법을 이해하지 못하기 때문에 다른 사람들이 이 문제를 어떻게 처리하는지 알고 싶습니다(답변이 나오지 않으면 나열하겠습니다).

답변1

주의해야 하는 이유: 이 문제는 sudo apt-get upgrade자동 제거 기능이 방금 추가한 패키지를 모두 제거한다는 유용한 제안이 있을 때 나타납니다. 해당 패키지에 의존하는 패키지가 제거되었기 때문입니다.

해결 방법

이는 패키지가 아무것도 설치하지 않았기 때문에 발생하는 것 같습니다. bin 디렉터리에 설치하는 간단한 스크립트를 추가하여 문제를 해결했습니다.

INSTALL(PROGRAMS ${CMAKE_CURRENT_SOURCE_DIR}/list_qf_dev_info DESTINATION bin)

이 list_qf_dev_info 스크립트의 내용은 다음과 같습니다.

#! /bin/sh

apt-cache show qfdevelopment_metapkg

이제 설치 후 이 스크립트가 있으면 apt/deb 시스템이 패키지를 자동으로 사라지게 하는 대신 패키지를 유지하게 됩니다.

대체 해결 방법 - deb를 편집하지 않고

deb 수정이 필요하지 않은 다른 해결 방법은 문제를 해결하기 위해 마지막에 다시 설치하는 것입니다.

sudo dpkg -i qfdevelopment_metapkg-0.3.8-Linux.deb
sudo apt install -f
sudo dpkg -i qfdevelopment_metapkg-0.3.8-Linux.deb

추신

관련 없는 항목을 작업했기 때문에 이 문제를 잊어버렸습니다. 오늘 나는 다시 문제에 직면했고 그것이 내 질문이고 대답이 없다는 것을 깨닫기 전에 누군가가 질문한 것을 보고 잠시 기뻤습니다. 그래서 나는 스스로 그것을 더듬어 봐야 했습니다.

관련 정보