LinuxCommandLibrary

tlmgr-platform

Manage TeX Live platform-specific binaries

TLDR

List all available platforms in the package repository

$ tlmgr platform list
copy

Add the executables for a specific platform
$ sudo tlmgr platform add [platform]
copy

Remove the executables for a specific platform
$ sudo tlmgr platform remove [platform]
copy

Auto-detect and switch to the current platform
$ sudo tlmgr platform set auto
copy

Switch to a specific platform
$ sudo tlmgr platform set [platform]
copy

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.

SEE ALSO

tlmgr(1), tex(1), kpsewhich(1)

Copied to clipboard