Note: this is all because I wanted to use tlmgr to install subfiles.sty. It's likely there's an easier way of dealing with this problem, but I might as well try getting tlmgr to work.
I seem to be getting the same error as this question, where the issue ended up being mismatched texlive and tlmgr versions.
Issue:
When I run tlmgr update --all, I get the following output:
(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.
The installation log is here. It appears that there aren't any errors, though there are quite a number of warnings. The majority of the warnings seem to be of the form:
warning: is already defined (\relax it first)
My installation is from install-tl (I think this is upstream?).
I've tried downloading and running update-tlmgr-latest.sh, as I read this can be helpful.
This gives the output:
Verifying archive integrity... All good. Uncompressing TeX Live Manager Updater............................................................................................................................................................................ ./runme.sh: Cannot find TeX Live root using kpsewhich --var-value=SELFAUTOPARENT. ./runme.sh: Please set your PATH as needed, otherwise it's hopeless.
This is confusing, as running kpsewhich --var-value=SELFAUTOPARENT
by itself outputs /usr/local/texlive/2016, so it appears the PATH is set.
It appears that texlive itself is working fine - I can compile documents, and running latex small2e seems to output reasonable files. To reiterate, this is a new texlive 2016 install. I initially installed off of synaptic, but when I realized that's likely out of date I deleted it, and installed via install-tl.
UPDATE As (for unrelated reasons) I reinstalled my OS the day prior, I decided to reinstall my OS to fix this.
which tlmgrsay, it looks like you are picking up an old one as it is using/usr/share/texlive/tlpkgie your system tex not the one in/usr/local/texlive/2016and the error message you show is expected from an old tlmgr from 2015 or earlier that doesn't have the checksum support used by the texlive 2016 repositories. – David Carlisle Dec 20 '16 at 23:59which tlmgrsays/usr/local/texlive/2016/bin/x86_64-linux/tlmgr– Mark Schultz-Wu Dec 20 '16 at 23:59tlmgryou are running is definitely NOT from upstream. When you ran the update command, did you usesudoor switch to root or what? I guess when you ranwhichandkpsewhich, you ran them as your ordinary user, correct? – cfr Dec 21 '16 at 00:51sudoinstead of switching to root, and ranwhichandkpsewhichas an ordinary user. Should I remove the install I made as a user and redownload it as root? – Mark Schultz-Wu Dec 21 '16 at 00:52aptor whatever? – cfr Dec 21 '16 at 00:52synapticand used the "completely delete" option. I'm not totally sure entirely what that entails. – Mark Schultz-Wu Dec 21 '16 at 00:53install-tl, did you usesudo? You must have done something like that for it to be in/usr/local. You don't need to undo that/usr/localinstall. You just need to eliminate the old one and install a suitable dummy. – cfr Dec 21 '16 at 00:54sudo which tlmgrgive? – cfr Dec 21 '16 at 00:55sudo which tlmgrgives/usr/bin/tlmgr– Mark Schultz-Wu Dec 21 '16 at 00:55