apt-get --fix-missing 有什么作用以及何时有用?

apt-get --fix-missing 有什么作用以及何时有用?

从手册页中:

-m, --ignore-missing, --fix-missing
  Ignore missing packages; if packages cannot be retrieved or fail the integrity 
  check after retrieval (corrupted package files), hold back those packages and 
  handle the result. 

  Use of this option together with -f may produce an error in some situations. If a 
  package is selected for installation (particularly if it is mentioned on the 
  command line) and it could not be downloaded then it will be silently held back. 

 Configuration Item: APT::Get::Fix-Missing.

这很令人困惑:

  1. “忽略缺失”和“修复缺失”怎么能成为同一选项的同义词呢?
  2. 在这种情况下,“hold back”是什么意思?
  3. “处理结果”是什么意思?

那么它在什么情况下有用呢?当你尝试安装不在 apt 索引中的软件包时,你会收到以下消息:

E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?

这两个建议(apt-get updateapt-get install --fix-missing...)是否完全等同?

答案1

好的,按顺序:

  • (1)-m忽略丢失的或修复丢失的软件包(相对于-F 破碎的包)。这些选项包括同义词相同的选项。(因为要修复它,从这里忽略它需要自己的怪异 :-) )
  • (2-3) 使用apt-get upgrade或安装/升级时apt-get install somepackage,apt 通常会尝试更新依赖项。这意味着它可能会发现某些软件包需要现有软件包的新版本或更新版本,依此类推,形成依赖级联。如果其中一些软件包缺失或未通过完整性检查,它似乎 暂停这个包裹,并希望你去处理结果如下handle 方法可能的话,它会停止安装需要的软件包。通常它会停止安装这个软件包。
  • (4)apt-get update下载完所需的依赖项列表
    后,您可以重试apt-get install --fix-missing,希望更新后的列表能够自行解决问题。
    这有时非常有用,例如当您在 中添加软件包源时/etc/atp/sources.list,或者软件包索引文件已更新时。

并非所有可以在 Ubuntu 下使用的程序都来自官方 Ubuntu 存储库,并使用相同的版本进行更新——这种情况很少见。

此外,安装可能会因多种原因而突然中断(终止信号、电源短缺、图形驱动程序故障...)在这些情况下,可能无法工作,因此您首先需要使用或使用一些命令apt-get update来解决问题 。 apt-get install --fix-missingdpkg

您可以将其视为或之apt-get install --fix-missing类的命令的轻量级和友好版本。dpkg-reconfigure --alldpkg

相关内容