FreeBSD ports 源同步不完整
ykla opened this issue · comments
根据上游反馈,
[root@fbs-pkg0-ctl.bbt](mailto:root@fbs-pkg0-ctl.bbt):/home/pkgsync # du -ksh pkg-mirror ports-distfiles
5.0T pkg-mirror
2.2T ports-distfiles
ports 源似乎应该有 2.2TB 才符合,根据 https://mirrors.ustc.edu.cn/status/,现在 FreeBSD-Ports 只有 171.80 GB。远小于上游的镜像大小。
例如:
http://distcache.freebsd.org/ports-distfiles/xorg/lib/pixman-0.42.2.tar.xz 应该与之对应的 http://mirrors.ustc.edu.cn/freebsd-ports/distfiles/xorg/lib/pixman-0.42.2.tar.xz 则不存在。
http://distcache.freebsd.org/ports-distfiles/bash/bash-5.2.tar.gz 应该与之对应的 http://mirrors.ustc.edu.cn/freebsd-ports/distfiles/bash/bash-5.2.tar.gz 则不存在。
http://distcache.freebsd.org/ports-distfiles/sqlite-src-3400000.zip 应该与之对应的 http://mirrors.ustc.edu.cn/freebsd-ports/distfiles/sqlite-src-3400000.zip 则不存在。
http://ports.freebsd.cn/ports-distfiles/ 镜像站镜像的是正常的,请参考之。
从今年三月份到十二月份的对应文件正在重新同步。
ports 源似乎应该有 2.2TB 才符合,根据 https://mirrors.ustc.edu.cn/status/,现在 FreeBSD-Ports 只有 171.80 GB。远小于上游的镜像大小。
https://mirrors.ustc.edu.cn/help/freebsd-ports.html
部分 ports 的源代码需要从 http://distcache.freebsd.org/ports-distfiles/ 以外的 master site 下载,本镜像不包含这些文件。
从今年三月份到十二月份的对应文件正在重新同步。
ports 源似乎应该有 2.2TB 才符合,根据 https://mirrors.ustc.edu.cn/status/,现在 FreeBSD-Ports 只有 171.80 GB。远小于上游的镜像大小。
https://mirrors.ustc.edu.cn/help/freebsd-ports.html
部分 ports 的源代码需要从 http://distcache.freebsd.org/ports-distfiles/ 以外的 master site 下载,本镜像不包含这些文件。
部分 ports 的源代码需要从 http://distcache.freebsd.org/ports-distfiles/ 以外的 master site 下载,本镜像不包含这些文件。
这个不正确,目前所有所需文件现在上游均已经缓存。
这个不正确,目前所有所需文件现在上游均已经缓存。
https://github.com/search?q=repo%3Afreebsd%2Ffreebsd-ports%20MASTER_SITES&type=code
另外我印象里 ports 没有这么大过,如果不是这个原因的话可能是因为不再被引用的老版本文件被删掉了。
另外我印象里 ports 没有这么大过,如果不是这个原因的话可能是因为不再被引用的老版本文件被删掉了。
之前确实没有这么大,官方镜像站也有很多文件没有缓存下来。但是昨天我报告 bug FreeBSD 社区人员告知我已经都缓存下来了。我也不知道什么时候有 2.2TB 了。Ports 源都是编译安装需要下载的文件,应该是没有旧文件的。
从逻辑上讲不可能小于 gentoo 的镜像站,二者拉取的都是源代码,而且 FreeBSD 的 port 数量应该是远远大于 gentoo 的。Gentoo 有 500 多 GB。
重新同步已经完成,issue 中提到的缺失的三个包的 URL 现在都是有效的。
Ports 源都是编译安装需要下载的文件,应该是没有旧文件的。
> curl http://distcache.freebsd.org/ports-distfiles/bash/bash-5.2.tar.gz
Warning: Binary output can mess up your terminal. Use "--output -" to tell
Warning: curl to output it to your terminal anyway, or consider "--output
Warning: <FILE>" to save to a file.
> curl http://distcache.freebsd.org/ports-distfiles/bash/bash-5.1.tar.gz
Warning: Binary output can mess up your terminal. Use "--output -" to tell
Warning: curl to output it to your terminal anyway, or consider "--output
Warning: <FILE>" to save to a file.
看起来上游是存储旧文件的。
Gentoo 有 500 多 GB。
去掉 iso 等 images 大致是 300 GB 左右(releases
目录大约 150 GB,experimental
和 snapshots
加起来大约 70 GB)。考虑到我们没有获取 Makefile 中 MASTER_SITES
为其他站点的相关文件,现在的大小并没有不合理的地方。
有关同步文件的问题,我在 ustclug/mirrorhelp@4a5d84f 做了更明确的说明。
另外,http://ports.freebsd.cn/ports-distfiles/ 的内容看起来是过时的(好像没有 2022 年的包?),并且也同样没有存储历史版本。与你的 PR eryajf/Thanks-Mirror#129 中描述不一致的是,如果按照「需要存储所有版本的缓存」的标准来看,现在恐怕没有哪个 ports 的 distfiles 镜像是完整的。
基于目前的磁盘使用情况,我们没有存储旧版本 ports distfiles 的计划,如果贵方有兴趣并且磁盘空间足够的话,其实可以考虑存储 HEAD + 合理年份内的季度分支的 ports 指向的文件。