Skip to main content
通常,每次运行 bin/up 时,using-the-toolkit 都会自动更新我们的 TeX Live full 镜像。为了避免手动更新,你可以使用以下脚本自动更新 TeX Live 沙盒镜像。将其添加为 cron 任务,并确保 cron 用户有权限运行 docker。运行 crontab -e,在末尾添加以下行。
crontab -e
flock -n 会在上一次运行仍持有锁时跳过本次运行,因此缓慢的拉取永远不会堆积。
/usr/local/bin/pull-texlive.sh
为什么按小时轮换而不是一次性拉取全部镜像:标签由时钟推导而来(自纪元以来的小时数对标签数量取模),因此该任务是无状态的——无需记录”上次进行到哪里”,在重启或错过某个小时后,周期会自行重新对齐。每次运行只处理一个标签;当镜像仓库的摘要没有变化时,拉取只是一次清单检查(Image is up to date),几秒钟内即可完成。真正的更新每小时最多下载一个镜像,并受 timeout 50m 限制,而 docker image prune -f 会清理因标签变动而成为孤立的镜像层。 检查同步是否正常:
当发布新的 TeX Live 版本时,将其标签追加到 TAGS 数组中即可——轮换周期会自动适应。主机关机期间的小时会被跳过而不会排队;受影响的标签只需在下一轮时刷新即可。
最后修改于 2026年10月5日