# Why getting this error tlmgr Unknown directive?

I haven't used tlmgr for a while but when I tried to install any package with it today, It returned following message:

(running on Debian, switching to user mode!) Unknown directive ...containerchecksum c59200574a316416a23695c258edf3a32531fbda43ccdc09360ee105c3f07f9fb77df17c4ba4c2ea4f3a5ea6667e064b51e3d8c2fe6c984ba3e71b4e32716955... , please fix it! at /usr/share/texlive/tlpkg/TeXLive/TLPOBJ.pm line 210, line 5579.

I've tried to use fix specified on https://www.tug.org/pipermail/tex-live/2016-April/038058.html:

You have to download update-tlmgr-latest.sh from the tlpretest repository and run it. Afterwards you will be able to work with tlmgr as usual (announced by Norbert a few hours ago).

Verifying archive integrity... All good.
Uncompressing TeX Live Manager Updater............................................................................................................................................................................
./runme.sh: Cannot find TeX Live root using kpsewhich --var-value=SELFAUTOPARENT.


## Minimum example

Install cleanly vanilla TeXLive 2016 with tmlgr after having old TeXLive in the system successfully: there is no errors/warnings in /usr/local/texlive/2016/*.log, complete log example here.
Run the following but you get the same output as above when trying to update the system

root@masi:/home/masi/Downloads/t/install-tl-20161019# tlmgr update --self
(running on Debian, switching to user mode!)
Unknown directive ...containerchecksum c59200574a316416a23695c258edf3a32531fbda43ccdc09360ee105c3f07f9fb77df17c4ba4c2ea4f3a5ea6667e064b51e3d8c2fe6c984ba3e71b4e32716955... , please fix it! at /usr/share/texlive/tlpkg/TeXLive/TLPOBJ.pm line 210, <\$retfh> line 5579.

• What exactly are you running? Debian tex live or upstream tex live. AFAIR the Debian version of tlmgr is not the same as upstream tlmgr, thus the info on the TUG website might not apply – daleif Jun 8 '16 at 18:55
• I'm pretty sure it's Debian. I'm using Ubuntu Mate and I installed texlive using apt-get – Gomi Jun 8 '16 at 19:10
• Exactly, then of course you cannot expect that upstream features also apply to you. Debian texlive is repackaged and tlmgr has AFAIK been changed (the "changing to user mode" is a tell tell sign). Some of the backend stuff in the repositories have changed so either you need to fully update your Debian tl (tl 2016 packaged for Debian should be available somewhere) or wait until the version you got is updated to be compatible with the backend changes. Or you could ditch the Debian tl completely and just use upstream TL. That's what I usually do. – daleif Jun 8 '16 at 19:19
• You might want to add the information about exactly which texlive you are using to your question as it is very important in this case. – daleif Jun 8 '16 at 19:19
• the error you get is expected if you try to use an old eg tl2015 texlive to update from a repository designed for tl2016 it seems like you now have some weird mixture. texlive 2015 can't be updated now, you need to get 2016 as a fresh install. since tl2016 was only released this week I'd doubt that the linux distribution versions are available yet (but they may be) so if you want it now probably need to get the version fromn tug. – David Carlisle Jun 8 '16 at 19:36

If you want to continue to use 2015 version you should set the repository to the archived version with:

tlmgr option repository ftp://tug.org/historic/systems/texlive/2015/tlnet-final


as is explained here How to install a package from an older version of TeXLive?.

• After doing that I now get TeX Live 2015 is frozen forever and will no longer be updated. This happens in preparation for a new release. on OS X / MacTeX 2015. I posted a new question on that. – n1000 Jul 6 '16 at 8:30
• What is the repository address for 2016? - - It asks my passord and username when going with the browser to tug.org/historic/systems/texlive/2016/tlnet-final. Can tlmgr still access it? – Léo Léopold Hertz 준영 Oct 20 '16 at 7:25
• I also got the TeX Live 2014 is frozen forever message, the important part of which was tlmgr itself needs to be updated. Running tlmgr update --self fixed the problem, then I could install/update other packages from CTAN without any problems. – Azeari Apr 3 '17 at 14:45
• Thanks! This helped with texlive 2013 too (got that version on doing sudo apt-get install texlive-base on WSL). – Kaushal Modi Nov 19 '17 at 2:27

You are using tlmgr from TeX Live/Debian, that is the packaged version. This version does not work with current (2016) release, and there is no way around that.

You have two options:

• install upstream TeX Live
• stop using Debian's tlmgr to install packages unless you find an archive of TL 2015 version.

This should happen only rarely when we (TeX Live Team) need to change the database format (it didn't happen in the last 5 years or so, and hopefully it will not happen for more than 5 years).

You can not upgrade TeXLive 2015 to TeXLive 2016. You should do a clean install.

From here:

Upgrade from TeX Live 2015 to 2016

Due to changes in the infrastructure, it is not feasible to upgrade from the TL'15 release to TL'16. (Ditto MacTeX.) Please just do a new installation.

I had the same issue Unknown directive ...containerchecksum using Debian on Docker. To overcome this I looked up all of my latex packages using:

apt-get install -y apt-file
apt-file update
apt-file search <name-of-latex-package>


Most of them were in texlive-latex-base and texlive-latex-base and the only other one that I needed was texlive-latex-extra. Using:

apt-get install -y texlive-latex-extra


I could then build my image without using tlmgr.

Note this method only installs the old version of texlive because apt-get maintains only the old version.

• what a nightmare. – nicolas Feb 9 '17 at 8:46