![apt 用于更新软件包列表的实际索引文件在哪里?](https://linux22.com/image/1194614/apt%20%E7%94%A8%E4%BA%8E%E6%9B%B4%E6%96%B0%E8%BD%AF%E4%BB%B6%E5%8C%85%E5%88%97%E8%A1%A8%E7%9A%84%E5%AE%9E%E9%99%85%E7%B4%A2%E5%BC%95%E6%96%87%E4%BB%B6%E5%9C%A8%E5%93%AA%E9%87%8C%EF%BC%9F.png)
我试图安装 yelp-tools。我运行了 sudo apt-get update && sudo apt-get upgrade,然后运行了 sudo apt-get install yelp-tools,但失败了,如下所示:
E: Failed to fetch http://security.ubuntu.com/ubuntu/pool/universe/libx/libxml2/python3-libxml2_2.9.13%2bdfsg-1ubuntu0.2_amd64.deb 404 Not Found [IP: 91.189.91.38 80]
sudo apt-get install --fix-missing yelp-tools
返回相同的错误。
在 repo 中查找:没有 libxml2_2.9.13%2bdfsg-1ubuntu0.2_amd64.deb 的软件包
而是:libxml2_2.9.13%2bdfsg-1ubuntu0.3_amd64.deb
我怀疑在某个地方,有一个包裹列表指向一个由于拼写错误而不存在的包裹。
存储库的索引文件在哪里
http://security.ubuntu.com/ubuntu jammy-security universe
apt-get update 更新软件包索引文件。这些索引文件到底在哪里?我认为其中一个文件有拼写错误。
问题继续存在,但都是相同类型的错误。我安装了较新的 libxml2_2.9.13%2bdfsg-1ubuntu0.3_amd64.deb 包,然后安装了 yelp-tools,它工作正常。但我认为包索引中一定有错误,我应该联系某人吗?我该如何验证?
答案1
实际索引 URL 列在您的apt update
输出中。
以下是 23.04 中的一个例子:
$ sudo apt update
[sudo] password for the_admin:
Hit:1 http://us.archive.ubuntu.com/ubuntu lunar InRelease
Get:2 http://us.archive.ubuntu.com/ubuntu lunar-updates InRelease [90.7 kB]
Get:3 http://security.ubuntu.com/ubuntu lunar-security InRelease [90.7 kB]
Get:4 http://us.archive.ubuntu.com/ubuntu lunar-updates/main amd64 Packages [13.9 kB]
让我们深入研究第一行:
http://us.archive.ubuntu.com/ubuntu lunar InRelease
--becomes--
http://us.archive.ubuntu.com/ubuntu/dists/lunar/InRelease
打开该 URL 会显示实际的包索引。