Ubuntu使用apt install报Failed to fetch

刚装了个 Ubuntu 系统,使用 apt install 安装要用的工具时,会报 Failed to fetch 这个错误,如下:

E: Failed to fetch http://ports.ubuntu.com/ubuntu-ports/pool/universe/o/openjdk-8/openjdk-8-jre-headless_8u312-b07-0ubuntu1~20.04_arm64.deb  404  Not Found [IP: 185.125.190.39 80]
E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?

一般这种情况,我们配置一个国内的镜像即可。这里我们使用清华大学的镜像,使用帮助地址:https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu/

解决该问题的本质

解决该问题的本质,其实就是将 Ubuntu 的软件源配置文件(路径/etc/apt/sources.list)中的数据源替换为清华的镜像地址。

清华的帮助文档给出了两个方案:

  1. 直接替换掉配置文件

  2. 通过命令替换掉文件中的域名信息

因为/etc/apt下的文件都是只读的,通过 vim 修改或者替换都挺麻烦的。所以这里建议直接用第二种方案解决,执行以下命令:

sudo sed -i "s@http://.*archive.ubuntu.com@https://mirrors.tuna.tsinghua.edu.cn@g" /etc/apt/sources.list
sudo sed -i "s@http://.*security.ubuntu.com@https://mirrors.tuna.tsinghua.edu.cn@g" /etc/apt/sources.list

注意踩坑!

sources.list文件中配置的信息,和 Ubuntu 的版本以及架构有关。

如果你是 32/64 位 x86 架构处理器,直接执行就好。如果是 ARM 架构(比如用 M 系列芯片的 MacBook 虚拟机安装的 Ubuntu),官方源为ports.ubuntu.com,因此需要执行以下命令:

sudo sed -i "s@http://ports.ubuntu.com@https://mirrors.tuna.tsinghua.edu.cn@g" /etc/apt/sources.list

最后更新

执行命令sudo apt-get update刷新数据源即可。

你可能感兴趣的:(随手一记,ubuntu,linux,运维)