6 Answers
6

TeX Live from the Terminal/Command Prompt (Windows/Mac/Linux)

Understanding the TeX Live update scheme

If you have a TeXLive distribution (including MacTeX) there are a few things to understand about updating your system.

All TeX distributions consist of both binaries (including scripts) and packages (including classes). It is important to understand that for TeX Live these two parts of the distribution are effectively on separate update schedules, and this can lead to some confusion during the period in which the major updates of binaries is taking place.

The TeX Live binary part of the distribution undergoes a major update only once a year, while the packages can be updated constantly. This system, however comes at a cost: once a new binary version of TeX Live is available, package updates for the previous years are no longer available.

This means that if you have e.g. TeXLive 2011, you can update its packages roughly until TeXLive 2012 is created. After that point, your 2011 system will not be able to update any packages ever again using the normal package manager. (You can update individual packages manually via CTAN, of course.)

Major Updates

The major binary updates of TeX Live (which come out yearly) must be installed as if you were installing a fresh distribution. Since each version is installed in a folder named by its year, it's possible to have multiple distributions on the same system.

Package Updates

Once you have a version of TeX Live installed, you can update the packages as often as you like using the package manager tlmgr. The simplest command is:

tlmgr update --all

which will update all packages that have changed since the last update.

If you want to see a list of the updatable packages without updating them, you can use

tlmgr update --list

Sometimes it's necessary to update the package manager itself, in which case you need to use

tlmgr update --self

It is also possible to combine options together

tlmgr update --self --all --reinstall-forcibly-removed

with the final option (--reinstall-forcibly-removed) used as occasionally a package will become corrupted in one update and will therefore need to be reinstalled.

The Mac has a very nice GUI to the package manager called TeX Live Utility. See the MacOS answer for more details on that.

When is TeX Live "frozen"?

Once a year, the TeX Live packagers must "freeze" the system so that the latest version of the distribution (with new binaries) can be produced and tested. This means that there is a period during which tlmgr will no longer be able to update the current year's distribution even though the new year's distribution is not publicly available. This freezing is necessary so that the new distribution can be guaranteed to work. Once the current year is frozen, it will never be able to be further updated. To keep up-to-date, you will need to install the next year's distribution when it becomes available. For additional information, see Why does TeX Live "require" yearly updates?

Administrator/root privileges

If you install TeX Live as Administrator/root, then you will also need to update with these privileges. On Windows, an Administrator-privilege Command Prompt is run by finding the Command Prompt icon in the Start Menu, right clicking to obtain the options and choosing 'Run as Administrator ...'. For Mac users, using sudo will be sufficient as tlmgr will be available on the path. This may not be the case in Linux distributions: see below.

Some notes on Linux "TeX Live" based packages

If you installed your TeX Live system using a Linux package manager (for example, apt-get), then there is no guarantee that it will be updated on the same schedule as the regular TeX Live. In most cases the updates lag by some time, often years, depending on the particular version of Linux you are running. For this reason, most experienced TeX users who run Linux install the vanilla TeX Live distribution directly, bypassing their OS package manager completely. See How to install "vanilla" TeXLive on Debian or Ubuntu? for more information on this.

If you followed the directions in How to install "vanilla" TeXLive on Debian or Ubuntu? and installed TeX Live as root then you will also need to run tlmgr as root. You can do so (for example) by running sudo -s from the command line, which will log you in as root. Alternatively, you can run tlmgr with the full path, for example on a 64-bit installation

sudo /usr/local/texlive/2011/bin/x86_64-linux/tlmgr

Another option is to change the ownership of the TeX Live directory, by using (something like)

sudo chown -R yourusername /usr/local/texlive/2011

after which you can run tlmgr as a normal user (without sudo).

When moving to a new version of TeXLive (e.g from 2011 to 2012) you may choose to remove the current installation you can use

When one install TeX Live from the DVD, the default package repository is D: or the unit that corresponds to the DVD. I think is worth to mention how to change the default package repository to an online repository in order to perform the updates.
– leoMay 12 '12 at 23:21

@leo This is a community wiki answer, so feel free to add some explanation of this if you like. I use a Mac, so I've never installed TeX Live using its own installer, and never from the DVD, so I certainly can't add this info myself. Although I'm not quite sure where this would fit into the answer. (I also suspect that most people don't install from DVD.)
– Alan MunnMay 12 '12 at 23:57

2

The command line: tlmgr option repository http://mirror.ctan.org/systems/texlive/tlnet tells tlmgr to use a nearby CTAN mirror for future updates. If there are problems with the automatic mirror selection, you can specify a particular CTAN mirror from the list
– leoMay 13 '12 at 14:43

4

Another idea for install is to manually install TeXLive to a separate path (i.e. /usr/local/texlive), create a group texlive, add yourself to it, and then change the install dir's group to texlive with permissions 775. This way you can install and update TeXLive without sudo, but the directory is still protected from modifications by users not in the texlive group.
– RobbieMay 19 '12 at 8:17

2

Regarding Major Updates it should be noted that for TeX Live 2011 it was possible (and documented) for an experienced user to upgrade from TL2010 with a few commands. I hope this will again be possible for TL2012. A fresh installation is... refreshing, but it is also welcome to be able to transfer the selection of packages to the new version.
– nplatisJun 7 '12 at 5:20

MacTeX (Mac)

With MacTeX on Mac OS X you’ll have the TeX Live Utility installed. If you start this app it will connect with CTAN and list up the possible updates.

In the list you can see if a package is updated, removed from TeX Live (gray) or new/uninstalled (blue). Now make sure that you are not using one of the packages that will be deleted. If you are using one of them save its files to your local texmf tree. You may also check what's changed in the updated packages, after installing them. Now you can update all packages with cmd + shift + U, or only the selected packages with cmd + U.

With cmd + I you can see some information about a package and get a list of documentation files.

MiKTeX GUI (Windows XP/Vista/7/8/10)

MiKTex can be updated with 2 methods. With method 1 only updates are possible – it's intended for this task –, method 2 uses the package manager, originally intended for manual package installations and uninstallations.

Unlike in TeXlive also binary files are updated if necessary. They are provided as additional packages with names starting with miktex-<name>-bin (and supporting packages with similar names).

Notes on admin mode

If you installed MiKTeX with Administrator privileges (as a multi-user installation), you will have '(Admin)' versions of the commands described here. To fully update your system, run the update both with and without the '(Admin)' mode enabled. This is necessary as with auto-install enabled, MiKTeX will have managed files both in the system-wide (Admin) area and your own user tree.

MikTeX Console

Newer versions of MikTeX have one tool to do all maintenance tasks. The MikTeX Console. You can find it in

start>All Programs>MiKTeX 2.9>MikTeX Console

You will be greeted with the following screen

If you installed MiKTeX with Administrator privileges, you will have to go through the following steps once in user mode and once in Admin mode.

Choose one of the two options. If you choose your mode the console may restart and you will be met with

Go to Updates in the sidebar to the left.

Press on Check for updates and wait for MikTeX to fetch the update information from the package database (this may take a while, hang in there).

If updates are available they will be listed below and you can install them by clicking on Update now. You can deselect certain packages. Note that if important system updates are available, not all packages may be checked for updates initially. Do not select more packages in that case, run the updater with only the checked packages first and then re-run it afterwards. On the second run all other packages should be selected and will be updated.

The windows is greyed-out while the packages update. It shows a short progress report.

Older MikTeX versions: MikTeX Update and Package Manager

Method 1

The update utility can be started from

start>All Programs>MiKTeX 2.9>Maintenance>Update.

You can also search for "Console" or "MikTeX Console" in the search bar. Most MikTeX links in the start menu will lead to the console directly. If you have a link "MikTeX Update", it will direct you to the update page of the MikTeX Console.

This will open up a window like this:

Here, one can choose the package repositories and adjust connection settings. Pressing Next button will take you to the next window which will show, after a search through the repository for update-able packages (if any).

Here we can select the packages we want to update and click Next again:

Usually all packages are already selected. But sometimes, if an important internal MiKTeX binary has to be updated, this is selected alone and the update should separately be executed, first. Afterwards a second call of the update utility will select all other update-able packages.

This will start the downloading process and the update will be performed:

Method 2:

Alternatively, one can open MiKTeX package manager by

start>All Programs>MiKTeX 2.9>Maintenance>Package Manager.

When opened, it looks like this:

From here, one can choose the repository tab to change the repository and synchronize the packages with repository. After synchronizing, through Edit tab, we can perform Select All or Select Installable Packages or Select Updateable Packages. When this is done, the + or - buttons under the File menu get activated. By clicking + we can install updateable packages, while - button will remove the packages (Attention!).

Dear @matth: This question is expecting the detailed answers for how to update and not about the best practices. I don't feel that they are related.
– user11232May 14 '12 at 11:49

Dear @HarishKumar: You give a note about the admin mode. In the question I linked this aspect is discussed further (or how to avoid the situation of having two trees). If you insist these are unrelated I do not mind to remove my comments.
– matthMay 14 '12 at 12:51

@matth: Never mind. If you feel that it will be useful for somebody, let it be there. No problem at all.
– user11232May 14 '12 at 13:28

The related post was useful for me, I wasn't aware of the potential Admin/User issues with conflicting packages.
– RabarberskiOct 29 '12 at 8:56

TeX Live GUI (Windows XP/Vist/7/8)

TeX Live on Windows includes a graphical user interface for managing installed packages. The first stage of using this, after starting it from the Start Menu, is to load the package list from the internet.

Once this is done, you can simply press the Update button to run the process.

Notice that I've chosen to reinstall any removed packages: this is a useful precaution against the occasion issue with a removed package.

If you installed TeX Live with Administrator privileges, remember to run the TeX Live Manager with the same privileges.

Test the package repository for updates, then print the list of updateable packages.

--help

Give help and exit.

--hhelp

This option is only available on Windows systems: show the manual page in an HTML Help window and exit when the window is closed.

--import=PACKAGE

Import the specified package from another MiKTeX installation. The root directory must be specified via --repository=DIR.

--import-all

Import all packages from another MiKTeX installation. The root directory must be specified via --repository=DIR.

--install=package

Install the specified package.

--install-some=file

Install packages listed (line-by-line) in the specified file.

--list

List the contents of the package database: for each package, print the installation status, the number of files, the size, and the name.

--list-repositories

Download the list of known package repository URLs from the MiKTeX project server, then print the list.

--pick-repository-url

Pick up a suitable URL from the package repository list and print it.

--print-package-info=package

Print detailed information about the specified package.

--quiet

Suppress all output, except errors.

--repository=location

Use the specified location as the package repository. The location can be either a fully qualified path name (a local package repository) or an URL (a remote package repository). You can use the --list-repositories to retrieve a list of working package repository URLs.

--set-repository=location

This option is only available on Windows systems: permanently register the location of the default package repository in the user area of the Windows Registry. The location can be either a fully qualified path name (a local package repository) or an URL (a remote package repository).

Update the specified package, if an updated version is available in the package repository. Update all installed packages, if package is omitted.

--update-db

Synchronize the local package database with the package repository.

--update-some=file

Update packages listed (line-by-line) in the specified file.

--verify

Verify the integrity of all installed packages.

--verify=package

Verify the integrity of the specified package.

--verbose

Turn on verbose output mode.

--version

Show version information and exit.

Installation Destination:

All files are installed in the TEXMF installation directory (usually C:\Program Files\MiKTeX 2.9). It may be necessary to specify the location of the installation directory, if you are running MPM as a standalone program, i.e., if MiKTeX is not the TeX system.

The --install-root option allows you to set the installation directory for one invocation of MPM.

Package Database:

All package information is retrieved from the package database, which must have been properly installed by running MPM with the --update-db option.

TeX Live OpenBSD

All packages TeXLive included are compiled against specific version of OpenBSD i.e. package upgrade is not possible without upgrading kernel and userland first. A typical desktop user (i386, amd64, loongson, sparc64, macppc, sgi) moving from 2010 TeXLive version which was shipped with OpenBSD 5.0 released November 1 of 2011 to TeXLive 2011 version which is shipped with OpenBSD 5.1 released May 1 of 2012 will preform the following steps:

1.. BEFORE UPGRADING: must delete an X directory:

rm -rf /usr/X11R6/share/X11/xkb/symbols/srvr_ctrl

2.. Boot from the install kernel by boot media or bsd.rd and follow the upgrade steps, which are very similar to the install process. A typical OpenBSD installation takes less than 10 minutes.

5.. Now to update all your packages not just TeXLive, make sure PKG_PATH is pointing to the 5.1 packages directory on your CD or nearest FTP mirror, and use something like

pkg_add -ui

That is it. You now have completely updated system with all packages updated not just TeXLive.

Warning:

The above is just an outline of the upgrading process for a typical desktop machine and may vary pending on your local modifications. It is not meant to be substitute for reading official documentation.

Caveats:

Upgrading is a convenient way to bring your OpenBSD system up to the most recent version. However, the results are not intended to precisely match the results of a wipe-and-reload installation. Old library files in particular are not removed in the upgrade process, as they may be required by older applications that may or may not be upgraded at this time. If you REALLY wish to get rid of all these old files, you are probably better off reinstalling from scratch. A typical OpenBSD installation with custom siteXX.tgz and install/upgrade.site files/scripts will take lass than 10 minutes plus another 10-15 minutes for installing all packages as long as they are stored somewhere locally.

Thank you for your interest in this question.
Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).