I have a local network with many clients using (La)TeX. Mirroring TeX Live distribution in my server will save time and bandwidth. We are Windows users who are not familiar with RSYNC. I have read the TeX Live site, but I am still confused how to use RSYNC.

Could you tell me how to make a mirror for TeX Live step by step?

I want to make a local mirror such that any local clients can download or update from it. The local mirror works like other CTAN mirrors, but the synchronization to the CTAN mirrors is not done automatically but on my manual action.

  • 1
    To clarify your question. Is what you asking for a method to mirror the server's TeX Live installation onto a the systems of a set of clients in a LAN? That is, every client will have a copy of the distribution which they'll use when compiling documents but the client's copy of the distribution will be synced against the server's?
    – N.N.
    Jul 5, 2011 at 10:59
  • @N.N: See my update. Jul 5, 2011 at 11:08
  • 1
    Another idea would be to install and update TeXLive on one machine aka "the server" (maybe as 'mobile' version) and share this one across multiple machine, e.g. using a shared network folder or by setting the clients up to synchronize with the server, e.g. using rsync or other means. It depends on your size and traffic limitations as well as other things. Jul 5, 2011 at 11:17
  • @Martin: How to make the local TeX distribution repository on one machine that can be updated later to the CTAN mirror? Installing on one machine is not a good idea, right? Installing on one machine will modify the registry on that machine that cannot be reflected to other clients. Jul 5, 2011 at 11:20
  • @Friendly Ghost: Does TeXLive needs registry entries? You of course need to set it up on the other machines (set PATH correctly etc.), but there should be no other things besides files which would requirer updating (except if you update from TeXlive 201X to TeXLive 201(X+1) ) Jul 5, 2011 at 11:30

2 Answers 2


rsync is an advanced tool to synchronize remote directories. You can get it for Linux and Windows (probably also for Mac and further OSs), but it is a command line tool.

Here some instructions and tips how to rsync the TeXLive repository so you can set up an own HTTP or FTP server as repository for you local TeXLive.

A general description on how to rsync TeXLive can be found at http://www.tug.org/texlive/acquire-mirror.html, but I most likely read that page already.

For Windows there is e.g. cwRsync which is based on cygwin, a Unix emulation for Windows.

Another Windows HowTo to install and setup rsync can be found at http://optics.ph.unimelb.edu.au/help/rsync/rsync_pc1.html. This is useful if you want to update your copy of the TeXLive repository automatically.

To synchronize it simply use the following command line, where %CTANMIRROR% is a rsync CTAN mirror:

rsync -a --delete rsync://%CTANMIRROR%/systems/texlive/tlnet/ "/cygdrive/<driveletter>/dir/subdir" 

So e.g., to sync from DANTE's rsync server to C:\texlive\ use:

rsync -a --delete rsync://rsync.dante.ctan.org/CTAN/systems/texlive/tlnet/ "/cygdrive/c/texlive/"

Here -a stands for archive mode (you might get some warnings that Unix/Linux permissions can't be set; that's normal and not really an issue) and --delete will delete all extraneous files (in the local destination) which do not exist on the remote source folders.

  • I think you only need to "get" rsync for Windows. It's certainly a standard part of the Mac OS (and I presume Linux too?)
    – Alan Munn
    Jul 5, 2011 at 12:42
  • @FriendlyGhost: If you use cwRsync then yes, at least after its website. If you have a different rsync try c:/texlive instead or maybe c:\\texlive. Jul 5, 2011 at 12:56
  • @Martin: do you know how to schedule synchronization of my local repository with a remote CTAN mirror? Jul 5, 2011 at 15:13
  • @Friendly: Maybe optics.ph.unimelb.edu.au/help/rsync/rsync_pc1.html#automate (already linked in the answer) Jul 5, 2011 at 15:16
  • 2
    Note: I installed cwrsync version 3 because version 4 behaves strange with many invalid argument errors. Jul 5, 2011 at 15:54

Before I answer your question let me give you another suggestion: put TeX Live installation on the network and make it available to your clients. There are convenience scripts w32cilent to help with the latter.

For mirroring a package repository see this page. rsync is recommended for this, but wget can also be used (I had a custom script using wget in the past, which I can try to dig out if you are interested). There is also an experimental script download-package-repository in TeX Live svn repository. It works with the standard install-tl.zip installer. Put it together with the wrapper .bat script under tlpkg/installer subdirectory of the installer and run.

Edit: Here are wget incantations for completeness (for download/update in the current ditectory):

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/

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .