logo de l'epfl
Domaine IT
Espace logiciel libre à l’Ecole
French only
EPFL >  DIT >  ELLE
Accueil > Linux > FAQ > Yum et des répertoires multiples

Yum et des répertoires multiples

jeudi 8 mai 2008, par elle
 
Yum permet de gérer proprement son système

L’arrivée de yum a grandement facilité la gestion des rpms, entre autre en gérant les dépendances. Il est maintenant possible de gérer proprement ses mises à jours, même si l’on prend des rpms dans divers repository

Quelques mots sur la configuration de base yum

Yum a été développé par l’Université de Duke. Pour une bonne introduction, rien de mieux que la documentation des auteurs.

Les fichiers de configuration sont /etc/yum.conf et des fichiers .repo dans le répertoire /etc/yum.repo.d. Souvent on trouvera un fichier .repo par repository [1].

Chaque fichier xxx.repo contient une ou plusieurs structures du type :


[NomDUneEntrée]
name=Fedora $releasever - $basearch
mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora
enabled=1

Pour vérifier la source des packages que l’on installe, ceux-ci sont signés par une clef gpg fournie par le site du repository correspondant. Les paramètres de configuration y relatifs sont gpgcheck, mis à 1 pour exiger la vérification des signatures gpg et gpgkey référeçant l’emplacement du fichier de la clef gpg.

Pour une installation typique, les repositories base et update sont pris en compte (enabled=1), leurs noms variant suivant la distribution (RedHat, Fedora, CentOS...). Il n’en est pas de même d’autres repositories, par exemple les sources, car on ne souhaite pas les installer par défaut ce qui se traduite par enabled=0.

Il est toujours possible d’activer un repository au moment du lancement de yum : yum --enable source list kernel*

Sélectionner des packages en dehors de sa distribution

Les motifs de vouloir prendre un rpm en dehors de sa distribution sont divers, le plus souvent parce qu’on ne trouve pas le logiciel dans sa distribution ou parce qu’on a besoin d’une version plus récente d’un logiciel. Il faudra rester attentif à la compatibilité. Personnellement, je n’installe que des rpms, uniquement avec yum, et n’utilise jamais l’option force. Par contre, le plugin de hiérarchie est la garantie de mise à jour cohérentes.

Pour Red Hat, Fedora, CentOS, etc., on trouvera des packages dans les repositories suivants :

Hiérarchie de répertoires de rpms

On va modifier la configuration de yum pour inclure divers repositories et les hiérarchiser [3].

  1. Ajoutons l’extension de yum qui permet de hiérarchiser les repositories : yum install yum-priorities
  2. Ajoutons des fichiers de configuration pour nos repositories favoris :
    • RPMforge
      rpm --import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt
      rpm -ivh http://apt.sw.be/redhat/el5/en/i386/RPMS.dag/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
    • EPEL
      rpm --import http://download.fedora.redhat.com/pub/epel/RPM-GPG-KEY-EPEL
      rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-2.noarch.rpm
  1. Vérifions que la hiérarchisation est bien activée dans /etc/yum/pluginconf.d/priorities.conf (enabled = 1)
  2. Editons les fichiers .repo dans /etc/yum.repos.d/ pour ajouter une ligne priority = n par entrée :
    • priorité 1 pour les package de la distribution (base, update)
    • priorité 11 pour RPMforge
    • priorité 21 pour EPEL

Comment ça marche ?

Pour un package donné, yum cherchera le repository contenant ce package qui a la plus basse priorité. Ainsi, lors d’une mise à jour, il n’ira pas installer un rpm de EPEL si celui-ci existe dans base ou update. Ce n’est que si un package donné n’existe que dans EPEL qu’il sera installé.

Ainsi les mise à jour cohérentes sont garanties.

[1] Dans ce contexte, on appelle repository un site web qui contient un ensemble de packages pour une version d’une distribution donnée.

[2] EPEL : Extra packages for EnterpriseLinux

[3] Une bonne référence pour l’utilisation sous CentOS : http://wiki.centos.org/Repositories/RPMForge


ELLE-EPFL 1015 Lausanne, tél. +41 021 693.22.49, Webmaster:elle AT epfl.ch
CC-BY-SA Cette création est mise à disposition sous contrat Creative Commons by-sa.
mise à jour le 8 mai 2008

Répondre à cet article