[tex-live] mirroring the texlive archive/ selectively

Ivan Shmakov ivan at theory.asu.ru
Thu Sep 18 05:20:28 CEST 2008

>>>>> "KB" == Karl Berry <karl at freefriends.org> writes:

 IS> It seems that texlive.tlpdb contains all the necessary information
 IS> to perform such a selective download, but is there a tool to
 IS> utilize it?

 KB> We have never written a mirroring tool that reads tlpdb, since it
 KB> never came up for us.  I think it would be hard to write something
 KB> that would be of wide use, since everyone has different needs.
 KB> E.g., Phil posted his mirroring scripts for Windows a couple weeks
 KB> ago.

	Could you please give a link to that posting in an archive?
	(Message-Id: would be more than enough.)

 KB> Naturally that is different from yours ...

	The script that I've used is concerned with actual downloading,
	and not with dependency tracking, for which .tlpdb would be

	E. g., with an appropriate tool, I may ask the .tlpdb for a list
	of all the packages, except those that depend on a particular
	one (say, one of those providing CJK support, for the latter
	won't be of much use here, at least for now.)  Obviously, since
	this task requires dependency tracking, it cannot be solved by,
	e. g., Wget alone.

 IS> For now, I'm using something like:

 KB> Looks reasonable to me.  I suspect rsync would be faster than wget.

	Using rsync will be a whole lot better (besides, it has
	--filter= as well.)  Thanks, for I never knew that CTAN mirrors
	support rsync!

 IS> The ability to check the mirror against MD5 sums

 KB> We don't bother with checksums.  If the .tar.lzma's can be
 KB> unpacked, then they are self-evidently correct.  If not, then not.

	The things are going to be much more complicated if .tar.lzma is
	broken on the only mirror reachable from the installation host.

	However, I see that I can test the integrity with $ lzma -t.  I
	hope that LZMA checksums are good enough for the purpose.

 IS> and to rebuild the .tlpdb according to the selection being mirrored
 IS> would also be nice.

 KB> That's two different operations.  Our principle is that you have a
 KB> "location" of the TL archive.  Then you install/update the actual
 KB> TeX installation from that "location", using tlmgr.  And that is
 KB> what rebuilds tlpdb.

	Isn't it the installation .tlpdb that gets rebuilt?  The idea is
	to rebuild the one that's on the mirror:


	Note that the intent is to have a partial mirror.  How would,
	e. g., install-tl behave should some of the files mentioned in
	.tlpdb (and queried for the installation) be unavailable from
	the mirror?

 KB> After all, you might want to install from other places on occasion.


 KB> Thanks for writing, Karl

More information about the tex-live mailing list