LinuxCommandLibrary

urpmi

Install, update, and remove software packages

TLDR

Install a package from the repository or from a local RPM file

$ sudo urpmi [package|path/to/file.rpm]
copy

Download a package without installing it
$ urpmi --no-install [package]
copy

Update all installed packages (run urpmi.update -a to get the available updates)
$ sudo urpmi --auto-select
copy

Update a package of one or more machines on the network according to /etc/urpmi/parallel.cfg
$ sudo urpmi --parallel local [package]
copy

Mark all orphaned packages as manually installed
$ sudo urpmi $(urpmq --auto-orphans -f)
copy

SYNOPSIS

urpmi [options] <package(s)>
urpmi --auto-select
urpmi --update
urpmi --remove <package(s)>
urpmi --clean

PARAMETERS

--auto-select
    Installs all necessary updates, effectively upgrading the system (similar to apt upgrade).

--update, -U
    Updates installed packages to their latest available versions from configured repositories.

--install, -i
    Installs one or more new packages. This option is often implied when package names are provided.

--remove, -r
    Removes specified packages from the system, handling reverse dependencies.

--clean
    Cleans up the RPM database, cache, and temporary files, freeing up disk space.

--addmedia
    Adds a new installation medium (repository) to urpmi's configuration.

--list-media
    Lists all currently configured installation media (repositories).

--update-media
    Updates the metadata (package lists) from all configured media sources.

--search
    Searches for packages whose names or descriptions match a given keyword or pattern.

--whatprovides
    Finds packages that provide a specific capability, file, or virtual package.

-y, --auto-yes
    Automatically answers 'yes' to all prompts, allowing for non-interactive operations.

--test
    Performs a dry run of the operation without actually making any changes to the system.

DESCRIPTION

urpmi is the powerful command-line package management system primarily used in Mandriva Linux and its spiritual successor, Mageia. It simplifies the installation, removal, and updating of software packages by handling dependencies automatically. Built atop the RPM package format, urpmi manages repositories, allowing users to easily access and install thousands of applications.

It supports fetching packages from local sources, network mirrors, and CD/DVDs, providing a comprehensive solution for system maintenance and software deployment. Its user-friendly syntax makes it accessible for both new and experienced Linux users.

CAVEATS

urpmi is intrinsically linked to Mandriva and Mageia distributions. It is not available or used on other major Linux distributions such as Debian/Ubuntu (which utilize apt) or Fedora/RHEL/CentOS (which employ dnf or yum). While robust, dependency resolution for very complex scenarios or with slow network connections might sometimes feel less performant compared to newer package managers. Manual configuration of third-party repositories can also be intricate.

CONFIGURATION FILES

urpmi relies on configuration files, primarily found in /etc/urpmi/ and within the /etc/urpmi.d/ directory. These files are crucial for defining and managing the various repositories (media sources) from which urpmi fetches packages. While advanced users can edit these files directly, helper tools like urpmi.addmedia provide a more guided approach to repository management.

GRAPHICAL FRONT-ENDS

Despite being a command-line utility, urpmi's powerful backend drives graphical front-ends, most notably the Mageia Control Center's "Software Management" module. This integration provides a user-friendly graphical interface, allowing users to browse, install, and remove software packages without needing to interact directly with the command line, abstracting its underlying complexity.

HISTORY

urpmi was originally conceived and developed for Mandrake Linux (later known as Mandriva Linux) in the late 1990s and early 2000s. Its primary motivation was to create a sophisticated, dependency-resolving front-end for the then-basic rpm package manager. This capability was a pioneering feature for RPM-based distributions at the time, significantly simplifying software management and installation processes.

It quickly became a distinctive and highly valued feature of Mandrake/Mandriva. Following Mandriva's operational changes, urpmi's development and maintenance were continued as a core component of the Mageia project, a community-driven fork of Mandriva. It remains the default and primary package management tool for Mageia, upholding its legacy of user-friendly and powerful software handling.

SEE ALSO

rpm(8), urpmq(1), urpme(1), urpmf(1), urpmi.addmedia(8), apt(8), dnf(8), yum(8)

Copied to clipboard