修复“W:某些索引文件下载失败”。 Ubuntu 中的错误

今天似乎有一个 Ubuntu 镜像已关闭,我无法在我的 Ubuntu 20.04 LTS 服务器中安装任何新软件包。 当我尝试更新软件源列表时,出现此错误 – “W:一些索引文件下载失败。它们被忽略了,或者使用了旧的。” 我尝试更新存储库列表几次,重新启动服务器,但我仍然得到同样的错误。 我检查了互联网连接,它工作得很好!

我运行以下命令来更新我的 Ubuntu 服务器:

$ sudo apt update

我遇到了这个错误:

Err:1 https://in.archive.ubuntu.com/ubuntu focal InRelease
  Could not connect to in.archive.ubuntu.com:80 (2403:8940:ffff::f), connection timed out Could not connect to in.archive.ubuntu.com:80 (103.97.84.254), connection timed out
Err:2 https://in.archive.ubuntu.com/ubuntu focal-updates InRelease
  Unable to connect to in.archive.ubuntu.com:https:
Err:3 https://in.archive.ubuntu.com/ubuntu focal-backports InRelease
  Unable to connect to in.archive.ubuntu.com:https:
Err:4 https://in.archive.ubuntu.com/ubuntu focal-security InRelease
  Unable to connect to in.archive.ubuntu.com:https:
Reading package lists... Done                           
Building dependency tree       
Reading state information... Done
All packages are up to date.
W: Failed to fetch https://in.archive.ubuntu.com/ubuntu/dists/focal/InRelease  Could not connect to in.archive.ubuntu.com:80 (2403:8940:ffff::f), connection timed out Could not connect to in.archive.ubuntu.com:80 (103.97.84.254), connection timed out
W: Failed to fetch https://in.archive.ubuntu.com/ubuntu/dists/focal-updates/InRelease  Unable to connect to in.archive.ubuntu.com:https:
W: Failed to fetch https://in.archive.ubuntu.com/ubuntu/dists/focal-backports/InRelease  Unable to connect to in.archive.ubuntu.com:https:
W: Failed to fetch https://in.archive.ubuntu.com/ubuntu/dists/focal-security/InRelease  Unable to connect to in.archive.ubuntu.com:https:
W: Some index files failed to download. They have been ignored, or old ones used instead.

正如您在上面的输出中看到的,其中一个镜像已关闭,我们必须禁用它或将其替换为正常的镜像来修复此错误。

修复“W:某些索引文件下载失败”。 Ubuntu 中的错误

一旦 Ubuntu 镜像重新联机,此错误通常会自行解决。 万一镜子坏了几个小时,请按照下面给出的任何一种方法进行修复。

方法 1 – 查找最佳 Ubuntu APT 存储库镜像

解决此问题的推荐方法是为您的位置找到一个最佳工作的 Apt 存档镜像,并相应地更新您的 /etc/apt/sources.list 文件。 以下指南提供了根据下载速度找到最佳 Ubuntu APT 存储库镜像的所有可能方法。 镜像可能并不总是离您最近的位置,但会提供最佳的下载速率和更新状态。

  • 如何找到最好的 Ubuntu APT 存储库镜像

方法 2 – 切换回原始镜像

在修改源列表之前,它是 强烈建议备份 他们首先:

$ sudo mv /etc/apt/sources.list{,.backup}
$ sudo mv /etc/apt/sources.list.d{,.backup}

Ubuntu 中有一个示例源列表 /usr/share/doc/apt/examples/sources.list 文件。 我们来看看这个文件的内容:

$ cat /usr/share/doc/apt/examples/sources.list

样本输出:

# See sources.list(5) manpage for more information
# Remember that CD-ROMs, DVDs and such are managed through the apt-cdrom tool.
deb https://us.archive.ubuntu.com/ubuntu focal main restricted
deb-src https://us.archive.ubuntu.com/ubuntu focal main restricted

deb https://security.ubuntu.com/ubuntu focal-security main restricted
deb-src https://security.ubuntu.com/ubuntu focal-security main restricted

deb https://us.archive.ubuntu.com/ubuntu focal-updates main restricted
deb-src https://us.archive.ubuntu.com/ubuntu focal-updates main restricted

现在从示例文件创建一个新的源列表,如下所示:

$ sudo mkdir /etc/apt/sources.list.d
$ sudo cp /usr/share/doc/apt/examples/sources.list /etc/apt/sources.list
$ sudo apt update

这会将所有镜像恢复到主服务器,通常是美国的镜像。

添加其他存储库

我们启用了 [Main] 存储库。 此存储库包含 Canonical 支持的免费和开源软件。

如果您想安装社区支持的免费和开源软件包、非免费软件包、完全免费许可下不可用的软件等,您需要启用以下存储库:

  • 受限制的 – 设备的专有驱动程序。
  • 多元宇宙 – 受版权或法律问题限制的软件。
  • 宇宙 – 社区维护的免费和开源软件。

要启用这些存储库,请运行:

$ sudo add-apt-repository restricted
$ sudo add-apt-repository multiverse
$ sudo add-apt-repository universe
$ sudo apt update

您可以检查所有启用的存储库,如下所示:

$ grep ^deb /etc/apt/sources.list

禁用源存储库

如果您查看那个新的 sources.list 文件,源存储库也已启用。 以“deb-src”开头的行表示包含源包的源存储库。 这对开发人员很有用。 如果您是普通用户,则不会。

要禁用源存储库,请打开 /etc/apt/sources.list 文件,只需在开头的行前面放一个井号 (#) deb-src. 注释掉后,该行应如下所示:

#deb-src https://us.archive.ubuntu.com/ubuntu focal-updates main restricted
[...]

现在更新源列表,看看它是否已修复。

如果你住在美国以外,主镜可能会慢一些。 在这种情况下,您可以切换到最近的镜像位置,如下节所述。

方法 3 – 从官方 Ubuntu 镜像中选择最近的镜像

全世界有数百个社区驱动的镜像。 这些镜像为您的 Ubuntu 发行版提供所有软件的存储库和存档。 导航到以下链接以查看所有可用的镜像:

从此链接中,选择您所在的国家或您选择的任何最近的位置。 为了 example,我选择了印度的镜子。

在下一个屏幕中,选择您的 Ubuntu 发行版本。 现在您将获得sources.list 条目,如下图所示。

获取 Ubuntu 的 sources.list 条目

复制这些行并将它们添加到您的 /etc/apt/sources.list 文件中。 如果您不想要源存储库,只需将其注释掉即可。

添加其他存储库

我们只添加了 [Main] 存储库。 要启用其他有用的存储库,例如受限、安全、更新等,请运行:

$ sudo add-apt-repository restricted
$ sudo add-apt-repository multiverse
$ sudo add-apt-repository universe
$ sudo apt update

方法 4 – 从另一个工作系统复制源列表

如果您已经有另一台运行相同 Ubuntu 版本的机器,只需复制 sources.list 文件的内容并在您的系统中使用它们。 这是最简单和最简单的方法。

如果尚未启用其他存储库,例如 Restricted、Multiverse 和 Universe,请执行以下操作:

$ sudo add-apt-repository restricted
$ sudo add-apt-repository multiverse
$ sudo add-apt-repository universe
$ sudo apt update

奖励 – 自动安装更新和安全补丁

这是可选的。 Ubuntu 会定期发布安全更新和补丁。 我们应该安装它们来保护我们的系统。 要自动安装这些更新和补丁,您需要安装“无人值守升级”包并按照以下链接中的说明进行配置。

  • 在 Ubuntu 中自动安装更新和安全补丁

希望这可以帮助。

感谢您的光临!

帮助我们帮助您:

祝你有美好的一天!!