mpm

1 &PACKAGE_NAME; &miktexrev; User Commands

mpm

&MiKTeX; package manager

    &mpm;
    option

## Description

&MPM; (&MiKTeXPackageManager;) is used to install packages from a &MiKTeX; package repository.

&MPM; starts in windowed mode, if you do not specify any command-line options.

## User mode vs. administrator mode

This utility can be run in two modes:

User mode (default)

- &MPM; operates on the user installation directory (usually &userinstalldir;).

Administrator mode

- &MPM; operates on the system-wide installation directory (usually &commoninstalldir;), assuming that the &MiKTeX; setup is shared by all users. &MPM; must be run with administrator privileges.

By default, &MPM; runs in user mode. You can turn on administrator mode with the `--admin` option. For example, if you want to install a package for all users, you invoke &MPM; as follows:

    &prompt;mpm --admin --install=a0poster

## Options

`--find-updates`

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

`--find-upgrades`

- Search for packages that must be installed in order to complete the &MiKTeX; setup (can be used in conjunction with `--package-level`). Then print the package list.

`--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=`packagelist``

- Install the specified packages.

`--install=@`listfile``

- Install packages. Package names are read from `listfile`.

`--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-package-names`

- List the package names.

`--max-count=`num``

- Stop after `num` packages.

`--package-level=`level``

- Use the specified package level (to be used in conjunction with `--find-upgrades` and `--upgrade`).

  `level` must be one of:

  `essential`

- Includes mandatory packages.

`basic`

- Includes popular packages.

`complete`

- Includes all available packages.

`--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.

`--require=`packagelist``

- Install packages which are not already installed.

`--require=@`listfile``

- Install packages which are not already installed. Package names are read from `listfile`.

`--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 &URL;s.

`--repository-release-state=`state``

- Select the release state of the remote package repository. The release state is relevant for finding appropriate package repositories (`--list-repositories`, `--pick-repository-url`). The release state must be one of `stable` or `next`.

`--reverse`

- Reverse the result of comparisons (when listing packages).

`--set-repository=`location``

- Store the location of the default package repository in the &MiKTeX; configuration data store. The location can be either a fully qualified path name (a local package repository) or an &URL; (a remote package repository).

`--uninstall=`package``

- Uninstall the specified package.

`--update`

- Update all installed packages.

`--update=`packagelist``

- Update the specified packages.

`--update=@`listfile``

- Update packages. Package names are read from `listfile`.

`--update-db`

- Synchronize the local package database with the package repository.

`--upgrade`

- Upgrade the &MiKTeX; setup to a package level (can be used in conjunction with `--package-level`). This will install all the missing packages.

`--verify`

- Verify the integrity of all installed packages.

`--verify=`packagelist``

- Verify the integrity of the specified packages.

`--verify=@`listfile``

- Verify the integrity packages. Package names are read from `listfile`.

`--verbose`

- Turn on verbose output mode.

## 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.

## Examples

Print the list of known package repository &URL;s:

    &prompt;mpm --list-repositories

Retrieve the package database files from the &FTP; server `some.server` (assuming this a registered &URL;):

    &prompt;mpm --repository=ftp://some.server/miktex/packages/ \
      --verbose --update-db

Print information about package a0poster:

    &prompt;mpm --print-package-info a0poster

Install package a0poster:

    &prompt;mpm --verbose --install a0poster

Update all installed packages:

    &prompt;mpm --verbose --update

Print the list of installed packages:

    &prompt;mpm --list | grep ^i

Upgrade the &MiKTeX; setup to the highest level:

    &prompt;mpm --verbose --package-level=complete --upgrade

## Environment

`http_proxy`

- The proxy server to be used for &HTTP;.

`FTP_PROXY`

- The proxy server to be used for &FTP;.

`ALL_PROXY`

- The proxy server to be used, if no protocol-specific proxy is set.

`NO_PROXY`

- Comma-separated list of host names that should not go through any proxy.