Utilisation de YUM : Allons plus loin

De Magazine fedora-fr
Révision de 2 mai 2011 à 08:48 par EricQuerelle (discussion | contributions) (yum-plugin-priorities)

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 capable d'installer le paquet que vous désirez, tout en installant d'autres paquets (appelés « dépendances ») indispensables au bon fonctionnement du premier paquet. Ils 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.

Les extensions de Yum

Les extensions (plugins en anglais) , sont des paquets qui vont étendre les fonctionnalité de yum. Ils sont présent dans le dépôt Fedora et on peut les installer comme n'importe quel paquet. Pour avoir un aperçu du nombre d'extensions disponibles, entrez la commande suivante dans un terminal en tant qu'utilisateur normal:

yum search yum-plugin

Pour installer une extension de yum:

yum install LE_NOM_DU_PLUGIN

Nous allons voir quelques-uns des plus remarquables.

yum-plugin-fastestmirror

Un miroir est une réplique officielle d'un dépôt accessible depuis Internet, il en existe une multitude afin de rendre les dépôts Fedora toujours plus rapidement disponibles . Sans cette extension pour installer un paquet ou des mises à jour, yum sélectionne le premier miroir du dépôt dans sa liste, puis télécharge les données pour procéder à sa transaction. Or avec cette extension, yum va sélectionner dans sa liste des miroirs disponibles pour un dépôt celui qui a la vitesse de téléchargement la plus élevée, afin de télécharger les données plus rapidement. On pourrait résumer en disant que cette extension rend yum plus rapide.

yum-plugin-remove-with-leaves

Lorsque que l'on demande à yum de supprimer un paquet en particulier, il le supprime en ignorant les dépendances du paquet qui ont été installées et qui ne servent désormais plus à rien pour le système. Avec cette extension, yum va retrouver les dépendances et les supprimer avec le paquet.

yum-plugin-show-leaves

Cette extension a pour seul but d'informer l'utilisateur des dépendances qu'il installe sur son système, grâce à un petit récapitulatif affiché par yum à la toute fin de la transaction.

yum-plugin-priorities

Pour l'utilisateur qui a ajouté beaucoups de dépôts sur son système Fedora, cette extension est pratiquement indispensable. Elle permet à l'utilisateur d'attribuer selon son bon jugement une valeur de priorité pour chacun des dépôts. Sur plusieurs dépôts de la distribution, il est possible de retrouver les mêmes paquets mais dans des versions différentes, sans cette extension yum se contente de prendre la version du paquet la plus récente, alors qu'avec cette extension yum prend la version du paquet présente sur le dépôt ayant la plus forte priorité. Cela permet à l'utilisateur de mieux gérer les « dépôts intrusifs ».

Pour paramétrer le plugin, il faut modifier les fichiers de configuration des dépôts en ajoutant:

priority=n

Un dépôt ayant priority=5 est prioritaire devant un dépôt ayant priority=10. On peut échelonner les priorités de 1 à 99.

Les dépôts tiers de logiciels pour Fedora

Pour la distribution Fedora, il y a les classiques dépôts Fedora et Updates qui sont installé d'origine sur le système, mais il y a aussi d'autres dépôts qui contiennent une multitudes de paquets. Pourquoi tout ces paquets ne rejoignent-ils pas le dépôt Fedora ? Peut-être des raisons légales, peut-être parce que le paquet est trop instable, ou bien à l'état de test. Mais s'ils sont disponibles sur d'autres dépôts, pourquoi s'en priver ?

Pour l'exemple, nous allons jouer avec le dépôt Remi qui contient les dernières versions bêta de Firefox4, mais aussi les dernières versions de quelques paquets de base. C'est un dépôt intrusif que nous allons controller grâce à yum-plugin-priorities. Donc pour ajouter le dépôt qui sera configuré automatiquement pour yum:

yum install --nogpgcheck http://rpms.famillecollet.com/remi-release-15.rpm

On obtient le fichier /etc/yum.repos.d/remi.repo, allons voir ce qu'il contient:

[remi]                                                                                            
name=Les RPM de remi pour Fedora $releasever - $basearch                                          
#baseurl=http://rpms.famillecollet.com/fedora/$releasever/remi/$basearch/                         
mirrorlist=http://rpms.famillecollet.com/fedora/$releasever/remi/mirror                           
enabled=0                                                                                         
gpgcheck=1                                                                                        
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi                                                   
failovermethod=priority                                                                           
                                                                                                 
[remi-test]                                                                                       
name=Les RPM de remi en test pour Fedora $releasever - $basearch                                  
#baseurl=http://rpms.famillecollet.com/fedora/$releasever/test/$basearch/                         
mirrorlist=http://rpms.famillecollet.com/fedora/$releasever/test/mirror                           
enabled=0                                                                                         
gpgcheck=1                                                                                        
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi                                                   
failovermethod=priority 

Comme vous pouvez le voir, il y a en fait 2 dépôts regroupés en un seul, mais les 2 concernent les paquets de Remi. On active le dépôt [remi] en passant de enabled=0 à enabled=1. Maintenant que les modifications sont enregistrées, PackageKit vous annonces que de nouvelles mises à jour sont disponible. Celà vient du fait que des paquets de bases de plus récentes versions que ceux du dépôt Updates et donc de votre système sont disponibles sur le dépôt Remi, NE FAITES AUCUNE MISE À JOUR POUR L'INSTANT. On va mettre à l'oeuvre yum-plugin-priorities en ajoutant priority=15 à la fin de la section:

 [remi]                                                                                            
 name=Les RPM de remi pour Fedora $releasever - $basearch                                          
 #baseurl=http://rpms.famillecollet.com/fedora/$releasever/remi/$basearch/                         
 mirrorlist=http://rpms.famillecollet.com/fedora/$releasever/remi/mirror                           
 enabled=0                                                                                         
 gpgcheck=1                                                                                        
 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi                                                   
 failovermethod=priority
 priority=15

Mais ce n'est pas fini, pour que l'extension de yum fonctionne, il faut aussi modifier tous les autres dépôt du répertoire /etc/yum.repos.d/ en ajoutant priority=10 à chacun des « sous-dépôts ». Vous l'aurez compris, le dépôt intrusif qu'est Remi a perdu son caractère prioritaire et ne va donc pas envahir votre système, tout en profitant des dernières mises à jour d'une bêta de Firefox4, puisque que ce paquet (bêta) n'est disponible que sur ce dépôt. VOUS POUVEZ FAIRE DES MISES À JOUR NORMALLEMENT. Et vous pouvez installer la dernière bêta de Firefox4, cependant la clé GPG du dépôt qui permettra à yum de vérifier l'intégrité de chaque paquet n'est pas encore installée, elle sera installée automatiquement par yum lors du téléchargement d'un paquet en provenance du dépôt Remi, soyez donc attentif car une confirmation sera nécéssaire.

Voici quelques-uns des dépôts de paquets Fedora les plus important:

RPM Fusion

Général et indispensable.

yum install --nogpgcheck http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm

Les paquets contenant du code soumis à un copyright comme des pilotes propriètaires sont dans un dépôt à part:

yum install --nogpgcheck http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm

Planet CCRMA

Ce dépôt est orienté logiciels de musiques assistée par ordinateur et d'outils pour ingénieurs du son.

yum install --nogpgcheck http://mirrors.ircam.fr/pub/planetccrma/mirror/fedora/linux/planetccrma/15/i386/planetccrma-repo-1.1-2.fc15.ccrma.noarch.rpm

Updates-testing

Pour les plus « risque-tout » d'entre nous, ce dépôt propose des mises à jours à l'état de test. Ce dépôt st installé et configuré d'origine sur votre système mais ne l'activez jamais par défaut. Si vous avez besoin d'un paquet présent sur ce dépôt procédez comme suit:

yum update NOM_DU_PAQUET --enablerepo=updates-testing

Kwizart

Pour ceux qui ont envie de tester des paquets, ce dépôt est fait pour vous. Certains paquets ont des dépendances provenant du dépôt RPM Fusion non-free

yum install --nogpgcheck http://rpms.kwizart.net/kwizart-release-15.rpm

Les options complexes de Yum

Puisque nous venons d'installer ensemble un dépôt supplémentaire, commençons par les commandes qui pemettent de lister les dépôts, activés, installés mais pas activés...

yum repolist

Cette commande revoie la liste des dépôts installés et activés sur votre système. On peut rajouter à la fin l'option all qui listera tous les dépôts installés et indique lesquels sont activés.

Dans le registre installation sofistiquée de paquet, on trouve les options:

--enablerepo=UN_DÉPÔT

Permet d'activer momentanément un dépôt installé afin de pouvoir installer un paquet présent sur ce dépôt. L'option inverse s'intitule --disablerepo=UN_DÉPÔT

--nogpgcheck

Ne pas abuser de cette option, elle demande à yum de na pas vérifier la signature numérique du paquet qui garantie sa provenance des dépôts officiels.

--disableplugin=NOM_DU_PLUGIN

Si un plugin gène l'utilisateur, celui-ci peut le désactiver le temps d'un commande. L'option contraire s'intitule --enableplugin=NOM_DU_PLUGIN. Les plugins sont tous activés par défaut mais cette option peut s'avérer utile avec l'option --noplugins qui désactive toutes les options de yum.

--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 indisponiblse, 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 ayant les dépendances cassées. 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 celà peut toujours arriver.

Et pour terminer, nous allons de temps en temps nous assurer de la propreté de notre système avec la commande:

yum clean all

Voilà, prenez soin de votre système Fedora grâce au précieux programme... Et bonne continuation.