今天似乎有一个 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:http: Err:3 https://in.archive.ubuntu.com/ubuntu focal-backports InRelease Unable to connect to in.archive.ubuntu.com:http: Err:4 https://in.archive.ubuntu.com/ubuntu focal-security InRelease Unable to connect to in.archive.ubuntu.com:http: 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:http: W: Failed to fetch https://in.archive.ubuntu.com/ubuntu/dists/focal-backports/InRelease Unable to connect to in.archive.ubuntu.com:http: W: Failed to fetch https://in.archive.ubuntu.com/ubuntu/dists/focal-security/InRelease Unable to connect to in.archive.ubuntu.com:http: 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 发行版提供所有软件的存储库和档案。 导航到以下链接以查看所有可用镜像:
- Ubuntu 官方存档镜像
从此链接中,选择您所在的国家/地区或您选择的任何最近的位置。 例如,我在印度选择了一面镜子。