Как быть с «следующим пакетом из вашей системы ...»?

279
sage

В системах на основе 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 - это пакет apt, который содержит только зависимости для установки необходимых пакетов перед выполнением разработки для проекта qf. Я установил пакет (изначально), используя:

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

Мне не терпится узнать, как другие справляются с этим, так как я не понимаю обходного пути, через который я наткнулся (который я перечислю, если он не найдется в ответах).

2

1 ответ на вопрос

2
sage

Почему мы должны заботиться: эта проблема проявляется, когда sudo apt-get upgradeуслужливо предлагает, что autoremove удалит все только что добавленные пакеты - потому что пакет, который зависит от них, был удален.

Временное решение

Кажется, это происходит из-за того, что пакет ничего не устанавливает. Я решил проблему, добавив простой скрипт, который я устанавливаю в каталог bin:

INSTALL(PROGRAMS $/list_qf_dev_info DESTINATION bin) 

Содержимое этого скрипта list_qf_dev_info просто:

#! /bin/sh  apt-cache show qfdevelopment_metapkg 

Теперь, после установки, наличие этого скрипта заставляет систему apt / 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 

PS

Я забыл об этой проблеме, так как работал с не связанными предметами. Сегодня я снова столкнулся с проблемой и был немного взволнован тем, что кто-то спросил, прежде чем понял, что это мой вопрос, и что ответов не было, поэтому мне пришлось самому покопаться в нем.

Похожие вопросы