Apt

使 apt install 忽略失去的軟體包

  • October 27, 2022

我經常發現自己這樣做::~$ sudo apt install php7.4 mysql-server git composer curl apache2 --yes

我有時會得​​到這樣的回應:

Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Package mysql-server is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'mysql-server' has no installation candidate

我怎樣才能避免這種情況?我嘗試重定向 stderr 但沒有運氣。我用Google搜尋無濟於事,但似乎沒有人遇到這種情況。

基本上,我想拋出 apt install 一堆我想安裝的包,如果我弄錯了,我希望程序繼續安裝其餘的包。

提前謝謝了!

apt-get(and apt) 可以-m選擇忽略失去的包。來自man apt-get

-m, --ignore-missing,--fix-missing

忽略失去的包;如果無法檢索包或檢索後未能通過完整性檢查(損壞的封包件),請保留這些包並處理結果。

在某些情況下,將此選項與 一起使用-f可能會產生錯誤。

如果一個包被選擇安裝(特別是如果它在命令行中被提及)並且它不能被下載,那麼它將被靜默地阻止。

配置項:APT::Get::Fix-Missing

引用自:https://unix.stackexchange.com/questions/722595