Utilisation de YUM : Allons plus loin

De Magazine fedora-fr
Aller à : navigation, rechercher
Par : MatthieuSaulnier

Si vous avez lu le premier numéro de Muffin, voici la suite du dossier consacré à l'un des plus importants programmes sur Fedora : YUM. Ce programme est un gestionnaire de paquet capable d'installer n'importe quel programme que vous désirez présent dans les dépôts à RPMs assignés à Fedora, tout en installant d'autres paquets (appelés « dépendances ») indispensables au bon fonctionnement du premier paquet, qui sont eux-même soumis à leurs propres dépendances. Yum est donc capable de gérer un arbre de dépendances qui peut rapidement prendre des proportions énormes selon la complexité du paquet que vous voulez installer, afin de garantir le bon fonctionnement de votre système Fedora. Nous avons vu dans le premier numéro du magazine comment prendre en main cet outil, nous allons donc voir dans ce dossier les options les plus poussées qui vont vous permettre d'aller vraiment plus loin dans l'expérience Fedora, au-dela du simple « ajout/suppression de programmes ».

Les options complexes de Yum

yum update --skip-broken

Cette option est utile lorsque certains paquets que l'on installe ou que l'on met à jour ont dans leurs dépendances des paquets indisponibles. Yum va donc refuser toute transaction, on dit que les dépendances sont cassées. Mais avec cette option yum va traiter tous les paquets ayant leurs dépendances satisfaites et ignorer les paquets qui ont pour dépendances des paquets indisponibles. Un paquet installé sur un système sans ses dépendances ne fonctionnera pas, voilà pourquoi il ne sera pas installé. Sur Fedora, il arrive très rarement qu'une mise à jour soit disponible avec des dépendances cassées, mais il faut garder à l'esprit que cela peut toujours arriver.

yum provides /bin/cp
yum provides ld-linux.so.2

Il y a un fichier qui vous intrigue sur votre système Fedora ? Pour savoir à quel paquet ce fichier appartient, cette commande est faite pour vous. Lorsque vous exécutez un fichier binnaire mais que vous obtenez un message d'erreur réclamant une bibliothèque qui n'est pas installée, avec yum provides nous pouvons retrouver quel paquet contient cette fameuse bibliothèque, il ne reste plus qu'à installer le paquet.

yum info arora

Pour avoir la description complète d'un paquet, que celui-ci soit installé ou non. Parmis toutes les informations disponibles, on dispose de sa version, son architecture, sa taille, le dépôt sur lequel le paquet est entreposé, sa licence, un court résumé et une description complète du paquet.

yum clean all

Les fichiers temporaires appartenants à Yum contiennent les listes des mirroirs des dépôts à RPMs, mais aussi les bases de données des RPMs pour les mises à jours. Ces données contenues dans la mémoire cache de Yum doivent êtres supprimées lorsque vous intervenez sur sa configation, ou bien sur les dépôts installés. Lorsque Yum renvoie une erreur dans la cohérence des versions de certains paquets, cette commande peut s'avérer utile.

yum makecache

Cette commande fait l'exacte contraire de la précédente, c'est à dire que de nouveaux fichiers temporaires sont créés ou actualisés pour prendre en compte des éventuelles modifications dans la configuration des dépôts installés. Elle permet de recharger la mémoire cache de Yum.

yum deplist wget

Affiche la liste des dépendances d'un paquet. Pour tous ceux qui s'intéressent aux paquets Fedora, cette commande est quasiment indispensable. A user et abuser donc.

yum repolist all

Pour fonctionner, Yum se base sur des dépôts qu'il gère lui-même. Pour voir lesquels des dépôts installés sont activés, l'option all est requise.

yum check

Cette commande peut durer plusieurs minutes, c'est normal. "Yum" va vérifier toute la base de donnée des RPMs installés sur votre système à la recherche de la moindre petite erreur de dépendance qu'il sera à votre charge de réparer. On ne peut pas toujours réparer aussi procédez avec prudence. Un système Fedora en bonne santé, c'est un yum check pour vérifier, donner un aperçu de l'état du système à son administrateur.

yum update --exclude=\*kernel\*

Pour une raison ou pour une autre, vous pouvez être amené à devoir exclure de mise à jour un paquet en particulier, dans l'unique but de maintenir votre système Fedora opérationnel. En voici la commande.

Maintenant, et c'est une exclusivité de la version de Yum pour Fedora 15, place à la créativité de l'utilisateur avec la nouvelle option: --setopt=option=valeur. Avec cette option, on va pouvoir modifier en une ligne quelques paramètres qui nous sembles importants, par exemple :

yum install pidgin --setopt=throttle=3M

Avec cette option, on modifie temporairement la bande passante de téléchargement des paquets qui se voit élevée à... 3 Mb par seconde! Mais ce n'est pas tout, on peut encore modifier le comportement de yum en rajoutant d'autre options, comme par exemple :

yum list *gstreamer* --setopt=color_list_available_install=green --setopt=color_list_installed_reinstall=blue

Cette option ajoute de la couleur à la sortie du terminal, les paquets déjà installé apparaissent en bleu et les paquets disponibles dans les dépôts mais pas encore installés apparaissent en vert. Un peu de déco dans un terminal ne fait pas de mal aux yeux... Mais avec l’option suivante, encore de nouvelles perspectives :

yum remove empathy --setopt=clean_requirements_on_remove=1

Les paquets orphelins qu'il fallait supprimer à la main, c'est terminé. Grâce à cette nouvelle option qui détecte les dépendances qui ne servent plus à rien lors de la désinstallation d'un paquet, le système restera propre sans opérations de maintenance particulière.

Retour vers le passé

Je vous propose ici de jouer un petit jeux de rôle, qui va vous apprendre une fonction très utile de Yum. Attention, on commence dès maintenant...

On installe le paquet qui va représenter la plus grosse boulette de votre vie.

yum install linux_logo

Des paquets comme celui-là, on en a tellement installé que l'on ne peut pas se souvenir de chacun d'entre eux, en plus hier vous avez installé 47 paquets, alors bon... On oublie. Comble de malchance, votre système Fedora est victime de grands ralentissements et gèles inopinés, impossible de travailler dans de pareilles conditions. Il n'y a pas eu de mises à jour depuis 2 jours, c'est donc dû a un paquet que vous avez installé, et qu'il faut, vu l'état dramatique de la situation, désinstaller. Oui c'est bien joli mais lequel ?

Avec cette commande, on obtient la liste des opérations effectuées avec un identifiant.

yum history list
Modules complémentaires chargés : fastestmirror, fs-snapshot, langpacks, presto, priorities, refresh-packagekit, verify
Identi | Identifiant utilisateur  | Date et heure    | Action(s)      | Modifié
-------------------------------------------------------------------------------
159 | Casper <Casper>          | 2011-05-09 23:49 | Install        |    1   

Nous sommes sûrs que le problème est dû aux derniers paquets installés aujourd'hui, même en ignorant lesquels, il est possible de revenir en arrière.

yum history undo 159

Cette commande (remplacez «159» par l'identifiant de chez vous) va vous permettre de retrouver votre système tel qu'il était il y a quelques minutes, ou bien quelques heures, voire plusieurs jours. Comme vous pouvez le constater, le paquet fatal va être désinstallé :

Undoing transaction 159, from Mon May  9 23:49:45 2011
    Installation linux_logo-5.11-2.fc15.x86_64
Résolution des dépendances
--> Lancement de la transaction de test
---> Package linux_logo.x86_64 0:5.11-2.fc15 will be effacé
--> Résolution des dépendances terminée

Voilà, le jeu est terminé, vous avez réussi a sauver votre système Fedora d'une petite mésaventure, mais lorsqu'il y en aura de plus grandes, pensez à vous simplifier la vie avec yum history.

Disposer de son propre shell

Affin de faciliter le travail, Yum est doté d'un interpréteur de commandes. Ce shell interactif permet de combiner des commandes yum les unes aux autres ou bien de paramétrer certaines commandes pendant l'exécution de l'enchainement. Ces commandes peuvent êtres entrées manuellement, ou bien à partir d'un fichier que vous avez créé, ce qui permet entre autre d'automatiser partiellement certaines tâches. Les commandes disponibles dans ce shell sont presques les même que les options en ligne de commande de Yum. Pour le lancer, il suffit de taper :

yum shell

Facile n'est-ce pas ? Vos extensions sont chargées, Yum est paré pour exécuter vos souhaits. Pour avoir une liste des commandes disponibles, il faut taper :

> help

Mais voyons plutôt un exemple très concret : Vous venez fraichement d'installer Fedora 15 depuis son DVD et vous voulez retrouver rapidement vos paquets préférés, qui forcément, ne sont pas présent sur le DVD. La tâche peut être fastidieuse, surtout si les paquets ne sont pas sur les dépôts installés d'origine. Heureusement, nous avons anticipé en créant un fichier qui contient toutes les commandes et la procédure sera ainsi... automatique. Ouvrez votre éditeur de texte et ajoutez-y les commandes suivantes :

update
install http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm
run
makecache
install gparted gstreamer-ffmpeg gstreamer-plugins-bad gstreamer-plugins-ugly pavucontrol bash-completion dconf-editor
run
clean all
check

Ensuite on peut lancer la procédure, qui peut durer un certain temps si la liste des mises à jour est très longue :

yum shell le_nom_de_votre_fichier

Ce qui n'empèche pas que l'utilisateur doive toujours valider en tapant y avant toute transaction. Gardez ce fichier précieusement, en le personnalisant au fil du temps... Et à chaque installation fraiche de Fedora vous gagnerez un temp fou pour retrouver votre Fedora « sur mesure ». En général, si vous passez beaucoup de temps dans un terminal en administrateur à saisir des commandes avec Yum, optez pour ce shell qui vous facilitera grandement la vie.