URPMI(1)

NAME
urpmi - rpm downloader, installer and dependency solver

SYNOPSIS
    urpmi [options] [package_names | rpm_files...]
    urpmi [options] --auto-select

DESCRIPTION
The purpose of urpmi is to install rpm packages, including all their dependencies. You can also use it to install the build dependencies of an srpm (an rpm source package), or the build dependencies read from a plain rpm spec file; or to install a source package itself in order to rebuild it afterwards.

You can compare rpm vs. urpmi with insmod vs. modprobe or dpkg vs apt-get. Just run urpmi followed by what you think is the name of the package(s), and urpmi will:

•   Propose different package names if the name was ambiguous, and quit.

•   If only one corresponding package is found, check whether its dependencies are already installed.

•   If not, propose to install the dependencies, and on a positive answer, proceed.

•   Finish by installing the requested package(s).

Note that urpmi handles installations from various types of media (ftp, http, https, rsync, ssh, local and nfs volumes, and removable media such as CDROMs or DVDs) and is able to install dependencies from a medium different from the original package's media. For removable media, urpmi may ask you to insert the appropriate disk, if necessary.

To add a new medium containing rpms, run "urpmi.addmedia". To remove an existing medium, use "urpmi.removemedia". To update the package list (for example when the ftp archive changes) use "urpmi.update".

OPTIONS

-h, -?, --help
    Prints a help message and exit.

--force
    Assume yes on all questions.

-q, --quiet
    Quiet mode: when calling rpm no upgrade status is printed.

-v, --verbose
    Proposes a verbose mode with various messages.

  Media Selection

--media media1,...,mediaN
    Select specific media to be used, instead of defaulting to all available media (or all update media if --update is used). No rpm will be fetched from other media.

--excludemedia media1,...,mediaN
    Do not use the specified media.

--searchmedia media1,...,mediaN
    Use only the specified media to search for packages that are specified on the command-line, or which are found when using --auto-select. Dependencies of those packages can still be found in other media.

--sortmedia media1,...,mediaN
    Sort the specified media. Substrings may be used to simplify grouping. This way, "media1" will be taken into account first, then "media2", and so on. Media which aren't listed are taken into account after the others.

--update
    Use only update media. This means that urpmi will search packages and resolve dependencies only in media marked as containing updates.

--synthesis file
    Use the specified synthesis file instead of the urpmi database for searching packages and resolving dependencies. This option is mostly designed for internal use.

--use-distrib directory
    Configure urpmi on the fly from a distrib tree, useful to install a chroot with the --root option. See the description of the --distrib option in the "urpmi.addmedia" manpage.

  Operation Modes

--auto-select
    Select all packages that can be upgraded, according to already installed packages and packages listed in various registered media.

--auto-update
    Like --auto-select, but also updates all relevant media before selection of upgradeable packages is made. This avoids a previous call to "urpmi.update".

--auto-orphans
    Remove all orphans without asking (see also "urpme --auto-orphans")

  Package Selection

--auto
    Install all required dependencies without asking.

-y, --fuzzy
    Disable fast search on exact package name; that means that urpmi will propose all packages matching part of the name, even if one of them matches exactly the specified name.

--buildrequires
    Select all the "BuildRequires" of the wanted source packages. (You can also install the build dependencies read directly from an rpm spec file.)

--install-src
    Install only the source package (that is, no binary packages will be installed). You don't need to be root to use this option (if you have write access to your rpm build top directory).

--no-recommends
    With this option, urpmi will not install "recommended" packages. By default, urpmi will install (newly) recommended packages.

--allow-recommends
    With this option, urpmi will install "recommended" packages. This is useful if you have "no-recommends" in urpmi.cfg.

--strict-arch
    Upgrade only packages if the newer version has the same architecture as the one installed. Mostly useful on machines that support several architectures (32 and 64 bit).

-a  If multiple packages match the given substring, install them all.

-p  Allow search in provides to find the package (this is the default).

-P  Do not search in provides to find package (this is the opposite of -p).

--skip pattern,...
    You can specify a list of packages which installation should be skipped. You can also include patterns between //, just like in /etc/urpmi/skip.list (see urpmi.files(5)).

--prefer pattern,...
    You can specify a list of packages which installation should be preferred (especially useful with --auto). You can also include patterns between //, just like in /etc/urpmi/prefer.list (see urpmi.files(5)).

--more-choices
    When several packages are found, propose more choices than the default.

  Package Processing

--no-md5sum
    Disable MD5SUM file checking when updating media.

--force-key
    Force update of GPG key when updating media.

--no-install
    Only download packages, don't install them. After operation, you'll find them in /var/cache/urpmi/rpms.

--no-uninstall
    Never ask to uninstall a package but prefer aborting instead. This can be safer in auto mode.

--keep
    When some dependencies cannot be satisfied, change the selection of packages to try to keep existing packages instead of removing them. This behaviour generally rejects the upgrade of packages given on command line (or when using --auto-select) when a dependency error occurs.

--split-level number
    Split urpmi's operation in small transactions when the total number of packages to upgrade is greater than the given number. This option is activated by default, and the default value of number is 20.

--split-length count
    Split urpmi's operation in small transactions of at least count packages. The default is 8 and setting this value to 0 just disables splitting in small transactions.

--clean
    Remove all packages from the cache in directory /var/cache/urpmi/rpms.

--noclean
    Do not remove any package from the cache in directory /var/cache/urpmi/rpms.

--justdb
    Update only the database, not the filesystem.

--downgrade
    Force installing the packages even though they are already installed.

--replacepkgs
    Force installing the packages even though they are already installed.

--allow-nodeps
    With this option, urpmi will ask the user on error whether it should continue the installation without checking dependencies. By default, urpmi exits immediately in this case.

--allow-force
    With this option, urpmi will ask the user on error whether it should proceed to a forced installation. By default, urpmi exits immediately in this case.

--allow-medium-change
    When used when --auto, do not suppress all questions, but still ask the user for medium changes (e.g. insertion of CD-ROMs).

--download-all dest-dir
    By default, urpmi will download packages when they are needed. This can be problematic when connection failures happen during a big upgrade. When this option is set, urpmi will first download all the needed packages and proceed to install them if it managed to download them all. You can optionally specify a directory where the files should be downloaded (default is /var/cache/urpmi which could be too small to hold all the files).

--verify-rpm
--no-verify-rpm
    Activate or deactivate rpm signature checking. It's activated by default, and can be overridden in global configuration.

--test
    Test the installation of packages but do not actually install anything or modify the system. (That's the same as "rpm --test").

--excludepath string
    Do not install files of which the names begin with the given string (same as "rpm --excludepath").

--excludedocs
    Do not install documents files (same as "rpm --excludedocs").

--ignorearch
    Allow to install packages whose architecture does not match the architecture of the host. This is equivalent to "rpm --ignorearch".

--ignoresize
    Don't check file systems for sufficient disk space before installation. This is equivalent to "rpm --ignoresize".

--noscripts
    Don't execute the scriptlets. This is equivalent to "rpm --noscripts".

--replacefiles
    Ignore file conflicts. This is equivalent to "rpm --replacefiles".

  Database Options

--root directory
    Use the file system tree rooted for rpm install. All operations and scripts will run after chroot(2). The rpm database that lies in the rooted tree will be used, but the urpmi configuration comes from the normal system.

--urpmi-root directory
    Use the file system tree rooted for urpmi database and rpm install. Contrary to --root, the urpmi configuration comes from the rooted tree.

--nolock
    Don't lock urpmi and rpm db. This can be useful in conjunction with --root.

--wait-lock
    If the urpmi or rpm db is busy, wait until it is available

  Download Options

--parallel alias
    Activate distributed execution of urpmi to other machines (it is mandatory that urpmi is installed, but it is not necessary to have media defined on any machines). alias defines which extension module is to be used by urpmi (currently, "urpmi-parallel-ka-run" or "urpmi-parallel-ssh" are available) and which machines should be updated. This alias is defined in the file /etc/urpmi/parallel.cfg as described in the urpmi.files manpage.

--downloader program name
    Use a specific program for downloading distant files via http or ftp. By default curl is used if available, or wget instead.

--curl-options 'options'
--rsync-options 'options'
--wget-options 'options'
    Specify additional command-line options to be passed to curl, rsync or wget when retrieving files. If several options are to be passed, separate them with spaces and enclose them in quotes.

    Note that the rsync options will also be used for ssh media (since it's actually rsync over ssh).

--limit-rate rate
    Try to limit the download speed. rate is given in bytes/sec. This option is not active by default.

--resume
    Resume transfer of partially-downloaded files.

--retry times
    Retries to download files over FTP or HTTP the specified number of times.

--proxy proxyhost[:port]
    Use specified HTTP proxy.

--proxy-user user:password
    Use specified user and password to use for proxy authentication. Specifying --proxy-user=ask will cause urpmi to prompt for a username and a password.

  Debugging Options

--debug
    Proposes a very verbose mode.

--debug-librpm
    Proposes a very verbose mode (similar to rpm -vv)

--deploops
    Print warnings when packages cannot be ordered properly due to dependancy loops.

--bug directory
    Create a bug report in directory. You have to send a compressed archive of the directory to the urpmi maintainer for the bug being (probably) reproduced. See "BUG REPORTS" below.

--env directory
    Use a different environment directly from a bug report to replay a bug. The argument is the same argument given to --bug option.

EXAMPLES
    urpmi ssh://foo@bar.net/home/foo/test.rpm

Fetch /home/foo/test.rpm from server bar.net over ssh using user foo. You can use a public key or enter your password.

    urpmi --media foo- --auto-select

Fetch all the updates from media containing "foo-" in their name.

FILES
See urpmi.files(5).

EXIT CODES

1.  Command line inconsistency.

2.  Problem registering local packages.

3.  Source packages not retrievable.

4.  Medium is not selected.

5.  Medium already exists.

6.  Unable to save configuration.

7.  urpmi database locked.

8.  Unable to read or create bug report.

9.  Unable to open rpmdb.

10. Some files are missing for installation.

11. Some transactions failed but not all.

12. All transactions failed.

13. Some files are missing and some transactions failed but not all.

14. Some files are missing and all transactions failed.

15. No package installed (when using --expect-install)

16. Bad signature

17. Some packages couldn't be installed or upgraded

BUG REPORTS
If you find a bug in urpmi please report it using the command:

    urpmi --bug bug_name_as_directory <other arguments>

This will automatically create a directory called bug_name_as_directory containing necessary files to reproduce it if possible. <other arguments> represent the command-line arguments you noticed the bug with (e.g. "--auto-select" or a list of rpm names). Please test the report using

    urpmi --env bug_name_as_directory <other arguments>

to check that the bug is still here. Obviously, only reproducible bugs can be resolved. For sending the report, make a tarball of this directory and send it directly to the current maintainer with a description of what you think is wrong.

CONTRIBUTING
One can find the git repository / version-control repository (VCS) here:

<http://gitweb.mageia.org/software/rpm/urpmi/> .

AUTHOR
Pascal Rigaux <pixel@mandriva.com> (original author and current maintainer), François Pons, Rafael Garcia-Suarez

SEE ALSO
urpmi.addmedia(8), urpmi.update(8), urpmi.removemedia(8), urpme(8), urpmf(8), urpmq(8), urpmi.cfg(5), urpmi.files(5).