Upgrade from TeX Live 2023 to 2024

By default, please get the new TL by doing a new installation instead of proceeding here. You don't need to remove an existing installation.

That is, you should have a specific reason to do an upgrade instead of a new install, and you should be familiar with Unix and TeX Live. If you have any doubts whatsoever, please do a new installation.

We do not provide a dedicated upgrade script. The procedure here is not bullet-proof, or recommended; consider it provided as-is, to be used at your own risk, if you want to do so, for reasons of your own. It's your responsibility to understand what is being done. Failing any of that, please do a new installation.

These instructions should work essentially equivalently whether starting with a standard TL installation from the previous year, or a pretest installation for the present year (that you are upgrading to).

These instructions say nothing about what is done as root or as a normal user; that's because TeX Live installations are done both ways, and we can't know which you chose (root is not required for anything in TL itself). You need to know. If you don't, do a new installation.


  1. Find the parent directory of the current installation; it's /usr/local/texlive by default.

  2. Copy the whole directory 2023 (or a pretest installation directory) to 2024, preserving symbolic links; for example:
    cp -a 2023 2024
    If you don't understand this, stop here and do a regular installation.

  3. To save some space, you can exclude tlpkg/backups/* or remove them from the 2024/ directory afterwards. (Theoretically, you could rename (mv) 2023 to 2024, but we strongly advise against this, since you may lose your existing installation with no good way back.)

  4. If you installed symlinks in system directories (via the installer option or tlmgr path add), remove them now with tlmgr path remove. You'll need to add them back later (listed below).

  5. As needed, adjust your PATH in your startup files to point to .../2024/bin/platform instead of .../2023/... (or, in the alternative, whatever your pretest directory was named).

  6. Log out and log in, and confirm that your PATH now has the 2024 directory. This is crucial. Your PATH must use the new location.

  7. cd to your top-level .../2024 directory.

  8. Download the latest update-tlmgr-latest.sh and run it like this:
    sh update-tlmgr-latest.sh -- --upgrade
    (The extra options are to try to prevent the upgrade from happening unintentionally.)

  9. If you don't want to use the default repository (that is, not the automatic CTAN redirection) for downloading the new files, run (as usual):
    tlmgr option repository YOUR-REPO
    Or, to explicitly reset the repository for updates to CTAN, e.g., in the case of starting with a pretest installation:
    tlmgr option repository ctan

  10. Run (with patience, it will be downloading all the new material):
    tlmgr update --self --all

  11. Remake the lualatex/fontspec cache:
    luaotfload-tool -fu

  12. If you want symlinks in system directories (not recommended), run tlmgr path add.

  13. When you are happy with how the new TL is working, if you wish you can remove the old installation by running .../2023/.../tlmgr uninstall (full tlmgr doc). Not recommended, since you might always find a document that doesn't work with the new version, just at the wrong time.

Good luck, and to reiterate from the top, don't do any of this if it doesn't make sense to you. Just do a fresh installation.


There is no comparable upgrade procedure for Windows. Doing a new installation is necessary.

$Date: 2024/03/13 22:47:17 $; TeX Live;
TUG home page; webmaster; facebook; twitter; mastodon;   (via DuckDuckGo)