运行 apt-get 更新时,“Ign”、“Get”或“Hit”是什么意思?

bru*_*uce 83 updates apt ppa repository

我在 sudo apt-get update 的输出中有一堆错误:重复条目和 404 未找到错误。

想通了这些,我希望:我删除了与它们没有任何关联的包的 PPA,然后我删除了/etc/apt/sources.list.

看来我已经把它搞砸了。现在大部分台词都说Ign when I do sudo apt-get update

我该如何理顺我搞砸的事情?我需要摆脱这些Ign到处都是。大概有50%(眼球猜测)Igns!

Bru*_*ira 72

当您使用apt-get update它时,它会验证是否需要下载相同的更新索引,如果不需要,则不会再次下载相同的更新索引。

  • Hit 意味着 apt 检查了包列表上的时间戳,那些匹配并且没有变化。

  • Ign 意味着 pdiff 索引文件没有变化,它不会再次下载它。

  • Get 意味着 apt 检查了包列表上的时间戳,有更改并将被下载。

没什么好害怕的,它只是意味着不需要再次下载更新的索引,您拥有的索引是最新的。

  • 这个答案是不正确的。`Ign` 表示 `apt` 尝试下载某些内容(例如翻译或 `InRelease` 文件)但没有找到,但可以忽略。继续下一步。`Hit` 表示 `apt` 需要下载 `Release` 文件(因为不知何故它被删除了),一旦下载,它会检查 Package 文件的校验和,发现新下载的 `Release` 文件中提到的校验和与已经存在的包文件的校验和匹配。这是一个“命中”。因此,它不会再次下载`Package` 文件。 (14认同)
  • 我已经查看了来自“apt”的源文件 acqprogress.cc,它也似乎矛盾:它输出“Ign”`if (Itm.Owner->Status == pkgAcquire::Item::StatDone)` - StatDone 意味着文件已下载(参见acquire-item.h),但输出Ign 的块是失败下载的错误处理块……这似乎超出了我的初学者编码理解。只是标记与 superuser.com 的矛盾。 (8认同)
  • 这似乎与 http://superuser.com/questions/454867/how-do-ign-and-hit-affect-apt-get-update 相矛盾,它说 Ign 是一个错误条件。 (3认同)

Anw*_*war 31

这个问题的正确答案是:

  • Ign表示apt尝试下载某些内容(例如翻译或InRelease文件)但没有找到,但可以忽略,因此继续下一步。因为翻译可以是次要的,如果InRelease找不到文件,它会使用其他方法进行身份验证,例如使用ReleaseRelease.gpg配对。

  • Hit意味着apt需要下载一个Release文件或InRelease文件(因为不知何故它被删除了),一旦它被下载,它就会检查其中的索引文件的校验和,发现那里提到的校验和与已经下载的包文件的校验和匹配。/var/lib/apt/lists. 这就是为什么它是一个Hit. 因此,它不会Package再次下载该文件。


从以下位置找到答案: