[开源] 分享一个自己改的 Debian / Ubuntu 镜像源自动快速获取+测速+修改工具: apt-smart

2019-09-19 10:03:55 +08:00
 mx8

不知这里用 Linux 的人多吗

大家用哪个镜像源呢?我换了好几次镜像源都不是很满意,都有不是这样就是那样的问题。

我认为一个好的镜像源应该具备快速、稳定、更新及时这 3 个特点。怎么知道一个镜像源是否都具备这 3 个特点呢?难道真的要一个一个自己试过来?毕竟自己的网络环境只有自己试才知道。

恰巧我在知乎上看到这个问题,

开源镜像站的组织和维护是纯公益的吗?有没有什么利益呢?

答主基本上都是国内知名镜像源的创建者 /维护者,其中一些确实很认真地想把这件事做好。那么有木有一个量化的对比来客观评价他们是不是做得好?做得好的能得到鼓励,做得还不够好的也能针对性地找到不足来提高,这样对大家以及整个开源生态都有好处。

于是乎我找到了一个老外已经弃坑的项目,在国内的网络环境中体验很差,而且不够智能。但经过我的研究和改进,速度、准确性、健壮性都有很大提升。项目地址是 https://github.com/martin68/apt-smart (方便的话顺手给个 star,抱拳致谢!)

已上传至 pypi,所以安装很方便,到项目的 readme (可以找到我翻译的中文版)里复制粘贴那一小段命令到终端即可。

功能之一:

-----------------------------------------------------------------------------------------------------
| Rank | Mirror URL                       | Available? | Updating? | Last updated    | Bandwidth     |
-----------------------------------------------------------------------------------------------------
|    1 | http://archive.ubuntu.com/ubuntu | Yes        | No        | Up to date      | 16.95 KB/s    |
|    2 | http://mirrors.cqu.edu.cn/ubuntu | Yes        | No        | 3 hours behind  | 427.43 KB/s   |
|    3 | http://mirrors.nju.edu.cn/ubuntu | Yes        | No        | 5 hours behind  | 643.27 KB/s   |
|    4 | http://mirrors.tuna.tsinghua.e...| Yes        | No        | 5 hours behind  | 440.09 KB/s   |
|    5 | http://mirrors.cn99.com/ubuntu   | Yes        | No        | 13 hours behind | 2.64 MB/s     |
|    6 | http://mirrors.huaweicloud.com...| Yes        | No        | 13 hours behind | 532.01 KB/s   |
|    7 | http://mirrors.dgut.edu.cn/ubuntu| Yes        | No        | 13 hours behind | 328.25 KB/s   |
|    8 | http://mirrors.aliyun.com/ubuntu | Yes        | No        | 23 hours behind | 1.06 MB/s     |
|    9 | http://ftp.sjtu.edu.cn/ubuntu    | Yes        | No        | 23 hours behind | 647.2 KB/s    |
|   10 | http://mirrors.yun-idc.com/ubuntu| Yes        | No        | 23 hours behind | 526.6 KB/s    |
|   11 | http://mirror.lzu.edu.cn/ubuntu  | Yes        | No        | 23 hours behind | 210.99 KB/s   |
|   12 | http://mirrors.ustc.edu.cn/ubuntu| Yes        | Yes       | 8 hours behind  | 455.02 KB/s   |
|   13 | http://mirrors.sohu.com/ubuntu   | No         | No        | Unknown         | 90.28 bytes/s |
-----------------------------------------------------------------------------------------------------

据我近一个月的观察,某著名互联网公司的镜像源虽然速度最快但是更新滞后最长超过一周;某著名互联网公司的镜像源一直不可用,返回的数据都是不对的;某著名高校的镜像源相当一部分时间处于更新中的状态,用户下载软件包时可能会出现hash sum mismatch(校验和不符)的错误,维护者应该检查一下。

值得表扬的是 cqu 重庆大学的镜像源,更新一直最及时,而且速度很快,下载大文件时能跑满 100 兆光纤,稳定性的话我观察时间还少不敢下断言。

这里可能需要提醒一下为什么更新及时很重要。试想一下一个严重安全漏洞或者严重 bug 出现,开发者熬夜修补就是为了早点释出,结果镜像源晚近一天才更新,让开发者白白熬夜,也让用户更长时间暴露于风险。Ubuntu 的官方镜像源根据官方文档是一天更新四次,很多镜像源貌似设置的是一天一次更新。

以上只是其中一个功能,给它不同参数它还能自动做后续的修改 /etc/apt/sources.list,做到一键切换镜像源。不知不觉写了这么长了,还找得到我的项目地址吗?再贴一次: https://github.com/martin68/apt-smart (方便的话顺手给个 star,抱拳致谢!)欢迎留言提出意见建议,或者疑问,我将尽力回答。

7094 次点击
所在节点    分享创造
23 条回复
mx8
2019-11-04 20:31:34 +08:00
一直忘了说,如果要升级 apt-smart 执行
pip install apt-smart --upgrade
即可
mx8
2019-11-04 23:01:35 +08:00
更正:
升级应该是加 --user 更不容易出现报错
pip install apt-smart --upgrade --user
mx8
2019-11-28 12:34:32 +08:00
7.1.2 发布啦!支持 Python 3.8。-x 参数拉黑功能对官方镜像源也有效了, 因为经常存在只有官方镜像源是 up-to-date 的情况,官方镜像源总是经常排第一而被程序自动选择为最佳镜像源,此时它虽然最新但是最慢,所以用 -x *ubuntu.com* 就可以拉黑它啦

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/602041

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX