urpmi

urpmi is the RPM front-end of the Mandriva lineage (Mageia, OpenMandriva, ROSA), spanning several binaries: urpmi (install/upgrade/cache), urpme (remove), urpmq (queries) and urpmi.update (media refresh).

Parsing notes, verified against the urpmi Perl source (urpm/args.pm, urpmq, urpme, urpmi.update) and the urpmi/urpmq/urpme man pages:

  • urpmi has no native installed-package listing: enumeration goes through rpm itself, which urpmi fronts (librpm is always present), with a caller-controlled --queryformat.

  • urpmq’s package-data output is one bare package name per line; -r appends -version-release. The regexes split the fused NVR on its last two dash-fields.

  • Every human-facing string is gettext-localized: LC_ALL=C keeps the parsed output stable (package data itself is not translated, but errors and prompts are).

  • --auto suppresses all urpmi/urpme prompts. --version is undocumented in the man pages but implemented in the shared options table of every tool.

  • Mutations abort for non-root users (“Only superuser is allowed to install packages”), including urpmi.update and --clean.

  • Home page: https://wiki.mageia.org/en/URPMI

  • Source: meta_package_manager/managers/urpmi.toml

Platforms

  • 🐧 Linux (Mageia, Mandriva Linux only)

Operations

Operation

Supported

Notes

installed

outdated

search

exact and extended search backfilled by mpm

install

upgrade

upgrade_all

remove

sync

cleanup

Ecosystem

  • Accepted purl types: pkg:urpmi

Usage

$ mpm --urpmi installed
$ mpm --urpmi search "query"
$ mpm --urpmi upgrade --all
$ mpm install pkg:urpmi/hello
$ mpm --dry-run --urpmi upgrade --all

Every example above accepts --dry-run, which simulates the underlying manager calls without touching the system: the safe way to watch what mpm would do before trusting it.

Deselect the manager for a single run with --no-urpmi, disable it from your configuration, or tune its invocation attributes with per-manager overrides.

Command line

  • CLI names, in lookup order: urpmi

  • Environment forced on each call:

    • LC_ALL=C

The version is probed by running:

$ urpmi --version
urpmi 8.121.7

and extracted with:

r"urpmi (?P<version>\S+)"

Privilege escalation

System-wide manager: mpm wraps its privileged operations in sudo out of the box. Instead of letting the tool prompt mid-run, mpm primes the credential cache up-front, with a single branded password prompt at most. Turn escalation off for rootless setups with --no-sudo or the per-manager sudo override.

Root is required for its cleanup, install, remove, sync, upgrade, upgrade_all operations.

See privilege escalation for the full policy.

Cooldown

State of urpmi’s release-age gating, from the cooldown support table:

  • Status: ❌ None (Mageia)

With --cooldown set, mpm skips this manager’s install and upgrade operations rather than run them unguarded (fail-closed); --allow-unsupported-managers opts back in.

Reference traces

Raw native outputs captured in the bundled definition: the reference mpm’s parsers were written against. If you know urpmi well and a transcript below looks wrong, or a newer release changed its output format, report it.

$ rpm --query --all --queryformat %{NAME} %{VERSION}-%{RELEASE}\n
sgml-skel 0.7-24.mga9
desktop-file-utils 0.26-5.mga9
$ urpmq --auto-select -r
kernel-desktop-6.6.0-1.mga9
fvwm3-1.0.2-1.1.mga8