如果一个新的软件包今天在 CTAN 上得到官方认可,(平均而言)我通常什么时候可以预期所有镜像都更新,以便 TeX Live Utility 可以检测到更改?
答案1
Will 掌握了大部分内容;当安装了某些东西时,ctan 站点会相互发送“镜像此”指令。(当然,tug.ctan.org 现在不会这样做,但它似乎正在接受来自 cambridge 和 dante 的指令。)
此外,每天晚上都会对三个站点进行比较,并调查差异。
Martin 对“datestamp”文件感到困惑。该文件仅用于镜像监视器,并且是在本地生成的(在 cron 作业中);同步消息的处理速度远快于每小时一次。
请注意,镜像监视结果存储在 mirror.ctan.org 可以访问的数据库中:mirror.ctan.org 绝不应该提供指向似乎超过 24 小时“过时”的镜像的指针。
注意卡坦站点(但丁、剑桥和[正式]拖船)和卡坦镜子. 尽管 ctan 站点确实使用镜像机制的片段来保持彼此的最新状态,但 ctan 镜像仅使用镜像(通常在固定时间)而不使用其他任何东西。
答案2
我的理解是,三个“主”镜像(美国、剑桥、但丁)互相推送更新,其他 CTAN 镜像最多在 24 小时内同步其内容。不过,我认为没有一个“最短时间”可以指望。
另请注意,上传到 CTAN 和内容在 TeX Live ( ) 中可用之间存在延迟tlnet
。同样,这通常会在 24 小时内发生,但这取决于人力。
答案3
当一个包被上传时,需要经过多个步骤才能被 TeX Live Utility(实际上是 tlmgr)使用。
- CTAN 维护人员负责上传该文档,并使其可在他的网站上使用;
- 上传通常会在 ctan-ann 上公布;
- 它被推送到其他站点并被镜像拉取;
- TeX Live 团队的一名工作人员注意到了该公告(如果未宣布上传,则每周运行的脚本会根据 TeX Live 中的当前文件检查本地镜像中包的实际内容)并将包提交到 TeX Live 的 svn 树中;
- 每晚的 cron 从 svn 树重建主包存储库;
- 主 tlnet 由 CTAN 站点拉取,然后像往常一样推送到其他站点并由镜像拉取。
步骤 1 和 2 通常在几个小时内完成(干得好,CTANers!)。步骤 3 可能需要几分钟到 24 小时多一点的时间,具体取决于 TL 维护者使用的镜像。步骤 4 通常每天进行一次(据我所知,感谢 Karl 目前独自完成这项工作)或每周进行一次(对于未公布的软件包)。对于特别复杂的软件包,可能需要更多时间。步骤 5 和 6 通常是几个小时到 48 小时,同样取决于本地镜像。
因此,从软件包出现在 CTAN 到通过 tlmgr 或 TLU 可用,延迟时间从几个小时(最佳情况)到超过一周不等,具体取决于镜像、TL 团队的工作量和软件包的性质,但我估计平均时间为 3 天。差异主要由步骤 4 决定,至少在极端情况下如此。
答案4
每个镜像都有一个timestamp
文件,用于记录上次同步的时间。主服务器(tug.ctan.org,dante.ctan.org,www.tex.ac.uk) 几乎每小时整点同步一次。至少 的tug
时间戳总是:01
在整点后几分钟,而dante
的:02
。即使没有文件更改,它们的时间戳也会每小时更新一次。
其他镜像应该使用 cronjob 每天同步一次。我首先将我的镜像配置为每 3 小时同步一次,但被告知这太频繁了。
你可以看到镜像延迟的统计数据镜像监视器页面。
我对我的包裹的体验是:
上传管理员大约需要半天时间才能处理你的上传(由于现在的情况需要更长的时间),然后大约 25 小时(1+24)直到所有活动镜像都接收它。TeXLive 包也应该在上传处理后大约两天内可用。更新比新包更快。