Urpmi
| Company type | Software utility |
|---|---|
| Industry | Software package management |
| Founder | Pascal Rigaux (Pixel) |
Key people | François Pons, Thierry Vignaud, Per Øyvind Karlsen |
| Products | urpmi package management utility, Rpmdrake GUI |
| Website | www |
urpmi serves as a package management utility designed to facilitate the installation, removal, updating, and querying of software packages sourced either locally or remotely. Functioning as an intelligent interface over the RPM Package Manager, it effectively handles dependency resolution to avoid the dependency hell often encountered when using RPM directly. urpmi is compatible with Mandriva’s official repositories as well as unofficial ones such as those maintained by the Penguin Liberation Front. It also provides a graphical user interface known as Rpmdrake.
The architecture of urpmi is divided into two components:
- low-level C/perl bindings
- high-level perl scripts featuring sophisticated algorithms
Although Mandriva Linux has been discontinued, urpmi remains in use within:
- Uruk GNU/Linux, an entirely free software distribution from Iraq that combines urpmi with Linux-libre kernels and APT from Trisquel
- Mageia, a community-driven French fork of Mandriva Linux, which historically served as the foundation for upcoming Mandriva releases
- ROSA Linux, a Russian fork of Mandriva that forms the base for OpenMandriva projects
History
The creation of urpmi is credited to Pascal Rigaux (Pixel), who developed it to address limitations in RPM installations. Maintenance was subsequently handled by François Pons alongside Mandriva’s development team. Since 2010, Thierry Vignaud—previously responsible for rpmdrake and co-maintainer of Mandriva’s drakx installer—has taken over ongoing development, a role he has continued at Mageia.
A fork of urpmi tailored for Rosa Linux was maintained by Per Øyvind Karlsen, who integrated backported fixes from Vignaud’s updates. This variant was not adopted by Mandriva Business Server (which is based on Mageia) and ceased active development around 2013.
Common commands
| Install a package | urpmi <package_name>
|
| Remove package along with dependencies | urpme <package_name>
|
| Query installed packages | urpmq <package_name>
|
| Locate package containing a specific file | urpmf <file>
|
| Search packages by partial name match | urpmq --fuzzy <part-of-package_name>
|
| Refresh package repository data | urpmi.update -a
|
| Perform system update across all repositories | urpmi --auto-select
|
| Update system with repository refresh only | urpmi --update --auto-select
|
Additional useful commands
| Search for packages containing a specific word in their name | urpmq -y <word>
|
| Identify packages without dependencies | urpmi_rpm-find-leaves
|