Up until now I was under the impression that TeXLive's packages only updated when you invoked
tlmgr update ....
But today I noticed, for the first time, that some other process is definitely updating TeXLive packages. But I have not been able to identify which. So I'm looking for advice on how to determine what is causing these updates, and possibly help on how to stop these auto-updates from happening. More details below if you'd like to read on ;-)
TLDR: TeXLive packages auto-update on irregular intervals by some mysterious process. One of these updates left me with a broken install, and now I'd like to be able to disable any auto-updates of TeXLive.
I have installed TeXLive 2020 on Ubuntu 18.04.5. I also have an old 2019 installation still in place, but all paths are since long correctly set for TL2020. I installed and maintain TeXLive (in fact, the whole system) using Ansible (I haven't made those playbooks public yet because reasons, but if you think it helps trouble-shooting this issue, I'd be happy to share the relevant parts with you).
How do I know for sure that TeXLive's packages have been updated?
Well, after a recompilation of the exact same LaTeX document (on the same git commit, clean repo) suddenly failed the second time around with an error about
filehook-2019.sty not found, which made no sense, I looked for any files in the TeXLive tree that had been updated recently (i.e., today) and found a bunch, most notably (showing a selection):
$ find /usr/local/texlive -newermt "2020-12-16" /usr/local/texlive/2020/texmf-var/web2c/tlmgr.log /usr/local/texlive/2020/texmf-dist/doc/latex/filehook /usr/local/texlive/2020/texmf-dist/tex/latex/filehook /usr/local/texlive/2020/texmf-dist/source/latex/filehook /usr/local/texlive/2020/tlpkg/tlpobj/filehook.tlpobj /usr/local/texlive/2020/tlpkg/backups/filehook.r56291.tar.lz4 /usr/local/texlive/2020/tlpkg/backups/...
The clincher was the contents of the
tlmgr.log file (again, only showing select parts):
[Sun Nov 29 04:34:29 2020] update: bookcover (46410 -> 56947) [Tue Dec 15 21:27:05 2020] update: beamer (55908 -> 57140) [Tue Dec 15 23:11:08 2020] update: decision-table (56164 -> 57094) [Tue Dec 15 23:11:08 2020] update: denisbdoc (55474 -> 56664) [Wed Dec 16 02:41:56 2020] update: fgruler (42966 -> 56854) [Wed Dec 16 02:41:57 2020] update: filehook (56291 -> 56479)
The timings of these updates suggests that they are unrelated to my activities (which involves running
knitr::knit()). Also, it's not an update of all available TeXLive packages, just a small subset, which I could confirm by running
tlmgr update --self --all myself a short while later, which updated around 100 packages and after which my LaTeX document compiled just fine again.
On my machine, I have checked the user and system cron-jobs, and found nothing that pertains to tlmgr. I also checked the systemd jobs, ditto.
If by chance it's not
tlmgr that's causing these updates, then what could it be? I also have R installed on this machine (I regularly knit Rnw/Rmd documents) which includes the
tinytex R package, which I know contains a wrapper for
tlmgr. But unless these are being activated on some schedule, or are invoked when
knitr::knit() is called, I don't see how they are the culprits (also, I run knitr::knit() almost daily, and TeXLive package auto-updates appear to happen on much longer intervals as the log file shows).