LinuxCommandLibrary

tlmgr-recreate-tlpdb

Rebuild TeX Live package database

TLDR

Recreate the texlive.tlpdb database file and dump it to stdout

$ sudo tlmgr recreate-tlpdb
copy

SYNOPSIS

tlmgr recreate-tlpdb

DESCRIPTION

The `tlmgr-recreate-tlpdb` command is a utility specifically designed to rebuild the TeX Live Package Database (tlpdb). This command is crucial when the existing `tlpdb` becomes corrupted or inconsistent, preventing TeX Live Manager (`tlmgr`) from functioning correctly. A corrupted `tlpdb` can manifest in various ways, such as `tlmgr` failing to list available packages, install new packages, or update existing ones. Rebuilding the `tlpdb` essentially creates a fresh copy of the database based on the currently installed TeX Live distribution.
This process involves scanning the local TeX Live installation directory and reconstructing the package information. Because it rebuilds the entire database from scratch, it's usually more robust than trying to repair an existing, potentially damaged, database. Use it only as a last resort.
Important: The command usually isn't executed manually; `tlmgr` often triggers it internally when detecting problems with the existing database.

CAVEATS

This command overwrites the existing `tlpdb`. Ensure you have a backup if needed. It's generally advised to run this only when absolutely necessary, as it can be time-consuming, especially with a large TeX Live installation.

WHEN TO USE

Use `tlmgr recreate-tlpdb` when:
- `tlmgr` reports errors related to a corrupted or invalid `tlpdb`.
- Package installation or updates fail consistently with database-related errors.
- Listing available packages with `tlmgr` fails or produces incorrect results.

HOW IT WORKS

The `tlmgr recreate-tlpdb` command essentially rescans your entire TeX Live installation. It examines each directory and file to identify TeX Live packages and their associated metadata. This information is then used to reconstruct the `tlpdb`, effectively creating a new, consistent database. This command should ideally only be called by `tlmgr` itself. Calling it directly can result in problems.

SEE ALSO

tlmgr(1)

Copied to clipboard