The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

urpmi - rpm downloader, installer and dependency solver

SYNOPSIS

    urpmi [options] [package_names | rpm_files...]

DESCRIPTION

urpmi authorizes well-known rpms (or rpm files) to be installed including all their dependencies. You can use it to install the dependencies of a source package, or a source package itself.

You can compare rpm vs. urpmi with insmod vs. modprobe or dpkg vs apt-get. Just launch 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.

Note that urpmi handles installations from various types of media (ftp, http, rsync, local and nfs volumes, and removable media such as CDROMs) 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

--help

Print a help message and exit (this is the same as -h or -?).

--update

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

--media media1,...,mediaN

Select specific media to be used, instead of defaulting to all available media (or all update media if --update is used).

--excludemedia media1,...,mediaN

Do not use the specified media.

--searchmedia media

Use only the specified media to search for packages when combined with --auto-select.

--sortmedia media1,...,mediaN

Sort the specified media. Substrings may be used to simplify grouping.

--synthesis file

Use the specified synthesis file instead of the urpmi database for searching packages and resolving dependencies.

--auto

Install all required dependencies without asking.

--auto-update

Like --auto-select, but also updates all relevant media before selection of upgradeable packages is made.

--auto-select

Automatically select all packages that have to be upgraded, according to already installed packages and packages listed in various registered media.

--no-install

Only download packages, don't install them. 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 1 and setting this value to 0 just disables splitting in small transactions.

--fuzzy

Disable fast search on exact package name; that means that urpmi will propose all packages matching the name partially, even if one of them matches exactly the specified name (this is the same as -y).

--src name

Search a source package matching name and select all its dependencies by default, unless --install-src is used in order to install the source package itself.

--install-src

Install only the source package (no binary packages will be installed).

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

--force

Assume yes on all questions.

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

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

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

--use-distrib directory

Configure urpmi on the fly from a distrib tree, useful to install a chroot with the --root option.

--wget

Use wget for downloading distant files. By default curl is used if available, or wget instead.

--curl

Use curl for downloading distant files. 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.

--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|1080]

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.

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

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

--verify-rpm
--no-verify-rpm

Activate or deactivate rpm signature checking. It's activated by default.

--test

Test (same as rpm --test) installation of packages but do not modify the system.

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

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

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

--more-choices

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

--norebuild

Don't try to rebuild the hdlist files from the RPMs if the original hdlist wasn't readable or was corrupted.

--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 package (default).

-P

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

-y

This is the same as --fuzzy.

-s

This is the same as --src.

-q

Quiet mode: when calling rpm no upgrade status is printed.

-v

Proposes a verbose mode with various messages.

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

BUG REPORTS

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

    urpmi --bug bug_name_as_directory ...

This will automatically create a directory called bug_name_as_directory containing necessary files to reproduce it if possible. Please test the report using

    urpmi --env bug_name_as_directory ...

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.

BUGS

When a package is removed, it may not be replaced with an older version.

AUTHOR

Pascal Rigaux (original author), Francois Pons, Rafael Garcia-Suarez, <rgarciasuarez@mandriva.com> (current maintainer)

CONTRIBUTORS

Please mail to authors if you are not belonging to this alphabetically sorted list after having contributed. Andrej Borsenkow, Guillaume Cottenceau, Philippe Libat, Bryan Paxton, Guillaume Rousse, Michael Scherer, Alexander Skwar, Olivier Thauvin, Erwan Velu, Florent Villard.

SEE ALSO

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