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

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

Em 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?

Neste caso, qfdevelopment_metapkg é um pacote apt que contém apenas dependências para instalar os pacotes necessários antes de realizar o desenvolvimento do projeto qf. Eu instalei 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 que me atrapalhei (que listarei se não aparecer nas respostas).

Responder1

Por que devemos nos preocupar: esse problema se manifesta quando um sudo apt-get upgradeserviço oferece que o autoremove removerá todos os pacotes recém-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 instalei 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 deste script faz com que o sistema apt/deb mantenha o pacote em vez de fazer com que ele desapareça automaticamente.

Solução alternativa - sem editar deb

Uma solução diferente - que não requer modificação do deb - é apenas instalar novamente no final para resolver 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 tinha esquecido esse problema porque havia trabalhado em itens não relacionados. Hoje eu estava me deparando com o problema novamente e fiquei brevemente animado ao ver que alguém havia perguntado antes de perceber que era minha pergunta e que não havia respostas, então tive que me atrapalhar sozinho.

informação relacionada