apt-get --fix-missing 有什么作用,什么时候有用?

Ste*_*ett 52 package-management apt

从手册页:

-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.
Run Code Online (Sandbox Code Playgroud)

这令人困惑:

  1. “忽略丢失”和“修复丢失”如何成为同一选项的同义词?
  2. 在这种情况下,“阻止”是什么意思?
  3. “处理结果”是什么意思?

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

E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?
Run Code Online (Sandbox Code Playgroud)

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

Has*_*tur 42

好的,按顺序:

  • (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-missing或解决问题一些dpkg 命令。

您可以将或apt-get install --fix-missing等命令视为简单友好的版本。dpkg-reconfigure --alldpkg

  • 这已经得到了大量的支持,但对于其中一个,我一个字也听不懂。 (43认同)