tlmgr-platform
Manage TeX Live platform-specific binaries
TLDR
List all available platforms in the package repository
Add the executables for a specific platform
Remove the executables for a specific platform
Auto-detect and switch to the current platform
Switch to a specific platform
SYNOPSIS
While "tlmgr-platform" is not a direct executable command, its functionalities are integrated into the tlmgr
utility. The concept is often utilized implicitly by tlmgr
or explicitly through options:tlmgr <action> [options] [package-name[-PLATFORM_SUFFIX]]
tlmgr option --platform platform_string
tlmgr install package-name[-platform_string]
PARAMETERS
--platform=platform_string
Used with various tlmgr
commands (e.g., update
, install
, option
) to specify the target platform. A platform_string
identifies a specific OS and architecture (e.g., x86_64-linux
, win32
, universal-darwin
). When used with option
, it sets the default platform for future operations.--list-platform-files
(Used with tlmgr info
) Lists files specifically associated with the current or specified platform for a given package.--only-platform
(Used with tlmgr list
) Filters the output to show only platform-specific packages.-platform_suffix
Not a command-line option, but a common suffix appended to binary package names (e.g., collection-luatex-bin-x86_64-linux
) to indicate the platform for which the binary is compiled. tlmgr
uses this suffix to select the correct package.
DESCRIPTION
The term "tlmgr-platform" refers not to a standalone command, but to the crucial concept within the TeX Live Manager (tlmgr
) for handling platform-dependent software components. TeX Live provides a comprehensive distribution of TeX and related programs. Many of these programs are compiled binaries that are specific to a particular operating system and CPU architecture (e.g., Linux on x86_64, Windows on i386, macOS on arm64).
"tlmgr-platform" encompasses the mechanism by which tlmgr
identifies, installs, updates, and manages these platform-specific packages. This ensures that users receive the correct binaries for their system, maintaining compatibility and proper functionality. For instance, when installing a package like luatex-bin
, tlmgr
automatically selects the version compiled for the detected platform, such as luatex-bin-x86_64-linux
or luatex-bin-win32
. Users can also explicitly specify platforms for advanced scenarios.
CAVEATS
"tlmgr-platform" is not a standalone command; it represents the platform-management aspect of the tlmgr
utility. Misunderstanding or incorrectly specifying platform options can lead to installation issues, incompatible binaries, or a broken TeX Live environment. Users should generally allow tlmgr
to auto-detect the platform unless specific cross-platform management is required.
PLATFORM STRING DEFINITION
A "platform string" is a concise identifier specifying an operating system and its architecture. Examples include x86_64-linux
(64-bit Linux), i386-linux
(32-bit Linux), win32
(32-bit Windows, also used for 64-bit systems), universal-darwin
(macOS, for Intel and ARM binaries). tlmgr
uses this string to match packages to the user's system.
AUTO-DETECTION VS. MANUAL SPECIFICATION
By default, tlmgr
automatically detects the current system's platform and installs or updates corresponding binaries. Manual specification using --platform
is typically reserved for advanced use cases, such as preparing an installation for a different architecture (e.g., building a TeX Live installation for a server from a client machine).
HISTORY
The need for "tlmgr-platform" capabilities arose with the increasing diversity of operating systems and CPU architectures on which TeX Live is deployed. As TeX Live evolved from its earlier distribution methods (e.g., manual installation, older update scripts), tlmgr
was developed to provide a robust, cross-platform package management solution. The platform
concept was integral to tlmgr
from its inception, allowing a single distribution to serve users on Linux, Windows, macOS, and various other Unix-like systems, ensuring that correct compiled binaries are delivered to the appropriate environments. This modular approach significantly simplified maintenance and distribution.