Ubuntu 24.04 LTS arm64架构软件包缺失问题求助
我在一家小型云服务商那里运行着一台基于ARM的虚拟机,系统是Ubuntu 24.04 LTS(GNU/Linux 6.8.0-40-generic aarch64)。今天我没法安装新软件包,apt update和apt upgrade都失败了,提示缺少软件包。
我试了好几个镜像源,但所有源的Arm64架构软件包都有缺失。刚才我用浏览器手动查看某个镜像的时候,发现其他文件夹的修改日期都是今天,唯独Arm64相关的好像不对。
想问问大家:为什么Arm64的软件包会缺失?会不会是正在构建中?大概什么时候能恢复正常可用?
下面是sudo apt update命令输出的末尾部分:
Fetched 634 kB in 1s (455 kB/s) Reading package lists... Done E: Failed to fetch http://security.ubuntu.com/ubuntu/dists/noble-security/main/binary-arm64/Packages 404 Not Found [IP: 2620:2d:4000:1::103 80] E: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/noble/main/binary-arm64/Packages 404 Not Found [IP: 2620:2d:4000:1::103 80] E: Failed to...
我的解答
别慌,这种情况我碰到过好几次,多半是镜像同步的问题,给你捋捋:
为啥会缺包?:Ubuntu的软件包镜像是分架构同步的,Arm64这类非x86架构的同步进度经常会比x86_64慢半拍。尤其是当官方推送一批更新后,主镜像先更新了x86的内容,Arm64的同步可能还在跑,这时候访问就会出现404。另外,一些小型云服务商自己的镜像源同步频率不高,或者同步过程出了小岔子,也会导致这种情况。
是不是在构建?:大概率不是还在构建,官方是先把所有架构的软件包都构建完,才会推送到主镜像的。你看到其他文件夹都是今天更新的,说明主镜像已经有新内容了,只是Arm64的同步没跟上而已。
什么时候能用?:如果是官方镜像的延迟,一般几个小时内就会同步完成;要是云服务商自己的源出问题,那可能得等更久,实在急的话可以联系他们的技术支持问问情况。
临时应急办法
给你几个能先凑合用的办法:
- 切换到Ubuntu专门给非x86架构准备的ports镜像:编辑
/etc/apt/sources.list,把里面的archive.ubuntu.com和security.ubuntu.com全换成ports.ubuntu.com/ubuntu-ports,保存后再跑sudo apt update试试,这个源对Arm64的支持更及时。 - 先歇1-2个小时再试,很多时候同步完成后就自动好了,不用折腾。
- 要是急着装某个特定软件包,可以直接找对应Arm64版本的
.deb文件手动下载安装,不过这个只适合单个包,批量更新还是等同步靠谱。
备注:内容来源于stack exchange,提问作者davidszab

