Suppose you have three installations of TeX on your machine, say vanilla TeX Live 2014 and 2015, along with the TeX Live provided by Ubuntu/Debian. The binaries for the three distributions will live in
<arch> might be
x86_64-linux or another string relative to your machine's hardware architecture.
If you set your
PATH variable with
.profile file or with the method of adding a file in
/etc/profile.d (which I recommend), then calling
from a shell will show
pdfTeX 3.14159265-2.6-1.40.16 (TeX Live 2015)
kpathsea version 6.2.1
and you're sure that any TeX program will use the tree located in
This is because of how the
kpathsea library, which all TeX Live programs are linked to, works: it sets a number of runtime environment variables based on the directory where the called binary lives in.
You can try seeing this by doing the following distinct calls from the shell (again, use the string for
<arch> corresponding to your machine's architecture)
and you'll receive three different answers:
kpsewhich is the public interface to the
You may get into big problems if your
PATH is not set in such a way that the GUI applications see the vanilla TeX Live binary directory before
/usr/bin. In my test virtual machines I place a file called
and I make a symbolic link
/opt/texbin pointing to the most recent TeX Live I have on the machine, by doing
sudo rm /opt/texbin
sudo ln -s /usr/local/texlive/2015/bin/x86_64-linux /opt/texbin
In this way
echo $PATH will show something like
provided no later file in
/etc/profile.d adds something in front of
PATH. The important thing is that
/opt/texbin is before
At a new release of TeX Live you just have to reset the symbolic link and do nothing else: the GUI programs and the shell will find the correct binaries. But, as seen above, you can still run the programs in other TeX distributions.
Remember: when you install a vanilla TeX Live, never set the option “Create symlink in system directories” to “Yes”. Be sure it's set to “No”, particularly on GNU/Linux systems, where a distribution provided TeX Live would take over in case of upgrades.