This is an old revision of the document!
Table of Contents
How to install TeX Live on Linux
Slackware installs TeX Live by default. However, extra packages and documentation require root permissions to install (`texlive-extra` and `texlive-docs`), and they are not a full installation. This HOWTO explains how to install TeX Live as a non-root user.
Shared non-root installation
The initial installation size for this method is larger (~9.6GB), but it can save disk storage on shared machines, since users use the same installation. It also does not require tlmgr for additional packages.
# download the installer cd /tmp wget https://mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz # uncompress it tar xvf install-tl-unx.tar.gz # install it ( cd install-tl-[0-9]* version=$(sed '/version [0-9]/!d; s/.*version //' release-texlive.txt) # --texmfhome must be ~/usr/local/share/texmf, not hardcoded $HOME/usr/local/share/texmf ./install-tl \ --no-interaction \ --texdir=$HOME/usr/local/opt/texlive/$version \ --texmflocal=$HOME/usr/local/opt/texlive/texmf-local \ --texmfhome=~/usr/local/share/texmf \ --scheme=full \ --paper=letter # create a symlink for paths cd ~/usr/local/opt/texlive ln -s $version current ) # delete the installer rm -rf install-tl-* # add paths to TeX Live cat << 'EOT' >> ~/.bash_profile # TeX Live export PATH="$HOME/usr/local/opt/texlive/current/bin/x86_64-linux:$PATH" export MANPATH="$HOME/usr/local/opt/texlive/current/texmf-dist/doc/man:$MANPATH" export INFOPATH="$HOME/usr/local/opt/texlive/current/texmf-dist/doc/info:$INFOPATH" EOT # read them into the current session . ~/.bash_profile
For other users,
# create the same directory structure mkdir -p ~/usr/local/opt ~/usr/local/share/texmf # create a symbolic link to the above installation ln -sf ~hcho/usr/local/opt/texlive ~/usr/local/opt # add paths to TeX Live cat << 'EOT' >> ~/.bash_profile # TeX Live export PATH="$HOME/usr/local/opt/texlive/current/bin/x86_64-linux:$PATH" export MANPATH="$HOME/usr/local/opt/texlive/current/texmf-dist/doc/man:$MANPATH" export INFOPATH="$HOME/usr/local/opt/texlive/current/texmf-dist/doc/info:$INFOPATH" EOT # read them into the current session . ~/.bash_profile
Per-user installation
The initial installation size for this method is smaller (~330M) because it installs only the basic scheme and requires tlmgr to install additional packages. However, this method can take up too much space when used on shared machines, since each user must install it.
# download the installer cd /tmp wget https://mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz # uncompress it tar xvf install-tl-unx.tar.gz # install it ( cd install-tl-[0-9]* version=$(sed '/version [0-9]/!d; s/.*version //' release-texlive.txt) # --texmfhome can be hardcoded as $HOME/usr/local/share/texmf ./install-tl \ --no-interaction \ --texdir=$HOME/usr/local/opt/texlive/$version \ --texmflocal=$HOME/usr/local/opt/texlive/texmf-local \ --texmfhome=~/usr/local/share/texmf \ --scheme=basic \ --paper=letter # create a symlink for paths cd ~/usr/local/opt/texlive ln -s $version current ) # delete the installer rm -rf install-tl-* # add paths to TeX Live cat << 'EOT' >> ~/.bash_profile # TeX Live export PATH="$HOME/usr/local/opt/texlive/current/bin/x86_64-linux:$PATH" export MANPATH="$HOME/usr/local/opt/texlive/current/texmf-dist/doc/man:$MANPATH" export INFOPATH="$HOME/usr/local/opt/texlive/current/texmf-dist/doc/info:$INFOPATH" EOT # read them into the current session . ~/.bash_profile
Use tlmgr (already installed with TeX Live) to install new packages.
