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
/usr/local/texlive/2014/bin/<arch>
/usr/local/texlive/2015/bin/<arch>
/usr/bin
where <arch>
might be i386-linux
, x86_64-linux
or another string relative to your machine's hardware architecture.
If you set your PATH
variable with
export PATH=/usr/local/texlive/2015/bin/i386-linux:$PATH
in your .profile
file or with the method of adding a file in /etc/profile.d
(which I recommend), then calling
pdftex --version
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
/usr/local/texlive/2015
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)
kpsewhich plain.tex
/usr/local/texlive/2014/bin/x86_64-linux/kpsewhich plain.tex
/usr/bin/kpsewhich plain.tex
and you'll receive three different answers:
/usr/local/texlive/2015/texmf-dist/tex/plain/base/plain.tex
/usr/local/texlive/2014/texmf-dist/tex/plain/base/plain.tex
/usr/share/texlive/texmf-dist/tex/plain/base/plain.tex
The program kpsewhich
is the public interface to the kpathsea
library.
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 texlive.sh
in /etc/profile.d
containing
export PATH=/opt/texbin:${PATH}
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
/opt/texbin:...:/usr/bin:...
provided no later file in /etc/profile.d
adds something in front of PATH
. The important thing is that /opt/texbin
is before /usr/bin
.
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.
Best Answer
Sometimes my students have problems installing MiKTeX or TeX Live with the same effect you had with TeX Live: the installing would take too much time (usual solution: change the mirror to download).
The time it needs to install depends on three things:
For point 1. and 2. check the quality of your internet connection. use the system panal to view how many packets are send and arrives on your computer. If the mirror is slow, change the mirror to download from.
To point 3.: Your computer is new and fast enouph to handle the download, even with activated antivirus software. But you wrote: "I have my antimalware / antivirus software disabled" Please: Never disable the antivirus software when you are connected to the internet! Just do the following:
But with a modern computer there should be no reason to deactivate antivirus software. If the computer is very slow I would check the memory and the hard disk drive. With a new computer the chanche is there that memory or hard disk drive are faulty ...