关于NixOS镜像的一些想法(续)
上一篇关于NixOS镜像想法的帖子发到SHLUG邮件列表后,被群友转到USTCLUG和TUNA的邮件列表,发现有一位同学(微信群中的dram同学)已经做了类似的工作。通过和dram同学交流,关于NixOS的镜像有了一些新的想法,NixOS镜像的工作有了一些新的进展,这里发帖做一个总结。
首先,关于NixOS镜像的想法,已经写成原型脚本,可以用来实验一些想法。上一篇帖子关于频道镜像的功能通过脚本中的1.mirror_channel.sh
实现,关于重复包(以及重复的依赖包)的处理的部分,只在历史版本中有(感兴趣的同学可以查看代码库的历史记录),最终版只剩下了新增包下载这部分内容(2.download_binary_cache.sh
)。最终版中,没有重复包处理的脚本,是因为和dram同学交流后,发现除了分目录保存每次下载的二进制预编译包外,还可以把所有的包下载到一个目录,然后定期做清理,而且进行清理并非最初想象的那么复杂。经过试验,每次通过nix path-info -r
查询所有包的列表的时间是可以接受的,因此,可以通过比较每个版本的频道所包含的包的变化,确认哪些包是可以删除的,从而实现删除过期的包的目的。
在完成原型脚本的初版之后,才得知dram同学已经独立完成了频道数据镜像和二进制缓冲下载的功能,并向TUNA的镜像同步脚本代码库提交的PR。此外,最近几天dram同学还对PR新增了一些文档,并向USTCLUG提交了PR。由于dram同学的工作更为完善,所以 https://github.com/shanghailug/nix_mirror 的脚本的使命是在正式的镜像脚本工作前,做一些测试工作和数据统计工作,完善上一篇帖子中的实验数据。
下面是NixOS-19.09各版本间数据的变化一个统计,版本数据来自 https://channels.nix.gsc.io/nixos-19.09/history-url (去除了Beta版本)。表中每一行是上一行的版本和本行的版本的数据变化。第一个版本是19.09.700.724dbda1e0c
,表中未列出。表中NAR大小和下载大小单位均为GiB
。
时间 | 版本 | 路径 | NAR大小 | 下载大小 |
---|---|---|---|---|
2019-10-09 06:45 | 19.09.711.25757b66e18 | 44149 | 310.84 | 78.82 |
2019-10-09 10:50 | 19.09.714.2a5bfda3f43 | 1393 | 18.85 | 4.19 |
2019-10-09 16:35 | 19.09.716.88bbb3c8096 | 265 | 0.40 | 0.09 |
2019-10-10 06:55 | 19.09.735.8d0dc8d737c | 2214 | 26.68 | 8.06 |
2019-10-10 12:05 | 19.09.736.9bbad4c6254 | 189 | 0.09 | 0.01 |
2019-10-11 01:30 | 19.09.741.dbad7c7d59f | 195 | 0.10 | 0.01 |
2019-10-13 01:22 | 19.09.766.222004e52e8 | 1910 | 34.93 | 12.00 |
2019-10-13 07:55 | 19.09.789.7952807791d | 1386 | 11.48 | 4.15 |
2019-10-14 19:05 | 19.09.794.28d2548a03f | 43168 | 303.28 | 75.29 |
2019-10-15 04:50 | 19.09.809.5000b1478a1 | 793 | 8.32 | 2.16 |
2019-10-16 06:05 | 19.09.840.8bf142e001b | 1148 | 8.14 | 3.63 |
2019-10-21 19:35 | 19.09.891.80b42e630b2 | 25399 | 231.13 | 60.18 |
2019-10-22 23:35 | 19.09.907.f6dac808387 | 43095 | 302.80 | 75.16 |
2019-10-26 10:13 | 19.09.941.27a5ddcf747 | 391 | 2.05 | 0.44 |
2019-10-28 15:35 | 19.09.976.c75de8bc12c | 16923 | 206.30 | 61.45 |
2019-11-01 09:50 | 19.09.1019.c5aabb0d603 | 5784 | 98.47 | 35.20 |
2019-11-07 13:45 | 19.09.1098.821c7ed030b | 42962 | 301.78 | 74.93 |
2019-11-08 07:25 | 19.09.1125.d628521d0b7 | 1089 | 8.19 | 2.71 |
2019-11-08 22:50 | 19.09.1134.d9a83d34c8d | 695 | 9.55 | 3.26 |
2019-11-09 02:50 | 19.09.1149.107e2b7b29f | 249 | 0.77 | 0.22 |
2019-11-09 14:35 | 19.09.1155.bae4d7daa01 | 192 | 0.09 | 0.01 |
2019-11-10 08:05 | 19.09.1160.a22b0189002 | 341 | 2.38 | 0.75 |
2019-11-10 19:15 | 19.09.1172.2d896998dc9 | 30254 | 265.15 | 66.64 |
2019-11-12 06:50 | 19.09.1197.d493b97b265 | 781 | 5.41 | 1.90 |
2019-11-12 12:50 | 19.09.1208.ef8c34c4721 | 189 | 0.09 | 0.01 |
2019-11-13 12:55 | 19.09.1221.e6a37ef446f | 753 | 5.05 | 1.55 |
2019-11-13 13:55 | 19.09.1223.cb2cdab7136 | 198 | 0.44 | 0.07 |
2019-11-15 12:50 | 19.09.1232.133d836dafa | 238 | 0.94 | 0.24 |
2019-11-15 13:45 | 19.09.1241.259a67ca221 | 244 | 1.59 | 0.30 |
2019-11-15 16:45 | 19.09.1247.851d5bdfb04 | 193 | 0.21 | 0.04 |
2019-11-16 05:20 | 19.09.1254.9104be2ee08 | 245 | 0.35 | 0.06 |
2019-11-16 18:05 | 19.09.1258.07e66484e67 | 215 | 0.20 | 0.03 |
2019-11-19 17:55 | 19.09.1292.e1843646b04 | 1078 | 14.10 | 5.00 |
2019-12-09 12:37 | 19.09.1529.808d3c6d123 | 14951 | 201.92 | 60.46 |
2019-12-09 15:40 | 19.09.1548.3a1861fcabc | 715 | 3.84 | 1.51 |
2019-12-11 01:15 | 19.09.1549.45ea6092203 | 191 | 0.09 | 0.01 |
2019-12-14 12:15 | 19.09.1584.7351aa52acd | 41502 | 296.12 | 73.88 |
2019-12-14 20:35 | 19.09.1589.57b7b019812 | 192 | 0.09 | 0.01 |
2019-12-15 19:50 | 19.09.1590.d85e435b7bd | 191 | 0.09 | 0.01 |
2019-12-17 03:20 | 19.09.1594.fbe321e6669 | 226 | 0.62 | 0.18 |
2019-12-17 23:00 | 19.09.1618.c2ef0cee28a | 204 | 1.00 | 0.22 |
2019-12-18 00:00 | 19.09.1619.c337a7423bc | 284 | 0.71 | 0.22 |
2019-12-18 02:05 | 19.09.1620.d40f024a3ba | 190 | 0.09 | 0.01 |
2019-12-18 08:20 | 19.09.1625.0dc46b0e1c8 | 210 | 0.62 | 0.12 |
2019-12-19 00:50 | 19.09.1629.ce54d9601ea | 584 | 3.37 | 1.37 |
2019-12-19 15:45 | 19.09.1638.6655a13a56f | 288 | 0.77 | 0.22 |
2019-12-19 22:40 | 19.09.1647.2e73f72c87e | 202 | 0.33 | 0.09 |
2019-12-20 15:35 | 19.09.1654.dd26550fda5 | 240 | 0.64 | 0.24 |
2019-12-21 03:35 | 19.09.1662.8e4c9d15456 | 201 | 0.67 | 0.20 |
2019-12-21 18:40 | 19.09.1664.968381812b4 | 192 | 0.20 | 0.03 |
2019-12-22 05:15 | 19.09.1670.36aa728f2cd | 409 | 1.04 | 0.22 |
2019-12-22 19:35 | 19.09.1673.9bcf1148144 | 191 | 0.09 | 0.01 |
2019-12-23 21:15 | 19.09.1682.bfdae0860e4 | 714 | 4.10 | 1.58 |
2019-12-24 18:10 | 19.09.1685.e9ef090eb54 | 190 | 0.09 | 0.01 |
2019-12-26 08:05 | 19.09.1686.69ed29f5f41 | 240 | 0.29 | 0.04 |
2019-12-29 00:30 | 19.09.1687.c5d5561f772 | 196 | 0.40 | 0.10 |
2019-12-29 08:05 | 19.09.1690.0d9055a2ac2 | 189 | 0.09 | 0.01 |
2019-12-30 03:40 | 19.09.1693.eab4ee0c27c | 191 | 0.14 | 0.02 |
2020-01-03 03:40 | 19.09.1748.ad1e1af5ad3 | 11363 | 165.70 | 53.65 |
2020-01-04 10:10 | 19.09.1764.2d9454702e5 | 356 | 1.21 | 0.32 |
2020-01-04 22:40 | 19.09.1772.54c9e1f53a7 | 588 | 4.89 | 1.03 |
2020-01-05 08:35 | 19.09.1774.a3070689aef | 191 | 0.09 | 0.01 |
2020-01-06 01:40 | 19.09.1776.b926503738c | 190 | 0.18 | 0.02 |
2020-01-06 18:55 | 19.09.1778.db3e8325a9b | 528 | 3.05 | 1.26 |
2020-01-07 07:55 | 19.09.1781.d245ff1bb9b | 200 | 0.09 | 0.01 |
2020-01-07 15:50 | 19.09.1784.fd4ccdbe3a6 | 200 | 0.16 | 0.05 |
2020-01-08 20:15 | 19.09.1791.ac218438bdb | 1802 | 15.89 | 4.96 |
2020-01-09 04:40 | 19.09.1803.db5273ce2ab | 341 | 0.76 | 0.21 |
2020-01-09 09:50 | 19.09.1806.b047b7315d8 | 192 | 0.13 | 0.02 |
2020-01-10 04:30 | 19.09.1815.caad1a78c47 | 200 | 0.42 | 0.10 |
2020-01-11 11:35 | 19.09.1821.9f453eb97ff | 586 | 3.30 | 1.35 |
2020-01-12 10:05 | 19.09.1840.f7d050ed4e3 | 948 | 35.08 | 16.79 |
2020-01-13 12:15 | 19.09.1850.5dc4d071ffe | 686 | 4.33 | 1.57 |
2020-01-14 03:00 | 19.09.1861.eb65d1dae62 | 701 | 4.01 | 1.59 |