URPMI

De Lea Linux
Aller à la navigation Aller à la recherche

URPMI et les commandes urpm*

La commande initiale RPM de Red Hat - souffrait de nombreuses limitations que Mandrake puis Mandriva a dépassées, en créant les outils urpm* (User RPM) à partir de Mandrake 7.0 (2000).

urpm est utilisée aujourd'hui par Mandriva et ses dérivées, comme Mageia. Red Hat utilise quant à lui désormais le gestionnaire de paquets YUM (depuis Fedora Core 1, en 2003) issu de la distribution Yellow Dog.

Les avantages d'urpm sur la commande rpm :

  • résolution automatique et installation/désistallation automatique des paquets dépendants (rpm indique seulement le nom de paquets manquants) ;
  • urpm connaît l'ensemble des paquets installables depuis différentes sources (les CD, serveurs ftp de mise à jour, Penguin Liberation Front ...) ;
  • urpm permet d'installer des paquets depuis internet lorsque ceux-ci sont plus récents que sur les CD (depuis Mandrake 8.0) ;
  • urpm permet d'installer des paquets en donnant seulement un nom incomplet (exemple : urpmi amarok pour chercher et installer Amarok, urpmi mplayer, etc.) ;
  • etc.

Sur chacune des commandes dont on va parler ci-dessous, je vous conseille de lire la page de man (man urpmi, man urpmf, etc.) afin d'en apprendre plus.

Toutes les actions décrites ici peuvent également être réalisées de manière graphique, avec le gestionnaire graphique de programmes Rpmdrake (lançable via les menus ou par la commande rpmdrake) qui est une interface graphique aux programmes urpm*. Je vous conseille de tester les deux manières de faire, car contrairement aux apparences, la ligne de commande peut être plus simple et/ou rapide.

Configurer urpm

Ajouter / mettre à jour une source de paquets

Après avoir installé votre distribution, le média d'installation (CD par exmeple) ont été créés dans la base de données de urpm en tant que source de paquets.

Cependant, vous pouvez ajouter autant de sources que vous le désirez. Supposons par exemple que vous ayez un répertoire "incoming/rpms" dans lequel vous placez tous les rpm que vous récupérez sur internet. Vous pouvez l'ajouter à votre base de données urpm par la commande :

# urpmi.addmedia mes_rpm file://home/jice/incoming/rpms

Où mes_rpm est le nom (arbitraire) que vous donnez à votre source de paquets.

Par la suite, vous pourrez mettre à jour cette source par :

urpmi.update mes_rpm

De même, pour ajouter une source ftp de paquets, on donne l'URL du fichier hdlist.cz sur le serveur. Exemple pour le Penguin Liberation Front et une Mandrake 9.0 :

urpmi.addmedia plf ftp://ftp.easynet.fr/plf/9.0 with hdlist.cz

Et de la même façon, pour mettre à jour la source de temps en temps :

urpmi.update plf

L'option -a permet de mettre à jour toutes les sources en même temps :

urpmi.update -a

Ajouter des sources distantes

Si vous possédez une connexion à haut débit (ce n'est pas obligatoire, mais conseillé pour utiliser cette option), vous pouvez utiliser des sources main contrib et update situées sur internet.

L'outil en ligne à cette adresse vous permet de configurer vos sources urpmi facilement selon votre distribution et votre localisation géographique. Si vous avez une connexion à haut débit, je vous conseille même de commencer par un urpmi.removemedia -a pour ne plus utiliser les cdroms comme sources, et ne plus vous fatiguer à les chercher dans la pile de cd.

Note : le fichier de configuration de urpm est /etc/urpmi/urpmi.cfg et les bases de données dans /var/lib/urpmi.

Supprimer une source de paquets

Pour supprimer la source mes_rpm, taper :

urpmi.removemedia mes_rpm

Installer avec urpmi

Installer depuis les sources urpm

Pour installer un logiciel avec urpm, rien de plus simple. Vous tapez simplement la commande urpmi suivie d'une partie du nom du logiciel. Exemple :

urpmi mplayer

urpmi va alors chercher la version la plus récente du paquet correspondant, regarder s'il doit installer des paquets dépendants (et vous en demander confirmation), et installer l'ensemble des paquets.

Dans le cas ou l'argument donné à urpmi est ambigu, urpmi renvoie le nom des paquets correspondants ; il ne vous reste plus qu'à choisir dans la liste et relancer urpmi avec le bon nom de paquets.

Si vous voulez installer le paquet qui fournit une librairie (par exemple), utilisez le modifieur -p :

# urpmi -p libe2p.so.2

urpmi va alors rechercher quel paquet fournit libe2p.so.2 et l'installer (ici libext2fs2).

Installer directement un ou plusieurs fichiers rpm

Dans ce cas, il suffit de passer le nom du fichier en argument à urpmi :

urpmi mon_paquet-version.i586.rpm

et le paquet sera mis à jour de la même manière que rpm -U l'aurait fait.

urpmi peut installer plusieurs paquets d'un coup : par exemple, pour installer la dernière version de KDE que j'ai téléchargée, je me mets dans le répertoire où j'ai mis les rpm, et je tape :

urpmi *.rpm

Pour installer (et non mettre à jour un paquet, par exemple pour ajouter un nouveau noyau en parallèle de l'ancien, ou bien une nouvelle librairie qui doit coexister avec l'ancienne), il faut utiliser l'option -i :

urpmi -i

.

urpmi peut également utiliser une url pour installer un paquet. Par exemple, urpmi http://example.com/example.rpm va installer le paquet après l'avoir téléchargé. urpmi supporte http, ftp, rsync et ssh pour le moment.

Désinstaller avec urpme

Désinstaller un paquet

Pour désinstaller un paquet, il faut utiliser urpme :

urpme mplayer

désinstallera mplayer. S'il y a des paquets qui en dépendent, urpme demandera s'il doit les désinstaller également. À utiliser avec précaution ;-)

Désinstaller toutes les bibliothèques inutilisées

La commande urpmi_rpm-find-leaves -g liste les bibliothèques que l'on peut desinstaller sans crainte.

Associé à urpme, cela permet de nettoyer le système de toutes ses bibliothèques inutilisées:

urpme `urpmi_rpm-find-leaves -g`

Dans certains cas, il est nécessaire d'effectuer la commande plusieurs fois.

Rechercher avec urpmf (et urpmq)

L'outil de choix pour faire de recherches dans les paquets rpm est urpmf. Cela permet de rechercher non seulement dans les paquets installés comme avec rpm -q, mais aussi des paquets installables !

urpmf toto

renverra la liste de tous les paquets qui contiennent le fichier toto.

urpmf dispose de nombreuses options pour faire des requêtes sur les différentes informations de la base de données des paquets.

Quelques exemples :

Liste des paquets du groupe "Games" :

urpmf --group Games

Taille du paquet "pingus" :

urpmf --size pingus

pingus:size:1102629

Recherche du mot "pingus" dans les résumés de paquets :

urpmf --summary pingus
pingus:summary:Pingus - A free Lemmings clone

Voir man urpmf pour de plus amples informations.

La commande urpmq vous permet d'autres types de requêtes :

Liste des paquets dont le nom contient la chaîne "toto" :

urpmq -y toto

Sur quelle source se trouve le paquet toto :

urpmq --archive toto

Quels paquets dépendent du paquet toto :

urpmq -d toto

Nom complet du fichier rpm du paquet toto :

urpmq -r toto

Résumé d'une ligne d'un paquet ( summary + nom + cersion ) :

urpmq --summary toto

Voir aussi man urpmq.

Mettre à jour le système

urpm vous permet de mettre à jour votre système avec les derniers correctifs de sécurité et les corrections de bugs que les distributions publient régulièrement.

Pour ce faire, il faut avoir paramétré un miroir ftp de mises à jour de sécurité dans urpm (voir configuration), ou avec le Gestionnaire de Programmes (qui est bien pratique pour cette opération).

Si la source de mise à jour s'appelle maj_secu, il faut lancer la commandes suivante pour la mettre à jour :

urpmi.update maj_secu

puis :

urpmi --auto-select

urpm va alors lister les paquets mis à jour et vous demander si vous souhaitez les installer (pour qu'il installe tout sans demander, pratique pour mettre la commande dans un cron, ajouter l'option --auto).

Si vous souhaitez que urpm ne mette pas à jour automatiquement certains paquets, il suffit d'ajouter leur nom dans le fichier /etc/urpmi/skip.list . Par exemple, pour empêcher urpm de mettre à jour automatiquement le kernel et la glibc, ajouter dans ce fichier :

kernel
glibc

Conclusion sur urpm

Les détails des commandes urpm sont encore trop peu connus ; la maintenance de votre Mandriva ou Mageia sera bien plus aisée avec leur utilisation.



@ Retour à la rubrique Logiciels

À propos de cette documentation

Cette documentation a été écrite par Jean-Christophe 'Jice' Cardot; révision par Jean-Marc Lichtle, puis Jice et [Utilisateur:Ennael|Anne]], puis Jean-Thomas Muyl (maston28); petits ajouts et mises à jour par Misc et Jiel.

Son titre original était RPM, URPMI et apt-get. Elle a été scindée en trois partie en 2018, RPM, URPMI, Installation de apt-get sur Red Hat Linux 7.3.

Copyright

© 25/02/2000, 2001, 2002, 2004, 2005, 2006, 2011 Jean-Christophe Cardot, Jean-Marc Lichtle, Anne Nicolas, Jean-Thomas Muyl (maston28)

Creative Commons License
Creative Commons Attribution iconCreative Commons Share Alike icon
Ce document est publié sous licence Creative Commons
Attribution, Partage à l'identique 4.0 :
https://creativecommons.org/licenses/by-sa/4.0/