# Urpmi

> Mediated Wiki article. Canonical URL: https://mediated.wiki/source/Urpmi
> Markdown URL: https://mediated.wiki/source/Urpmi.md
> Source: https://en.wikipedia.org/wiki/Urpmi
> Source revision: 1333045618
> License: Creative Commons Attribution-ShareAlike 4.0 International (https://creativecommons.org/licenses/by-sa/4.0/)

{{Short description|Linux package management tool}}
{{lowercase title|title=urpmi}}
{{Infobox software
| name                   = urpmi
| title                  = urpmi
| logo                   =
| screenshot             =
| caption                =
| collapsible            =
| author                 = Pascal Rigaux
| developer              = Thierry Vignaud
| released               = <!-- {{Start date|YYYY|MM|DD}} -->
| discontinued           =
| latest release version = 8.133.1
| latest release date    = {{Start date and age|2024|6|2}}
| latest preview version =
| latest preview date    = <!-- {{Start date and age|YYYY|MM|DD}} -->
| frequently updated     =
| programming language   = [Perl](/source/Perl)
| operating system       = [Linux](/source/Linux)
| platform               =
| size                   =
| language               =
| status                 =
| genre                  = [Package management system](/source/Package_management_system)
| license                =
| website                = {{URL|https://metacpan.org/release/urpmi}}
}}

'''urpmi''' is a [package management](/source/package_management) tool for installing, removing, updating and querying software packages of local or remote (networked) media. It wraps around the [RPM Package Manager](/source/RPM_Package_Manager) in the role of a smart package manager. It uses repositories and will resolve dependencies so that the user will not suffer from [dependency hell](/source/dependency_hell) that can happen when using RPM directly. It works with official sources from Mandriva or unofficial sources such as those from the Penguin Liberation Front. It has a graphical front-end: [Rpmdrake](/source/Rpmdrake).

It's made of 2 parts:
* a low level [https://metacpan.org/release/URPM C/perl bindings]
* a higher level [https://metacpan.org/release/urpmi perl code] implementing the advanced algorithms

In addition to the now-defunct Mandriva Linux, it is also being used by:
*[Uruk GNU/Linux](/source/Uruk_GNU%2FLinux), a [PureOS](/source/PureOS)-based Linux distribution.
*[Mageia](/source/Mageia), a French fork of Mandriva Linux that for a time was the base for future Mandriva products but is now an independent community driven Linux distribution.
*[ROSA Linux](/source/ROSA_Linux), a Russian fork of Mandriva Linux that is the base for future OpenMandriva products.<ref>[http://distrowatch.com/table.php?distribution=openmandriva distrowatch.com: OpenMandriva]</ref>

==History==
'''urpmi''' was developed as an experiment by [Pascal Rigaux](/source/Pascal_Rigaux) (Pixel) to address [RPM](/source/RPM_Package_Manager) install limitations; it was further maintained by [François Pons](/source/Fran%C3%A7ois_Pons) and different [Mandriva](/source/Mandriva) employees. It is currently (2010–2024) maintained by Thierry Vignaud who was the maintainer of rpmdrake<ref>{{Cite web |url=http://svn.mandriva.com/viewvc/soft/rpmdrake/trunk/NEWS?revision=273200&view=markup |title=&#91;soft&#93; Contents of /Rpmdrake/Trunk/NEWS |access-date=2015-05-23 |archive-url=https://web.archive.org/web/20150523165549/http://svn.mandriva.com/viewvc/soft/rpmdrake/trunk/NEWS?revision=273200&view=markup |archive-date=2015-05-23 |url-status=dead }}</ref> and one of the co-maintainers of the drakx installer and tools at Mandriva before he continued doing that job at Mageia.

Per Øyvind Karlsen maintained a fork of urpmi at [Rosa Linux](/source/Rosa_Linux), backporting fixes and improvements from Thierry Vignaud work,<ref>{{Cite web|url=http://svnweb.mageia.org/soft?view=revision&revision=7297|title=&#91;soft&#93; Revision 7297}}</ref><ref>{{cite web| url=https://abf.rosalinux.ru/proyvind/urpmi/commit/11e4718ce2a1bf814bcb1a68d2490e2ff3a8ca34.patch |title=[PATCH] add basic support for --downgrade (mga#6655) | access-date=2024-01-22}}</ref> but this is not the version that was used by Mandriva Business Server (which was based on Mageia). This fork died around 2013 (date of last commit).

==Commands==

===Generic commands===
{| border="0"
|-----
| Install package
| <code>urpmi <package_name></code>
|-----
| Uninstall package with link (dependencies)
| <code>urpme <package_name></code>
|-----
| Query the package database
| <code>urpmq <package_name></code>
|-----
| Find package that contains a file
| <code>urpmf <file></code>
|-----
| Find package knowing only a part of an rpm name
| <code>urpmq --fuzzy <part-of-package_name></code>
|-----
| Update your package list
| <code>urpmi.update -a</code>
|-----
| Update your system (using all repositories)
| <code>urpmi --auto-select</code>
|-----
| Update your system (only using update repositories)
| <code>urpmi --update --auto-select</code>
|}

===Useful commands===
{| border="0"
|-----
| Find package containing <word> in their name
| <code>urpmq -y <word></code>
|-----
| Find package without link (dependencies)
| <code>urpmi_rpm-find-leaves</code>
|}

==See also==
*[AppStream](/source/AppStream)
*[PackageKit](/source/PackageKit)

==References==
{{reflist}}

==External links==
* {{Official website|https://wiki.mageia.org/en/URPMI}}
* [https://metacpan.org/release/URPM CPAN page for the low level C/perl bindings]
* [https://metacpan.org/release/urpmi CPAN page for the high level perl code]

{{Linux package management systems}}

Category:Free package management systems
Category:Free software programmed in Perl
Category:Linux package management-related software
Category:Mandriva Linux

{{Install-software-stub}}

---
Adapted from the Wikipedia article [Urpmi](https://en.wikipedia.org/wiki/Urpmi) by Wikipedia contributors ([contributor history](https://en.wikipedia.org/wiki/Urpmi?action=history)). Available under [Creative Commons Attribution-ShareAlike 4.0 International](https://creativecommons.org/licenses/by-sa/4.0/). Changes may have been made.
