Howtos GNU/Linux .: kozaki :. Howtos GNU/Linux

urpmi : Tout pour installer & mettre à jour Linux Mageia

Introduction

Vois rpmdrake si tu préfères les outils graphiques à la ligne de commande.

Installer des programmes sous Linux est très simple si on utilise les bons outils...

À chaque présentation d'un logiciel, on a le droit à la sempiternelle formule "les heureux utilisateurs d'une Debian pourront se contenter d'un apt-get install machin-chose, tandis que les autres devront affronter la lourde et hasardeuse installation manuelle..." (sous-entendu : bien fait pour eux). Et pourtant, c'est largement inexact.
D'abord, apt-get a été porté sous Mandriva & RedHat (& Connectiva a ajouté le support RPM à APT). Ensuite, Mageia (ex-Mandriva) propose urpmi qui est aussi simple que puissant. Exemple, on tapera simplement urpmi leprogramme, pour installer "leprogramme" :o)

Note : ce document de howtos GNU/Linux KozAki ne remplace pas la lecture de la page de man de (U)RPM, mais présente les commandes les plus utiles pour gérer vos paquetages sous Mandriva Linux.

Guide pour choisir entre le gestionaire de packages Smart & urpmi

URPMI : mè keskecè ?

C'est un outil performant pour l'installation et la gestion des logiciels sous Mageia/Mandriva. urpmi ne se contente pas de télécharger et d'installer le logiciel demandé, mais gère également les dépendances (qu'il installe tout seul si nécessaire), et permet de mettre à jour l'ensemble du système et des logiciels installés. 10' suffisent pour configurer urpmi.

Comme tout gestionnaire de packages, il est conçu pour simplifier les tâches d'installation/suppression/MÀJ de logiciels. Il ne remplace pas RPM. À bien des égards il ressemble au gestionnaire de packages de la distribution Debian GNU/Linux : apt.

Apports de urpmi par rapport à RPM :

  • Fournit un système résolution automatique des dépendances en proposant d'installer ou de désinstaller les packages dépendants (tandis que RPM vous indique quels fichiers manquent ou quels packages seraient cassés).
  • Enregistre les dépendances pour tous les emplacements (RPM enregistre uniquement les données des packages installés).
  • Une fois configuré, il récupère et installe les packages et leurs dépendances depuis Internet, y-compris si ces derniers sont plus récents que ceux installés (ou présents sur le média d'installation) (introduit avec Mdk 8.0).
  • Supporte l'installation à la demande (RPM ne le permet pas).
  • Il permet de "globbing of" les noms d'archive (Oups, c quoi ce verbe ?), des requêtes plus faciles et plus complètes sur les packages, les mises-à-jour automatiques et plus encore.

1) Configurer ses sources rpm

Pourquoi configurer URPMI ?

C'est LA première chose à faire juste après l'installation (voire pendant si on sait comment faire). Car ce faisant, on indique au système où chercher *tous* les paquets logiciels installables.

C'est fait automatiquement pour les CDs utilisés à l'installation. Mais bon, vas-t'en te limiter aux ~2000 logiciels inclus, alors que plus de 10 000 régulièrement mis à jour sont accessibles en quelques secondes une fois les sources de packages configurées ?

Les sources urpmi sont les emplacements (serveurs ftp et http, répertoire local, réseau ou CD sur lesquels tu as gravé des rpms) qui contiennent des paquets rpm, càd les logiciels et autres librairies.
Pourquoi ne sont-ils pas sur les CDs de la distribution ? Et bien par manque de place, à cause de licences, ou parce-qu'ils ont été mis à jour et / ou remplacés depuis le pressage des CDs !

Remarque : urpmi s'utilise au choix avec console (ligne de commande : rapide) ou à l'aide des outils graphiques qui permettent de tout faire en cliquant avec la souris : rpmdrake. Ce "front-end" graphique d'urpmi se trouve dans le menu d'applications (Système > Configuration > Packages), et surtout dans le Centre de Contrôle Mageia/Mandriva.

Avancé :

Le fichier de configuration principal est /etc/urpmi/urpmi.cfg,
Les fichiers de données (mode texte) sont situés dans /var/lib/urpmi, depuis la Mdk 8.
Les fichiers log sont dans var/log

1.1) Ajouter les sources

Le site : Easy urpmi donne les bonnes commandes à entrer afin de configurer urpmi : (dire à urpmi où sont situés les packages RPM pour telle version de Mandriva. De plus, il inclut les excellentes sources PLF.

Comment faire :

  • On entre la version de sa Mandriva, puis on coche les sources nécessaires :
  • 3 sources sont indispensables : contrib, PLF et updates (plus main pour pouvoir se passer des CDs (connexion haut débit indispensable). Il *faut* sélectionner 'contribs' (dernière ligne dans l'exemple ci-dessous) car de nombreux packages PLF en dépendent.
  • Pour chacun des miroirs, choisis celui situé le moisn loin de chez toi, et clique sur <OK>. Easy urpmi te donne alors la commande de configuration complète d'urpmi : À copier/coller dans la consolefacile si ta souris a une roulette, qui remplace le copier/coller) ! mafiosi

    Exemple pour Mandriva 2006 "Community" (pour qqn situé pas trop loin de Paris) :

urpmi.addmedia plf-free ftp://ftp.free.fr/pub/Distributions_Linux/plf/mandriva/free/2006.0/i586 with hdlist.cz
urpmi.addmedia plf-nonfree ftp://ftp.free.fr/pub/Distributions_Linux/plf/mandriva/non-free/2006.0/i586 with hdlist.cz
urpmi.addmedia main ftp://ftp.proxad.net/pub/Distributions_Linux/MandrivaLinux/devel/2006.0/i586/media/main with media_info/hdlist.cz
urpmi.addmedia contrib ftp://ftp.proxad.net/pub/Distributions_Linux/MandrivaLinux/devel/2006.0/i586/media/contrib with media_info/hdlist.cz

1.1.1) urpmi avancé :

  • Si ta connexion internet se traine, tu accélèrera les MàJ des sources de packages en utilisant le fichier synthesis.hdlist au lieu de hdlist. Par exemple on utilisera pour contrib :
    urpmi.addmedia contrib ftp://ftp.club-internet.fr/... with synthesis.hdlist.cz. Note l'absence de chemin devant synthesis.hdlist.cz, en effet ce fichier est situé dans le répertoire RPMS courant.
    Le synthesis correspond a la liste des paquets sans leur description. Il se réduit a quelques ko, c'est très intéressant pour les liaisons a bas débit.
  • Configurer ses media vite & bien : Ajoute automatiquement les miroirs ('main' 'contrib' & 'jpackage') en une commande sans avoir à se preoccuper des chemins corrects :
    Vrai :)urpmi.addmedia --distrib \
    [chemin_vers_le_mirroir]/[version]/[architecture]
    .
    (exemple avec official qu'on peut remplacer par community ou cooker) :
    urpmi configure alors tout automatiquement, nomme les sources et tout et tout (c'est pas beau le progrès ?)
    Merci à Zeb du Mandriva club !

Bref, urpm est un set d'outils (chacun réalisant une certaine tâche), au contraire de rpm, qui travaille uniquement via ses options.

1.1.2) Ajouter une source locale (RPMs téléchargés, gravés)

C'est presque pareil. Par exemple en installant Mandriva depuis les CDs/DVDs, ces derniers ont été indéxés par urpm. Pour ajouter d'autres médias (autres CDs, répertoires locaux, etc.), utilise urpmi.addmedia.

Métons que tu aies un répertoire local nommé /home/toto/rpms où tu entreposes les RPMs téléchargés. Pour ajouter cette source à la base de données urpm, tapes (en root) :
urpmi.addmedia rpms_locaux file:///home/toto/rpms
"rpms_locaux" est le petit nom que je donne à ma source urpm locale ; on y accèdera sous ce nom dans le futur.

1.2) Mettre à jour une source urpmi :

La commande urpmi.update local met à jour la liste des packages présents dans la source "local".
Les packages du répertoire rpms sont ainsi enregistrés dans la base de données globale d'uRPM, et donc pris en compte au cours de toutes les opérations uRPM. On lance urpmi.update local quand le contenu du répertoire a changé. Il en va de même pour toutes les sources non statiques, telles les sources FTP...

Tu l'as peut-être remarqué, on doit donner le chemin relatifrelatif depuis le répertoire où sont les RPMs vers le fichier hdlist.cz pour toutes les ressources distantes. On déduit de cela qu'on ne peut ajouter des sources distantes, à moins qu'elles ne fournissent ce fichier des dépendances !

On met toutes les sources à jour, pour qu'urpmi tienne compte des nouveaux paquets rpm, avec la commande :
urpmi.update -a

attention ! ne pas confondre : Ceci met à jour la liste des logiciels disponibles, pas une mise à jour du système.

1.3) Retirer une resource d'urpm :

Avec la commande urpmi.removemedia nom_de_la_resource

Lance urpmq --list-media pour afficher la liste des sources déja configurées.

2) Installer et désinstaller des applications

2.1) Installer des packages

Installer un package disponible sur l'une ou l'autre des sources configurées ci-dessus :
Pour installer le player audio xmms (clône de winamp) : urpmi xmms :
(Note : Comme toujours ces commandes requièrent les privilèges 'root').

urpmi va vérifier si le package est disponible, et soit le télécharger (s'il est sur une source distante) ou demander d'insérer le média amovible sur lequel il est présent, ou l'installer simplement depuis le disque dur.
Si ce package nécessite d'autres packages, urpmi demande si tu es d'accord pour les installer également. Si tu préféres qu'il ne demande pas, ajoute l'option --auto.
Voir les exemples ci-dessous

Si le nom que tu indiques est ambigü, urpmi va afficher une liste de tous les packages contenant ce nom et te laisser la main. Tu peux modifier ce comportement en utilisant l'option -a :

urpmi -a gtk
installera tous les packages dont le nom contient le mot 'gtk'.

glooky Une autre option utile est -p, qui permet de filtrer les packages en fonction de ce qu'ils apportent. Par exemple, admettons qu'on aie besoin de la librairie libe2p.so.2, mais qu'on ignore quel package fournit cette librairie :

bravo !urpmi -p libe2p.so.2
et urpmi va a) chercher quel package fournit cette librairie, et b) installer ce package (dans notre exemple c'est libext2fs2)

Bien sûr on peut toujours installer un package local avec rpm -U : urpmi met systématiquement à jour le logiciel si sa version est plus récente que le package installé.
Ce comportenent peut déranger, notamment quand on a besoin de 2 versions de la même librairie. Dans ce cas, on doit utiliser soit rpm -i, soit le fichier /etc/urpmi/skip.list.

Quelques options :
--excludemedia [nom_d'un_media] ne pas utiliser le(s) média(s) spécifié(s) (séparés par une virgule).
--sortmedia trier les média selon des sous-chaînes (séparées par un virgule).
--auto sélectionner automatiquement un paquetage parmi les choix
--auto-select sélection automatique de tous les paquetages à mettre à jour.
--keep conserve les paquetages existants si possible (rejette les paquetages demandés qui nécessiteraient des désinstallations).

OK, et si je veux mettre à jour mon système mais pas le package X ou Y ?

Dans ce cas, ajoute le nom du (ou des) logiciel(s) que tu veux pas mettre à jour en éditant le fichier /etc/urpmi/skip.list en root.
Exemple sous Mandriva 2008.1 où je souhaite pas mettre à jour OpenOffice.org :

# Ici vous pouvez spécifier les packages à ne pas MÀJ automatiquement
# Par exemple, pour exlclure tous les packages apache :
# /^apache/
# Ne pas MÀJ aucun paquet OpenOffice :
/^openoffice.org/

On peut exclure des packages parce-que :
  - on a personnalisé la version actuelle et que la nouvelle sera incompatible avec cette configuration personnalisée,
  - on utilise Cooker et qu'un paquet est "cassé" dans sa toute dernière version,
  - on a un serveur web mitonné aux petits oignons qu'on veut pas risquer de tout casser (peut êetre dangereux si les MÀJ corrigent des failles de sécurité...),
  - etc.

OK, mais comment faire avec les fichiers de configuration personnalisés ?

Alors pas de problème, urpmi vérifie la présence de fichiers de configuration antérieurs, et le cas échéant propose de les modifier. Tout ça de façon transparente ; ici en mode graphique :

modification de fichier de configuration

2.2) Désinstaller un package : urpme

Fais : urpme [nom_du_programme]
glooky Si le package que tu désinstalles devait casser les dépendances d'autres packages, urpme demande si ces derniers doivent être désinstallés également.
Si tu préféres qu'ils soient désinstallés automatiquement, ajoutes l'option --auto... si et seulement si tu sais parfaitement ce que tu fais !

urpme accepte également l'option a :
urpme -a gtk désinstalle tous les packages installés dont les noms contiennent le terme 'gtk'.

3) Se renseigner sur les packages : urpmf et urpmq

Un autre domaine dans lequel urpm fait merveille, car la base de donnée urpm contient également les informations sur les packages qui ne sont pas installés. urpmf et urpmq remplissent ce rôle. urpmf ne nécessite pas d'être "root".

urpmf propose son lot d'options pour faire une requête sur certaines informations des packages :
urpmf --group Games : quels packages de jeux sont disponibles ? vrai !
urpmf file : liste tous les packages de la base de données urpm contennant "file" !
urpmf --size pingus : quelle est la taille du package 'pingus' ( en octets).
urpmf --summary pingus que fait ce package ?
utilise urpmq et ses options :
urpmq -i [package] : Lire les informations sur un programme (auteurs, version, utilisation, ..)
urpmq --fuzzy programme ( = urpmq -y) : trouver toutes les versions d'un programme : recherche tous les packages contenant la chaine de caractères "programme". ça peut être très intéressant pour trouver la dernière version d'un programme donné.
Exemple : on a déjà mplayer-0.90. Si on tape 'urpmq mplayer', urpm indique "mplayer-0.90". Alors que si on tape urpmq --fuzzy mplayer alors on voit "mplayer-1.0.rc1"... Car cette release étant encore "candidate", urpm affichait la version finale la plus récente et non la release candidate !
urpmq -d [package] donne une liste de tous les rpm nécessaires pour ce package, et permet donc d'obtenir la liste des dépendances avant d'installer un package.
En ajoutant l'option -m, tu ne verra que les rpm nécessaires et pas installés sur ton système..
urpmq -d -m --sources [package] donne une liste correspondant aux rpm dont on a besoin pour ce package, avec leur source ; pratique si ta connexion Internet est lente.
urpmq -r archive : affiche le nom complet du package.
urpmq --sources archive : indique sur quelle ressource (url, ftp, ...) est situé ce package.
man urpmf et man urpmq indiquent toutes les options disponibles.

Et voici au cas où vous en ayez besoin un très bon résumé d'urpmi/urpme/urpmf par linux-wizard (bas de page)

4) rpmdrake : urpmi version graphique

Voir la page rpmdrake

5) Mise à jour système, applications et noyau

La source de mise à jour officielle est une source (presque) comme les autres, elle porte le nom update_source ou updates.

urpm permet de mettre tout le système (OS, programmes et librairies!) à jour avec les dernières versions, patchs de sécurité ou corrections de bogues fournies par MandrivaSoft. Celà en ligne de commande, rpmdrake ou même automatiquement. Pour cela, il faut uniquement avoir configuré urpmi avec un mirroir Mandriva Linux à l'aide d'urpmi.addmedia (en réalité c'est encore plus facile de le faire avec le Software Manager, aussi tu voudras peut-être l'utiliser au moins pour cette opération).

5.1) Mise à jour globale (sauf le noyau)

Après avoir mis à jour la base urpmi, tu peux taper :
urpmi --auto-select :
Le système choisira automatiquement les paquets à mettre à jour (si une nouvelle version du programme est disponible). Si tu préféres qu'il te demande confirmation, retire l'option --auto. Cela concerne tous les paquets, situés dans toutes les sources.
attention ! urpmi –auto-select va prendre du temps ! (jusqu'à > 500Mo si tu ne l'as jamais fait...)

Cette option est aussi pratique quand tu veux la réaliser automatiquement via cron. N'oublies pas de lancer urpmi.update régulièrement pour raffraichir la liste des resources.
Comme d'habitude, on peut le faire aussi bien avec le "front-end" graphique d'urpmi >>>

Exclure certains packages de la Màj :

Pour ce faire, ajoute le nom de ces packages au ficher /etc/urpmi/skip.list.
Exemple 1 : Empêcher urpmi --auto-select d'installer un nouveau kernel et les packages glibc ajoutes à ce fichier :

/^kernel/
/^glibc/

Exemple 2 : Pour éliminer des MÀJ avec des versions plf de dkms-nvidia et de libfreetype :

/libfreetype6*plf/ /dkms-nvidia*plf/

Depuis Mandrake Linux 8.2 on a aussi un fichier /etc/urpmi/inst.list qui liste tous les packages devant être installés plutôt que d'être mis à jour (tu as sans doute déja vu cette liste lors d'une Màj, maintenant tu comprends pourquoi elle s'affiche ;). Ce fichier est préconfiguré pour empêcher automatiquement tous les kernel RPMs.

Si tu dois administrer les mises à jour pour un réseau de machines, jettes un oeil sur le programme MandrakeUpdateRobot du CD Mandrake/~iva. Ce package permet aux administrateurs réseau de déployer les mises à jour Mandriva Linux sur une multitude de clients sans plus de soucis.

5.2) Mettre à jour un noyau avec uRPMi

urpmi permet de choisir télécharger et installer le kernel de son choix (et ses sources).
Depuis la version 2007.1 "Spring" de Mandriva, le kernel est mis à jour automatiquement en cas de correction de faille de sécurité. Pour plus d'informations voir le wiki Mise à jour du noyau linux.

Jusqu'à Mandriva 2007.0, c'était différent mais toutefois assez simple. Une MÀJ du système ne mettait pas le noyau à jour (pour éviter bien des problèmes alors). Pour mettre à jour le noyau en utilisant des paquetages RPM binaires, il suffisait d'installer la nouvelle version explicitement. L'exemple ci-dessous est tiré de la documentation fournie avec Mandrake 10.1 et est valable jusque Mandriva 2007.0 inclu.

On prend l'exemple que ton "ancien" noyau est kernel-2.6.8-1mdk et que le nouveau est kernel-2.6.8-5mdk.

Installer le nouveau noyau :
urpmi kernel-2.6.8-5mdk
On peut aussi taper simplement urpmi kernel et choisir le noyau approprié à ton système dans la liste proposée.
Vérifies que cela fonctionne :
Le nouveau noyau devient celui utilisé par défaut. Une nouvelle entrée apparait donc dans le menu du chargeur de démarrage (LILO, GRUB, ELILO...) ; elle doit ressembler à : "268-5".
Redémarres ton ordinateur et sélectionnes cette entrée au démarrage pour lancer le système avec le nouveau noyau. Fais tous les tests que tu juges nécessaires afin de t'assurer que ce nouveau noyau fonctionne parfaitement (essayes d'écouter de la musique, de graver un CD, de jouer à TuxRacer, ...).
Désinstaller l'ancien noyau (optionnel) :
Une fois que tu t'es assuré(e) du bon fonctionnement du nouveau noyau, tu peux désinstaller l'ancien en tapant : urpme kernel-2.6.8-1mdk. La configuration du chargeur de démarrage sera mise à jour automatiquement.

Mettre son noyau à jour est devenu un jeu d'enfant, enfin, aussi longtemps qu'on n'a pas besoin de le recompiler ; dans ce cas, urpmi ne peut pas faire *notre* travail d'administrateur.

5.2.2) Avancé : Choix du kernel

L'article Noyau - Wiki de la communauté Mandriva apporte toutes les précisions concernant le versionning officiel des noyaux packagés par Mandriva. Il est revu et mis à jour par plusieurs utilisateurs confirmés de la distribution (dont moi-même).
Ci-dessous pour les versions jusqu'à Mandriva 2007.0.

1) Noyaux officiels Mandrivalinux.
  - kernel-2.6.xx.xmdk-x-xmdk.src.rpm : les sources du noyau pour compiler celui qui est utilisé dans la distribution. Il est amplement remanié pour offrir des fonctionnalités supplémentaires.
  - kernel2.6-linus-2.6.xx-xmdk.src.rpm : Le noyau brut tel que publié par le responsable du noyau GNU/Linux.

Installer le noyau officiel Mandrivalinux est l'option recommandée : il suffit de télécharger-installer le RPM source avec urpmi, et de sauter à la section intitulée « Configuration du noyau ».

On en apprend plus sur la Documentation Mandriva chapitre 13 : "Compilation et mise en place de nouveaux noyaux". Sur ma machine elle se trouve dans :
/usr/share/doc/mandriva/fr/Command-Line/Command-Line.html/index.html (si tu ne l'as pas, un petit urpmi mandriva-doc-Command-Line-fr s'impose). Il y a aussi Mettre à jour le noyau avec urpmi

2) Compilation à partir du noyau standard
La première étape est de récupérer les sources officielles du noyau sur http://www.kernel.org. (voir la page kernel)

5.3) Problème des drivers proprio Nvidia (& Co)

attention !Sans le paquet dkms (qui compile automatiquement les modules pour le noyau installé), rebooter avec le nouveau noyau avec les anciens pilotes proprios ne marchera pas. Donc soit on installe dkms, soit on installe le pilote pour le nouveau noyau avant de rebooter.

Voir le paragraphe DKMS : mise à jour des pilotes nVidia, ATI etc. sur le wiki Mandriva !

S'il n'y a pas de paquet mdk Nvidia pour ce kernel de prêt, il y a 2 choix :
a) Utiliser les pilotes libres nv si on n'utilise pas de softs 3D.
b) Ou pour installer les drivers du site Nvidia, installer aussi le paquet kernel-(version)-devel (ou kernel-source) qui correspond à cette version du noyau, rebooter sur le nouveau noyau, et les installer en console.
b') S'il n'y a pas ce paquet NVIDIA-kernel pour ce noyau, il faut passer par la recompilation du driver proprio pour son kernel. Dans le cas de Nvidia, lire la doc INSTALL du driver.

5.4) Mettre à jour vers la dernière version de Mandriva avec urpm

Urpmi peut aussi être utilisé pour upgrader l'OS vers une version de Mandriva Linux plus récente.

Il faut retirer les sources urpm de ta distrib actuelle, pour les remplacer par celles de la nouvelle version !
Voir --> urpmi : Effectuer une mise à jour de l'ensemble du système sur le wiki !

6) Nettoyer le système

rpmorphan

rpmorphan : un programme en mode console ou graphique qui permet d'identifier facilement les paquets installés mais non-utilisés ;)

Utilité ? Limiter l'espace disque utilisé, ainsi que le volume des mises à jour nécessaires, et on élimine le risque (certes très faible) d'exploitation d'une faille non-corrigée (disons dans un binaire suid par exemple).
Dans le même genre, la commande suivante permet d'identifier les éventuels paquets "oubliés" lors de la mise à jour (parce que devenus obsolètes ou autre raison):
diff <(rpm -qa | sort) <(urpmq --list -r | sort) | grep "^<"

$ urpmq -i rpmorphan

Name : rpmorphan
Version : 0.8
Release : 1mdv2007.1
Group : System/Configuration/Packaging
Size : 82806 Architecture: noarch
Source RPM : rpmorphan-0.8-1mdv2007.1.src.rpm Build Host: seggie.mandriva.com
Packager : David Walluck <walluck /AT /mandriva.org>
URL : http://rpmorphan.sourceforge.net/
Summary : Find orphaned rpm packages
Description :
rpmorphan finds orphaned packages on your system. It determines which packages have no other packages depending on their installation, and shows you a list of these packages.

nico57 & PapaJaac donnent les infos et l'utilisation de base de rpmorphan sur le forum Mandriva : post 1 (infos rpmorphan) ; post 2 (utilisation de rpmorphan)

7) urpmi : Exemples concrets

Installer le lecteur de DVD xine avec support des DVD cryptés
  1. Mettre à jour xine vers la dernière version disponible) :
    urpmi libxine1 xine-ui
    Cela se ferait automatiquement avec urpmi --auto-select (après avoir choisi une source update comme indique ci-dessus).
  2. Support des DVD cryptés :
    urpmi libdvdread2 libdvdcss2 xine-dvdnav (nécessite la source PLF)
Installer le support des plugins :

urpmi xine-plugins

Installer le lecteur multimedia Mplayer :

 urpmq -y mplayer
Choisis la version la plus récente et installe-là avec urpmi mplayer[-version]
uRPM installera toutes les dépendances nécessaires.

Installer de quoi encoder des DVD au format mpeg4 (divx)

urpmi transcode ogmtools

Installer le thème keramik pour KDE

urpmi kdemoreartwork-keramik

Voilà !! Tout ce qu'il faut pour que le logiciel est téléchargé et installé, & hop !
Après installation, le logiciel apparaît dans le menu K (ou Gnome, ou autre). Exceptionnellement, le menu KDE n'intègre pas le nouveau logiciel, voire est perturbé...

perte du menu KDE ? Solution !
  • Passer en root ("su") et taper : update-menus -v
  • Repasser en user (ctrl+D, ou exit)et taper : update-menus -v (NDLR: la première partie avec root a suffit pour moi)
  • Source : forum.hardware.fr.
topofpage

7) Résolution de problèmes

7.1) Base de données RPM coincée

En root, tapes :
killall urpmi urpmi.update urpme rpm urpmi.addmedia &
rm -f /var/lib/urpmi/.LOCK /var/lib/rpm/RPMLOCK /var/lib/urpmi/.RPMLOCK
Si cela ne décoince pas la base de données, redémarrer est toujours la solution.

7.2) Reconstruire la base de données

Si la base de données devient inconsistance (et annonce qu'un "package est déja installé alors qu'il ne l'est pas, ou vice-versa), fais :
rm -rf /var/lib/rpm/__db*
# rpm --rebuilddb

Si malgré cela rpm indique tj que tel logiciel est déja installé (alors que tu sais pertinament que *non*), essayes :
urpmi --allow-force <application.rpm>
ça devrait marcher, en sachant que tu *dois* lire la sortie de la commande et désinstaller le(s) package(s) causant problème (par exemple une librairie "trop" récente installée sur ta machine, que tu peux remplacer avec la version adéquate pour ton système et l'application que tu veux installer).

7.3) Le media contrib utilise une liste invalide

# rm /var/lib/urpmi/list.contrib devrait stopper l'erreur sans interférer avec l'installation du package.

Se débarasser des ennuyeuses "invalid signature errors" avec urpmi

english"urpmi is supposed to import these pubkeys automatically, I think, but it hasn't done it in a while. You'll need gnupg installed for this. Here's an example": mandrivausers.org

Vérifier l'intégrité d'un package téléchargé avant de l'installer :

rpm --checksig [package].rpm

8) SRPMS et recompilation d'un package pour sa machine

Données transférées sur cette page.

évolutions à venir des rpm / urpmi

Mdk 10.2 intégre les delta.rpm

Il y avait eu beaucoup de discussions sur ce sujet pendant la préparation de la 10.1 notamment par Robert Vojta[1]. Ce princip_blankéjà utilisé dans d'autres distributions et dans les MMORPGs.
Le principe est de faire un paquet delta.rpm ne contenant que les différences entre la version 1 d'un logiciel et une version >1. En bref, il y a moins à télécharger, permettant ainsi de ne pas avoir 200Mo de mises à jour à faire pour corriger 3 bugs.
Gwenole Beauchesne vient de mettre en main le paquet deltarpm de Suse [2] et de poste_blankni-howto sur la liste de cooker [3]. Ce système est utilisé à partir de la Mandrake 10.2

---

Sources pour l'élaboration de ce document :
Les "Liens" en haut à droite de la page.
Merci à j_c_p, lithium, et Sagittarius salut !
Trop cool pour Internet Explorer