The TeX Users Group provides a comprehensive TeX system called TeX Live from which Linux distributions build their own system for inclusion in their package repositories. For some time I have noticed some bugs that have caused minor breakage in a long and complex document I have been preparing each time one of the distributions I use regularly updates their distribution. In one case (openSUSE Tumbleweed) it became unusable. The Linux distribution which had the most stable and reliable TeX Live native distribution, and the one I switched to when the other distributions had a problem on the part of the document I was working on the time also had a major problem after an update, I decided to install the TeX Live distribution from TUG. This article describes one of the installation methods of the latest stable release of TeX Live from TUG.
I had considered using the TUG's distribution of TeX Live in the past, but the non-ideal experience I had with MikTeX on Windows compared with the simplicity of using a Linux distribution's package manager dissuaded me. I also had the impression that installing the TUG's TeX Live would be more complicated than it turned out to be. When an Arch update finally broke the last completely working TeX Live installation I had of all the installations on all distributions on my G5, I decided to go ahead and uninstall the distributions' version of TeX Live available from their repos and switch to the TeX Live from TUG, installed from the TeX Live ISO image, as opposed to the other installation methods.
This was a good decision, and one I recommend other TeX/LaTeX users consider using. TUG provides a well tested and stable yearly release whose components can be updated, if desired, using a TeX Live management tool included with the installation. It seems Linux distributions base their inclusions in their repositories on these updated components which, unlike the yearly release, are not thoroughly tested, leading to the instabilities and bugs I experienced. Installing this version on all the distributions I use will give me, in addition to stability, a consistent experience on all the distributions I use.
There installation media are available:
I chose the ISO based installation method because:
The installer is a Perl script, so it needs to be installed on the system. Most distributions include it by default. To use the available GUI mode, Tcl and its extension Tk (Tcl/Tk) are required. As I write this on Manjaro, I had already installed TeX Live on Arch, openSUSE Tumbleweed, Kubuntu, and Fedora, but I don't remember if they were already installed, by default or through some other prior package installation. On Manjaro Tcl/Tk is made available by installing the packages tcl andtk, of which tcl was already installed.
Some installer GUI related options, namely the expert, wizard, and perltk options (entered as -gui=expert, -gui=wizard, and -gui=perltk) require the Perl::Tk Perl module. such as advanced advanced and Perl, which is usually installed by Linux distributions. But it requires Perl modules that may not be installed by default in some distributions. If the installer is used in graphical mode, Tcl/TK is required, Perl::Tk for advanced options in GUI installer. In my prior installations I didn't use any of these options, so I don't know if this is generally installed by default. On Manjaro however, it happened to not be installed (which makes sense since Tk wasn't already installed. Installing the package perl-tk makes it available.
The prerequisites are summarized below:
I chose the ISO medium for installation instead of the net installer. The ISO image as well as the files necessary for verifying the authenticity of the image are in the mirror subdirectory at /systems/texlive/Images/with the obvious extensions. There are two sets of these files, one set named with only the release year, and the other set named with the release year and an appended full date. I downloaded texlive2020.iso.
Before executing the installer, some minor tasks are necessary.
sudo mkdir -p /mnt
sudo mount -t iso9660 -o ro,loop,noauto /home/brook/DataEXT4/SoftwareDownloads/texlive/texlive2020.iso /mnt
Perform the following steps to start the installer.
16:53:14 ⏚ [brook@G5-MANJARO:/mnt] $ cd /mnt
16:53:14 ⏚ [brook@G5-MANJARO:/mnt] 19h48m55s $ sudo perl install-tl -guiBecause this is executed with root privileges, the installation will be in a path writable by root , by default to /usr/local/texlive/2020 for this release. It is possible to install multiple versions of Tex Live by changing the final directory in the path. For example, when the 2021 version of the stable TeX Live is released it can be installed alongside the 2020 version at /usr/local/texlive/2021. Issuing the command as a regular user, or without using sudo will install it to the user's home directory. I chose the former.
After invoking the command to start the installer with sudo, the splash window shown in the first image in the following set of screenshots is presented very briefly before the screen of the second image is presented. The installer is only one screen with various installation settings displayed, with buttons that can be clicked to change values in a modal window. The details of some of the settings and modals are listed below.
Most settings that are shown in the installer refer to the TeX Directory Structure. If not adding any TeX/LaTeX components or LaTeX styles and classes from other sources, it does not need to be investigated. However, if adding these, it is preferable to refer to the The TeX Live Guide—2020, or for more detail, the TeX Directory Structure documentation available as a PDF.
The TeX Live distribution from the TUG provides an stable alternative to TeX Live as distributed by distributions which may include components that are not as thoroughly tested as those in the yearly TUG release. The installer is easy to use, and after installing as above requires no further configuration.
Installing the distribution form the TUG also allows the installation of multiple yearly releases on the system. As mentioned above, when the 2021 version of the yearly release becomes available, it can be installed to /usr/local/texlive/2021 alongside the 2020 version installed to /usr/local/texlive/2020. This multi-version installation will only require an adjustment of the user's $PATH.
The installation of TeX Live as described here also installs TeX Live Manager, which has a CLI and GUI interface, shown below.
It allows users to view information on the installed components, as well as install new components and update existing components. It must be used with care to not introduce instability to the installed packages. For example, without modifying the source of TeX Live components used by the tool, installing new packages may install current versions instead of those that are part of the yearly release.
It may be interesting to some that removing the packages that comprise the existing TeX Live installation with one command in Arch Based distributions required the esoteric command
sudo pacman -Rncs $(pacman -Qsq texlive).
16:23:40 ⏚ [brook@G5-MANJARO:~] 1 $ sudo pacman -Rncs $(pacman -Qsq texlive) checking dependencies... :: ghostscript optionally requires texlive-core: needed for dvipdf :: inkscape optionally requires texlive-core: latex formulas Package (18) Old Version Net Change kile 2.9.93-2 -20.91 MiB libsigsegv 2.12-2 -0.03 MiB libsynctex 2020.54586-6 -0.14 MiB t1lib 5.1.2-8 -1.17 MiB texmaker 5.0.4-1 -36.66 MiB texlive-bibtexextra 2020.55376-1 -24.42 MiB texlive-bin 2020.54586-6 -64.40 MiB texlive-core 2020.55416-1 -411.62 MiB texlive-fontsextra 2020.55407-1 -1324.82 MiB texlive-formatsextra 2020.54498-1 -3.18 MiB texlive-games 2020.55271-1 -3.31 MiB texlive-humanities 2020.55389-1 -1.99 MiB texlive-latexextra 2020.55418-1 -53.05 MiB texlive-music 2020.54758-2 -36.09 MiB texlive-pictures 2020.55342-1 -23.32 MiB texlive-pstricks 2020.55289-1 -39.11 MiB texlive-publishers 2020.55415-1 -58.44 MiB texlive-science 2020.55390-1 -13.69 MiB Total Removed Size: 2116.35 MiB :: Do you want to remove these packages? [Y/n]
On openSUSE Tumbleweed it was necessary to switch to root first before running the installer because of the following error
19:10:31 [brook@G5-openSUSE:/mnt] $ perl install-tl -gui 19:15:24 θ65° [brook@G5-openSUSE:/mnt] 3m4s $ sudo !! sudo perl install-tl -gui application-specific initialization failed: no display name and no $DISPLAY environment variable Error in startup script: no display name and no $DISPLAY environment variable while executing "load /usr/lib64/libtk8.6.so Tk" ("package ifneeded Tk 8.6.10" script) invoked from within "package require Tk" (file "./tlpkg/installer/install-tl-gui.tcl" line 33)
Executing the command after switching to the root user with the - option, the command executed successfully.
19:17:13 θ66° [brook@G5-openSUSE:/mnt] 5s $ su - root Password: G5-openSUSE:~ # cd /mnt G5-openSUSE:/mnt # perl install-tl -gui