当前位置: 首页>>技术问答>>正文


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. ‘ignore missing’和’fix missing’如何成为同一选项的同义词?

  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)-m忽略缺失或修复丢失的包(与-f破坏的包相反)。这些选项是同一选项的同义词。 (因为修复它从这里忽略它需要它自己的怪异:-))

  • (2-3)使用apt-get upgradeapt-get install somepackage安装/升级时,通常会尝试更新依赖项。这意味着它可能会发现某些软件包需要现有软件包的新版本或更新版本,依此类推。如果其中一些软件包丢失或完整性检查失败,它似乎暂停此软件包,并希望您按照需求软件包的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

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/6398.html,未经允许,请勿转载。