Page written by np&mp&rt
This page contains information on the Debian packaging of the TeX Live system, and on how to install “vanilla” TeX Live on your Debian/Ubuntu system.
See what version of TeXLive is shipped in:
For changes between versions please see the Debian QA page for the relevant source package: texlive-base, texlive-bin, texlive-extra, texlive-lang.
Packaging TeX Live takes a lot of work, so the latest version is often not packaged. However, the world of TeX changes slowly, so this shouldn't be a problem for most users. However, if you really want or need vanilla TeX Live, we provide instructions to integrate it with Debian.
TeX Live is packaged for Debian by the Debian TeX Task Force. Please use the Debian Bug Tracking System to report bugs in the packages and to request new features; for general comments and suggestions about Debian packaging and this page, and most particularly to offer help, write to debian-tex-maint@lists.debian.org. For TeX Live problems that are not related to the Debian packaging, please write to the tex-live mailing list.
You can check out the Subversion (till 2012) or git (from 2013 on) repositories for the Debian packaging:
The Debian TeX Task Force has written two documents on TeX on Debian, available in the tex-common package, or online (but be warned, these documents are slightly outdated):
There is also a talk given at EuroBachoTeX 2007: TeX (Live) on Debian.
To install the Debian/Ubuntu packages, just install the package texlive, e.g. from the Software Center or synaptic, or with the command:
apt-get install texliveThis will install texlive-latex-recommended, texlive-fonts-recommended, texlive-latex-base and texlive-base. You can go on and install additional packages (e.g. texlive-latex-extra) and additional languages (e.g. texlive-lang-german).
If you want to have a system closely mirroring a TeX Live DVD, install the package texlive-full, which pulls in the full set of TeX Live packages.
To install vanilla TeX Live so that it replaces the Debian packages, perform the following steps:
$ aptitude install equivs # as root
mkdir /tmp/tl-equivs && cd /tmp/tl-equivs
equivs-control texlive-local
# edit texlive-local (see below)
$ equivs-build texlive-local
$ sudo dpkg -i texlive-local_2021.99999999-1_all.deb
At the step "edit texlive-local", edit the Maintainer field and the list of the packages provided by your local TeX Live installation as appropriate. If you installed scheme-full except collection-texinfo as recommended, the file should look like the following example file for TL 2021. For older releases use one of the following examples files: for TL 2020, for TL 2019, for TL 2018, for TL 2017, for TL 2016, for TL 2015, for TL 2014, for TL 2013, for TL 2011.
To change paper sizes, use the normal Debian method, as in (to be run as root or with sudo):
paperconfig -p a4
Debian's TeX packages are hooked into this, so will consequently follow the Debian-wide paper setting.
If for some reason you want to set the paper size only for the TeX programs (why?), you can use the tl-paper utility: run tl-paper --help for info.
The vanilla/upstream TL methods using tlmgr will not work.
The document viewer evince
may exhibit two problems when trying to view dvi
files in this arrangement.
When starting Evince from the command line, you see messages like
kpathsea: Running mktexpk --mfmode / --bdpi 600 --mag 1+100/600 --dpi 700 cmss12
mktexpk: Permission denied
Evince is supervised by apparmor, a kernel module for preventing applications from doing mischief, and is forbidden to use TeXLive in /usr/local
. You can either switch off supervision completely by
sudo aa-disable /usr/bin/evince
(aa-disable
comes with the apparmor-utils
package), or you modify the apparmor rules. Add the following lines to /etc/apparmor.d/abstractions/evince
:
# TeXlive 2016
/usr/local/texlive/2016/bin/x86_64-linux/mktexpk Cx -> sanitized_helper,
/usr/local/texlive/2016/bin/x86_64-linux/mktextfm Cx -> sanitized_helper,
/usr/local/texlive/2016/bin/x86_64-linux/dvipdfm Cx -> sanitized_helper,
/usr/local/texlive/2016/bin/x86_64-linux/mkofm Cx -> sanitized_helper,
/usr/local/texlive/** r,
and the following lines to /etc/apparmor.d/abstractions/ubuntu-helpers
:
# TeXlive 2016
/usr/local/texlive/2016/texmf{,-dist}/web2c/{,**/}* Pixr,
/usr/local/texlive/2016/bin/x86_64-linux/* Pixr,
Insert the lines near similar-looking rules for Ubuntu-TeX. For these changes to take effect without rebooting, issue the command
sudo service apparmor restart
When starting Evince from the command line, you see messages like
kpathsea: Running mktexpk --mfmode / --bdpi 600 --mag 1+100/600 --dpi 700 cmss12
mktexpk: /home/someuser/.texlive2016/texmf-var/fonts/pk/ljfour/public/cm/cmss12.700pk already exists.
This is caused by Evince not finding the new configuration file for TeXLive 2016. The problem can be solved by putting a link to it into the folder /usr/local/share/texmf/web2c
:
sudo mkdir -p /usr/local/share/texmf/web2c
sudo ln -s /usr/local/texlive/2016/texmf-dist/web2c/texmf.cnf /usr/local/share/texmf/web2c/texmf.cnf
Tested for
TeXLive 2016 with Ubuntu 16.04, Evince 3.18.2
TeXLive 2016, Ubuntu 16.10, Evince 3.22
I would like to thank Frank Küster, Sebastian Rahtz and Karl Berry for their support.
That's all folks; happy TeXing!