我经常发现自己这样做::~$ 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 但没有运气。我用谷歌搜索没有结果,但似乎没有人遇到这种情况。
基本上,我想扔掉 apt install 一堆我想安装的软件包,如果我出错了,我希望程序继续其余的。
提前谢谢了!
答案1
apt-get
(和apt
)可以-m
选择忽略丢失的包。从man apt-get
:
-m
,--ignore-missing
,--fix-missing
忽略丢失的包裹;如果无法检索包或检索后未通过完整性检查(包文件损坏),则保留这些包并处理结果。
在某些情况下,与 一起使用此选项
-f
可能会产生错误。如果选择安装某个软件包(特别是在命令行中提到该软件包)并且无法下载该软件包,那么它将被静默地阻止。
配置项:
APT::Get::Fix-Missing
.