install-tl - TeX Live cross-platform installer
install-tl [option]...
install-tl-windows.bat [option]...
install-tl-advanced.bat [option]...
This installer creates a runnable TeX Live installation from
various media, including over the network, from local hard disk, a DVD, etc.
The installer works on all platforms supported by TeX Live. For information
on initially downloading TeX Live, see
<https://tug.org/texlive/acquire.html>.
The basic idea of TeX Live installation is for you to choose one
of the top-level schemes, each of which is defined as a different set
of collections and packages, where a collection is a set of
packages, and a package is what contains actual files.
Within the installer, you can choose a scheme, and further
customize the set of collections to install, but not the set of the
packages. To work at the package level, use
"tlmgr" (reference just below) after the
initial installation is complete.
The default is "scheme-full",
which installs everything, and this is highly recommended.
Post-installation configuration, package updates, and more, are
handled through tlmgr(1), the TeX Live Manager
(<https://tug.org/texlive/tlmgr.html>).
The most up-to-date version of this installer documentation is on
the Internet at <https://tug.org/texlive/doc/install-tl.html>.
For the full documentation of TeX Live, see
<https://tug.org/texlive/doc>.
As usual, all options can be specified in any order, and with
either a leading "-" or
"--". An argument value can be separated
from its option by either a space or
"=".
- -gui
[[=]module]
- If no module is given, starts the Tcl/Tk (see below) GUI installer.
If module is given loads the given installer module.
Currently the following modules are supported:
- "text"
- The text mode user interface (default on Unix systems, including Macs).
Same as the "-no-gui" option.
- "tcl" (or "perltk" or "wizard" or
"expert" or nothing)
- The Tcl/Tk user interface (default on Windows). It starts with a small
number of configuration options, roughly equivalent to what the former
wizard option offers, but a button
"Advanced" takes you to a screen with
roughly the same options as the former
"perltk" interface.
The default GUI requires Tcl/Tk. This is standard on Macs
(although it is considered deprecated since Catalina) and is often already
installed on GNU/Linux, or can be easily installed through a distro package
manager. For Windows, TeX Live provides a Tcl/Tk runtime.
- -no-gui
- Use the text mode installer (default except on Windows and Macs).
- -lang
llcode
- By default, the Tcl GUI uses the language detection built into Tcl/Tk. If
that fails you can select a different language by giving this option with
a language code (based on ISO 639-1). Currently supported (but not
necessarily completely translated) are: English (en, default), Czech (cs),
German (de), French (fr), Italian (it), Japanese (ja), Dutch (nl), Polish
(pl), Brazilian Portuguese (pt_BR), Russian (ru), Slovak (sk), Slovenian
(sl), Serbian (sr), Ukrainian (uk), Vietnamese (vi), simplified Chinese
(zh_CN), and traditional Chinese (zh_TW).
- -repository
url|path
- Specify the package repository to be used as the source of the
installation. In short, this can be a directory name or a url using
http(s), ftp, or scp. The documentation for
"tlmgr" has the details
(<https://tug.org/texlive/doc/tlmgr.html#OPTIONS>).
For installation, the default is to pick a mirror
automatically, using
<http://mirror.ctan.org/systems/texlive/tlnet>; the chosen mirror
is used for the entire download. You can use the special argument
"ctan" as an abbreviation for this.
(See <https://ctan.org> for more about CTAN and its mirrors.)
After installation is complete, you can use that installation
as the repository for another installation. If you chose to install less
than the full scheme containing all packages, the list of available
schemes will be adjusted accordingly.
- -select-repository
- This option allows you to choose a particular mirror from the current list
of active CTAN mirrors. This option is supported in the
"text" and
"gui" installer modes, and will also
offer to install from local media if available, or from a repository
specified on the command line. It's useful when the (default) automatic
redirection does not choose a good host for you.
- -all-options
- Normally options not relevant to the current platform are not shown (e.g.,
when running on Unix, Windows-specific options are omitted). Giving this
command line option allows configuring such "foreign"
settings.
- -custom-bin
path
- If you have built your own set of TeX Live binaries (perhaps because your
platform was not supported by TeX Live out of the box), this option allows
you to specify the path to a directory where the binaries for the
current system are present. The installation will continue as usual, but
at the end all files from path are copied over to
"bin/custom/" under your installation
directory and this "bin/custom/"
directory is what will be added to the path for the post-install actions.
To install multiple custom binary sets, manually rename
"custom" before doing each.
For more information on custom binaries, see
<https://tug.org/texlive/custom-bin.html>. For general information
on building TeX Live, see
<https://tug.org/texlive/build.html>.
- -debug-translation
- In the former Perl/Tk GUI modes, this option reported any missing, or more
likely untranslated, messages to standard error. Not yet implemented for
the Tcl interface. Helpful for translators to see what remains to be
done.
- -force-platform
platform
- Instead of auto-detecting the current platform, use platform.
Binaries for this platform must be present and they must actually be
runnable, or installation will fail.
"-force-arch" is a synonym.
- -help, --help,
-?
- Display this help and exit. (This help is also on the web at
<https://tug.org/texlive/doc/install-tl.html>). Sometimes the
"perldoc" and/or
"PAGER" programs on the system have
problems, possibly resulting in control characters being literally output.
This can't always be detected, but you can set the
"NOPERLDOC" environment variable and
"perldoc" will not be used.
- -in-place
- This is a quick-and-dirty installation option in case you already have an
rsync or svn checkout of TeX Live. It will use the checkout as-is and will
just do the necessary post-install. Be warned that the file
"tlpkg/texlive.tlpdb" may be rewritten,
that removal has to be done manually, and that the only realistic way to
maintain this installation is to redo it from time to time. This option is
not available via the installer interfaces. USE AT YOUR OWN RISK.
- -init-from-profile
profile_file
- Similar to -profile (see "PROFILES" below), but only
initializes the installation configuration from profile_file and
then starts a normal interactive session. Environment variables are not
ignored.
- -logfile
file
- Write both all messages (informational, debugging, warnings) to
file, in addition to standard output or standard error.
If this option is not given, the installer will create a log
file in the root of the writable installation tree, for example,
"/usr/local/texlive/YYYY/install-tl.log"
for the YYYY release.
- -no-cls
- For the text mode installer only: do not clear the screen when entering a
new menu (for debugging purposes).
- -no-persistent-downloads
- -persistent-downloads
- For network installs, activating this option makes the installer try to
set up a persistent connection using the
"Net::LWP" Perl module. This opens only
one connection between your computer and the server per session and reuses
it, instead of initiating a new download for each package, which typically
yields a significant speed-up.
This option is turned on by default, and the installation
program will fall back to using "wget"
if this is not possible. To disable usage of LWP and persistent
connections, use
"-no-persistent-downloads".
- -no-verify-downloads
- By default, if a GnuPG "gpg" binary is
found in PATH, downloads are verified against a cryptographic signature.
This option disables such verification. The full description is in the
Crytographic Verification section of the
"tlmgr" documentation, e.g.,
<https://tug.org/texlive/doc/tlmgr.html#CRYPTOGRAPHIC-VERIFICATION>
- -non-admin
- For Windows only: configure for the current user, not for all users.
- -portable
- Install for portable use, e.g., on a USB stick. Also selectable from
within the perltk and text installers.
- -print-platform
- Print the TeX Live identifier for the detected platform
(hardware/operating system) combination to standard output, and exit.
"-print-arch" is a synonym.
- -profile
profile_file
- Load profile_file and do the installation with no user interaction,
that is, a batch (unattended) install. Environment variables are ignored.
See "PROFILES" below.
- -q
- Omit normal informational messages.
- -scheme
scheme
- Schemes are the highest level of package grouping in TeX Live; the default
is to use the "full" scheme, which
includes everything. This option overrides that default. You can change
the scheme again before the actual installation with the usual menu. The
scheme argument may optionally have a prefix
"scheme-". The list of supported scheme
names depends on what your package repository provides; see the
interactive menu list.
- -v
- Include verbose debugging messages; repeat for maximum debugging:
"-v -v".
(Further repeats are accepted but ignored.)
- -version,
--version
- Output version information and exit. If
"-v" is also given, the versions of the
TeX Live modules used are also reported.
A profile file contains all the values needed to perform an
installation. After a normal installation has finished, a profile for that
exact installation is written to the file
"tlpkg/texlive.profile". In addition, from
the text menu one can select "P" to save
the current setup as a profile at any time.
Such a profile file can be given as the argument to
"-profile", for example to redo the exact
same installation on a different system. Alternatively, you can use a custom
profile, most easily created by starting from a generated one and changing
values, or an empty file, which will take all the defaults.
As mentioned above, the installer only supports selection by
scheme and collections, not individual packages, so packages cannot be
specified in profile files either. Use
"tlmgr" to work at the package level.
Within a profile file, each line consists of
variable [value]
except for comment lines starting with
"#". The possible variable names are
listed below. Values, when present, are either 0 or
1 for booleans, or strings (which must be specified
without any quote characters). Leading whitespace is ignored.
If the variable
"selected_scheme" is defined and no
collection variables at all are defined, then the collections required by
the specified scheme (which might change over time) are installed, without
explicitly listing them. This eases maintenance of profile files. If any
collections are specified in a profile, though, then all desired collections
must be given explicitly.
For example, a line
selected_scheme scheme-small
along with definitions for the installation directories (given
below under "path options") suffices to install the
"small" scheme with all default options. The schemes are described
in the "S" menu in the text installer, or
equivalent.
Besides "selected_scheme", here
is the list of variable names supported in a profile:
collection options (prefix
"collection-")
Collections are specified with a variable name with the prefix
"collection-" followed by a collection
name; there is no value. For instance,
"collection-basic". The collections are
described in the "C" menu.
Schemes and collections (and packages) are ultimately defined by
the files in the "tlpkg/tlpsrc/" source
directory.
path options
It is best to define all of these, even though they may not be
used in the installation, so as to avoid unintentionally getting a default
value that could cause problems later.
TEXDIR
TEXMFCONFIG
TEXMFVAR
TEXMFHOME
TEXMFLOCAL
TEXMFSYSCONFIG
TEXMFSYSVAR
installer options (prefix
"instopt_")
- "instopt_adjustpath" (default 0 on Unix, 1 on Windows)
- Adjust "PATH" environment variable.
- "instopt_adjustrepo" (default 1)
- Set remote repository to a multiplexed CTAN mirror after installation; see
"-repository" above.
- "instopt_letter" (default 0)
- Set letter size paper as the default, instead of a4.
- "instopt_portable" (default 0)
- Install for portable use, e.g., on a USB stick.
- "instopt_write18_restricted" (default 1)
- Enable "\write18" for a restricted set
of programs.
tlpdb options (prefix
"tlpdbopt_")
The definitive list is given in
"tlpkg/TeXLive/TLConfig.pm", in the hash
%TeXLive::TLConfig::TLPDBOptions, together with
explanations. All items given there except for
"tlpdbopt_location" can be specified. Here
is the current list:
tlpdbopt_autobackup
tlpdbopt_backupdir
tlpdbopt_create_formats
tlpdbopt_desktop_integration
tlpdbopt_file_assocs
tlpdbopt_generate_updmap
tlpdbopt_install_docfiles
tlpdbopt_install_srcfiles
tlpdbopt_post_code
tlpdbopt_sys_bin
tlpdbopt_sys_info
tlpdbopt_sys_man
tlpdbopt_w32_multi_user
platform options (prefix
"binary_")
For each supported platform in TeX Live (directories under
"bin/"), the variable
"binary_"PLATFORM can be set with
value 1. For example:
binary_x86_64-linux 1
If no "binary_" settings are
made, the default is whatever the current machine is running.
In releases before 2017, many profile variables had different
names (not documented here; see the
"install-tl" source). They are accepted
and transformed to the names given above. When a profile is written, the
names above are always used.
For more details on all of the above options, consult the TeX Live
installation manual, linked from <https://tug.org/texlive/doc>.
For ease in scripting and debugging,
"install-tl" looks for the following
environment variables. They are not of interest for normal user
installations.
- "TEXLIVE_DOWNLOADER"
- "TL_DOWNLOAD_PROGRAM"
- "TL_DOWNLOAD_ARGS"
- These override the normal choice of a download program; see the
"tlmgr" documentation, e.g.,
<https://tug.org/texlive/doc/tlmgr.html#ENVIRONMENT-VARIABLES>.
- "TEXLIVE_INSTALL_ENV_NOCHECK"
- Omit the check for environment variables containing the string
"tex". People developing TeX-related
software are likely to have many such variables.
- "TEXLIVE_INSTALL_NO_CONTEXT_CACHE"
- Omit creating the ConTeXt cache. This is useful for redistributors.
- "TEXLIVE_INSTALL_NO_RESUME"
- Omit check for installing on top of a previous installation and then
asking about importing previous settings.
- "TEXLIVE_INSTALL_NO_WELCOME"
- Omit printing the welcome message after successful installation, e.g.,
when testing.
- "TEXLIVE_INSTALL_PAPER"
- Set the default paper size for all relevant programs; must be either
"letter" or
"a4". The default is
"a4".
- "TEXLIVE_INSTALL_PREFIX"
- "TEXLIVE_INSTALL_TEXDIR"
- "TEXLIVE_INSTALL_TEXMFCONFIG"
- "TEXLIVE_INSTALL_TEXMFVAR"
- "TEXLIVE_INSTALL_TEXMFHOME"
- "TEXLIVE_INSTALL_TEXMFLOCAL"
- "TEXLIVE_INSTALL_TEXMFSYSCONFIG"
- "TEXLIVE_INSTALL_TEXMFSYSVAR"
- Specify the respective directories.
"TEXLIVE_INSTALL_PREFIX" defaults to
"/usr/local/texlive", while
"TEXLIVE_INSTALL_TEXDIR" defaults to the
release directory within that prefix, e.g.,
"/usr/local/texlive/2016". All the
defaults can be seen by running the installer interactively and then
typing "D" for the directory menu.
- "NOPERLDOC"
- Don't try to run the "--help" message
through "perldoc".
This script and its documentation were written for the TeX Live
distribution (<https://tug.org/texlive>) and both are licensed under
the GNU General Public License Version 2 or later.
$Id: install-tl 57337 2021-01-05 23:22:15Z
karl $