Como lidar com "O seguinte pacote desapareceu do seu sistema ..."?

2

Nos sistemas baseados em dpkg- / apt, é possível encontrar uma mensagem como a seguinte:

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.

O que isso significa? Como devemos lidar com isso?

Nesse caso, qfdevelopment_metapkg é um pacote apt que contém apenas dependências para instalar os pacotes necessários antes de executar o desenvolvimento do projeto qf. Eu tinha instalado o pacote (originalmente) usando:

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

Estou ansioso para saber como os outros lidam com isso, já que não entendo a solução alternativa pela qual me deparei (o que vou listar se não houver respostas).

sábio
fonte

Respostas:

2

Por que deveríamos nos importar: esse problema se manifesta quando uma sudo apt-get upgradeajuda é útil: remover automaticamente todos os pacotes adicionados - porque o pacote que depende deles foi removido.

Gambiarra

Parece que isso resulta do pacote não instalar nada. Resolvi o problema adicionando um script trivial que instalo no diretório bin:

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

O conteúdo deste script list_qf_dev_info é apenas:

#! /bin/sh

apt-cache show qfdevelopment_metapkg

Agora, após a instalação, a presença desse script faz com que o sistema apt / deb mantenha o pacote em vez de fazê-lo desaparecer automaticamente.

Solução alternativa - sem editar deb

Uma solução diferente - que não requer modificação da deb - é apenas instalar novamente no final para esclarecer as coisas:

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

PS

Eu havia esquecido esse problema, pois havia trabalhado com itens não relacionados. Hoje eu estava enfrentando o problema novamente e fiquei brevemente empolgado ao ver que alguém havia perguntado antes de perceber que era a minha pergunta e que não havia respostas, então tive que me atrapalhar.

sábio
fonte