如何處理“以下軟體包從您的系統中消失...”?

如何處理“以下軟體包從您的系統中消失...”?

在基於 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

我很想知道其他人如何處理這個問題,因為我不明白我摸索出來的解決方法(如果答案中沒有出現,我將列出它)。

答案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

聚苯乙烯

我忘記了這個問題,因為我處理了不相關的項目。今天,我再次遇到這個問題,看到有人問我,我感到很興奮,然後才意識到這是我的問題,而且沒有答案,所以我必須自己摸索。

相關內容