I am looking for more detailed information on tlmgr. The information I have is from tlmgr --help and it does not help to solve problems I have.


I have used Robby Workman's texlive.Slackbuild to build a texlive package in order to install texlive on my slackware machines in stead of the tetex installation that Slackware comes with up to version 13.37. (I used a more recent release of texlive than the one the script were originally written for, but that should not make a difference. The difference is a few weeks in the 2011 release.) In the end I want to rsync with one repository and store it on my server for use with texlive on my Windows and Linux installations.

I also picked up that the philosophy of many of the downstream package makers is not to provide support for things like tlmgr as it does not uphold the distro package management approach. Well it may work for many, but that is too limiting to me. (It's the same approach some people follow towards cpan – if its not pre-packaged for the distro it is not installed; I use Slackware as a basis and expand each box according to what is needed from it.)

The first problem I had after installation of the build texlive package was the missing tlmgr associated files. I downloaded all of them.

Next I assumed that I had to download texlive.tlpdb, but that referred to all potential things that could be installed with texlive. So it was not the solution. If I try to do tlmgr check file to do a clean up, it points to /usr/share/bin which does not exist, it probably should refer to /usr/share/texmf/bin. (Which seems to be a path problem as the variable $Master in tlmgr.pl refers to that location.)

The next thing I tried was to recreate. I deleted texlive.tlpdb and ran: tlmgr recreate-tlpdb. The first complaint is that more than one platform is possible and one must specify it with --platform=, so I added --platform=i386-linux as inside the texlive.tlpdb and for which the texlive installation was built. Then the complaint is the platform is not present in /usr/share/bin. I even added a symlink inside /usr/share/texmf/bin/ i386-linux to /usr/share/texmf/bin, but that also does not solve the problem.

My question

I would like to know how to get tlmgr working so I can update tex-packages as and when I decide to, without waiting for a next release. A full release is also to big (about 1.5GB) to download one every now and then. [My current ISP contract clamps me severely down if I become a prime down-loader and then I might as well use an old 1200Bd dail-up modem.]

Possible alternative solutions

I thought of writing a perl program that extracts from the texlive.tlpdb the bits that are appropriate to the installation, but then there are lot of other problems that still need to be overcome, the first two being:

  1. Package revision numbers which cannot be correlated with the the installation.
  2. Determining which collections and schemes are fully installed.

Another possibility is to rebuild the texlive package and build it for multi-platform, but that would still not solve tlmgr's vantage point from /usr/share/bin.

A last and totally different approach would be to use a different package maker that operates using tl-install and then create a package against a local copy of a texlive repository that I have made more two months ago. After that I could maybe use tlmgr as its supposed to be, I will start searching again for examples of this approach.

  • I found this linuxquestions.org/questions/slackware-14/… as a possible method to the last approach and it shows 58MB as the minimal download. My local copy of a repository apparently has not got something, install-tl does not want to install from it. I will now do this minimal install and then try to use tlmgr with my local copy of a repository to try to update it.
    – Louis
    Aug 10, 2011 at 13:23
  • 1
    The bare minimal installation does not install kpsewhich and the other kpse* programs, they are required for tlmgr, the next option changes the installation to around 370MB, I tried to select the next smallest set which covers the minimal required binaries (guessing). I also tried the -in-place option with my copy of the repository, it only complains and bails out.
    – Louis
    Aug 10, 2011 at 13:51
  • Can't you use TeX Live net installer? Then you download and install only what you want. For fine grained control you can make a minimal install and then add selected packages with tlmgr afterwards.
    – Tomek
    Jan 16, 2012 at 1:19

2 Answers 2


Sorry about your problems with tlmgr. First, I'll point you to the README.tlpkg that gets installed with the package docs.

Of course, you've already figured out that tlpkg is broken, so that in itself doesn't really help you. To make a long story short, I have no interest in making tlpkg work and thus have not (and do not plan to) investigate(d) it at all. In other words, you're on your own here.


Simple answer: Don't use Slack TeX Live, but proper upstream TL. Or stick to what is in slack. There is no other way, sorry.

  • At this stage, which is more than 2 years down the line, I have to say that this is the only way to get the best out of TL. I don't like the idea of a package being repackaged. (I even don't like the idea of collections as is common on TL, but I don't have the time at the moment to do it any way different. Collections force a lot of extra stuff onto the user and they are not always dependent on each other.)
    – Louis
    Aug 7, 2017 at 8:37
  • 1
    There are ways around this nowadays, look up usermode in the tlmgr manual. But in principle it is a kludge and not the real way. One could without theoretical problems provide a slack build that provides proper tlmgr integration, only that this is not what I will do since I'm not a slacker (at least when it comes to Linux distributions).
    – norbert
    Aug 7, 2017 at 11:07

You must log in to answer this question.

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