用命令行更改Ubuntu的Apt镜像和缺少的Arm64镜像

原文链接:Changing Ubuntu Apt Mirror from the Command Line, and the Lack of Arm64 Mirrors 由Jean-Luc Aufranc撰写。

当在计算机上安装Ubuntu时,通常会通过安装ISO来引导,然后在众多选项中选择自己的地理位置。所以,这就意味着你可以连接到离你所在位置最近的镜像以便实时更新。

但是对于我们在Arm SBD’s 烧录Ubuntu镜像的人来说,镜像通常是由开发者设计的,无论是中国还是斯洛伐克,或者是默认的美国镜像,它虽然是可以工作的,但是速度可能比较慢。

但其实,在现在的计算机中是可以改变这种情况的。我发现一种将其从 Ubuntu 桌面更改为启动软件和更新程序并将下载字段更改为你所在国家/地区或邻国镜像的简单方法,具体如下所示。

启动软件和更新程序的界面
启动软件和更新程序的界面

一般来说,我自己主要是通过ssh连接到板子上因为这样进行评测很方便。更改镜像的其中一种方法是通过编辑/etc/apt/sources.list 文件。但是今天我认为应该有更好的解决方案。

因为,我通过 AskUbuntu发现了一个带有apt-mirror-updater的工具。

我在运行 NanoPi M4V2 SBC 的 FriendlyCore Desktop 中对其进行了测试。以下是固件中默认sources.list的内容:


我运行apt-update命令,它以125kb/s的速度运行,速度着实有点慢。


运行apt-update 耗时了25分钟, 接着我用pip安装了apt-mirror-updated:


apt mirror updater

然后运行以下命令将自动将镜像更改为最佳镜像:


输出的时间相当长,因为它测试了多个服务器,然后才运行apt-update


尽管我的总部设在泰国,但是它选择的镜像是卢森堡的,但是这个的升级要快很多,只有一个小问题有404的错误。


然而,它在失败之后也不会停止,而是使用了同一个镜像重试 10 次,直到几分钟后才失败的。

所以我尝试了另一种方法,使用该工具对 50 个镜像的下载速度进行了排名:


我的 Ubuntu 笔记本电脑是配置了“http://th.archive.ubuntu.com/ubuntu/”的,但不知什么原因上面没有列出来。 这部分是因为该实用程序只会测试前 50 个镜像,如果我们想测试所有镜像(一共 411 个),我们需要运行以下命令,这需要 1 分 30 秒才能完成:


我截断了结果,但不知道为什么还是没有泰国镜像可以选择。

理论上,你应该从上面的列表中选择第一台服务器。但最终我还是决定使用与笔记本电脑上相同的服务器:


还是有与 404 错误相同的问题,结果证明大多数镜像仅托管 x86 或 x86_64,而不是 arm64 或 armhf。有人写了一个脚本来帮助找到用户所追求的架构和 Ubuntu 版本的镜像,具体如下:


我将其保存为find-mirrors.sh,并更改了权限:


在运行命令以查找服务器镜像 arm64 仿生包部分主存储库之前:


那只是数百个服务器中的 9 个 arm64 镜像。但是脚本或某些服务器的返回码肯定存在一些问题,因为只有http://ftp.tu-chemnitz.de/pub/linux/ubuntu-ports/是真正包含dists/bionic/main/binary-arm64目录的。

所以我使用了以下命令手动设置镜像:


运行 apt update 所需的时间不到 8 分钟。

通过上述的评测,我得出的结论是 apt-mirror-updater 在 32 位 / 64 位 x86 平台上可以运行得很好,但它不适合 Arm SBC,因为几乎没有镜像托管 arm64 或 armhf 文件。我切换到德国的服务器之后,情况有所改善,但显然这还是取决于你的位置,我想获得快速 apt 镜像的唯一可靠方法是在本地找到自己的镜像

分享这篇文章
订阅评论
提醒
0 评论
内联反馈
查看所有评论