我有一个本地网络,其中有许多使用 (La)TeX 的客户端。在我的服务器中镜像 TeX Live 发行版将节省时间和带宽。我们是 Windows 用户,不熟悉 RSYNC。我读过 TeX Live 网站,但我仍然不清楚如何使用 RSYNC。
你能一步一步告诉我如何为 TeX Live 制作镜像吗?
我想制作一个本地镜像,以便任何本地客户端都可以从中下载或更新。本地镜像的工作方式与其他 CTAN 镜像相同,但与 CTAN 镜像的同步不是自动完成的,而是我手动执行的。
答案1
rsync
是一款用于同步远程目录的高级工具。您可以在 Linux 和 Windows 上使用它(可能也可以在 Mac 和其他操作系统上使用),但它是一款命令行工具。
这里有一些关于如何 rsync TeXLive 存储库的说明和提示,以便您可以设置自己的 HTTP 或 FTP 服务器作为本地 TeXLive 的存储库。
关于如何 rsync TeXLive 的一般描述可以在这里找到http://www.tug.org/texlive/acquire-mirror.html,但我很可能已经读过该页面了。
对于 Windows,例如同步它基于 cygwin(Windows 的 Unix 模拟器)。
另一个关于安装和设置的 Windows HowTorsync
可以在以下网址找到:http://optics.ph.unimelb.edu.au/help/rsync/rsync_pc1.html。如果您想自动更新 TeXLive 存储库的副本,这很有用。
要同步它,只需使用以下命令行,其中%CTANMIRROR%
是rsync CTAN 镜像:
rsync -a --delete rsync://%CTANMIRROR%/systems/texlive/tlnet/ "/cygdrive/<driveletter>/dir/subdir"
例如,要从 DANTE 的 rsync 服务器同步,请C:\texlive\
使用:
rsync -a --delete rsync://rsync.dante.ctan.org/CTAN/systems/texlive/tlnet/ "/cygdrive/c/texlive/"
这里-a
代表存档模式(您可能会收到一些警告,提示无法设置 Unix/Linux 权限;这是正常的,并不是真正的问题),并且--delete
将删除远程源文件夹中不存在的所有无关文件(在本地目标中)。
答案2
在回答你的问题之前,让我再给你一个建议:将 TeX Live 安装放到网络上,并让你的客户可以使用它。有方便的脚本w32客户端以帮助后者。
要镜像软件包存储库,请参阅这一页. rsync
是推荐的,但wget
也可以使用(我wget
以前使用过一个自定义脚本,如果你有兴趣,我可以尝试挖掘出来)。还有一个实验性的脚本download-package-repository
脚本TeX Live svn 存储库。它与标准安装程序一起工作。将它与安装程序子目录下的install-tl.zip
包装脚本一起放置并运行。.bat
tlpkg/installer
编辑:以下是wget
完整性的咒语(用于在当前目录中下载/更新):
wget -m -nH -np --cut-dirs=3 --retr-symlinks -X "/systems/texlive/tlnet/archive" -R "update-tlmgr-r*,index.html*" http://ctan.sqsol.co.uk/systems/texlive/tlnet/
wget -m -nH -np --cut-dirs=3 -R "index.html*" http://ctan.sqsol.co.uk/systems/texlive/tlnet/archive/