Je vous soumets un projet de FAQ (ce n'est pas en propre un tutorial mais simplement la réponse à un ensemble de questions ayant le même objet) rapidement rédigé car plusieurs posts répétaient les mêmes questions de façon lancinante ...
Je sollicite vos remarques et compléments avant de soumettre ce projet à la publication.
=================================================
1- LES PREALABLES:
1.1- les paquetages et les dépendances:
La distribution Fedora s'appuie une ensemble de paquetages (ou packages en anglais) dans un format particulier: rpm (Red Hat Packages Manager). D'autres distributions (Debian par exemple) utilisent d'autres formats (.deb ...).
Ces paquetages comprennent:
* des programmes,
* des paramètres pour ces programmes,
* des directives pour l'installation, la mise à jour ou la suppression du paquetage (paquetages requis, paquetages exclus ...). Il s'agit de règles constituant les dépendances.
Le logiciel de base pour leur manipulation (implantation, suppression, mise à jour, consultation, gestion de la base de données rpm) est rpm (accessible dans une console en ligne de commande, avec les droits root). Debian utilise apt.
rpm tient une base descriptive des paquetages installés. Lorsqu'un paquetage doit être implanté, rpm se réfère à cette base pour analyser les dépendances.
(
exemple: le programme up2date a besoin pour son fonctionnement du programme rpm. Les programmes dépendant sont identifiés par la commande rpm -q .... --whatrequises)
[herrib@tux_1 ~]$ rpm -q rpm --whatrequires
rpm-python-4.3.2-21
up2date-4.3.47-5
rpm-build-4.3.2-21
rpm-devel-4.3.2-21
gyum-2.0-3.FC3
createrepo-0.4.1-1
yum-2.2.0-0.fc3
Supprimer le paquetage rpm conduira à la suppression des paquetages liés. De même, si une mise à jour du paquetage yum est possible, les dépendances pourront imposer la mise à jour conjointe de rpm).
1.2- les dépôts:
Une nouvelle logique a été introduite: le dépôt. Le dépôt est un regroupement de rpm, décrit dans une syntaxe spécifique, qui peut être accessible par Internet ou être géré en local.
A l'appui, plusieurs logiciels ont été élaborés:
* yum (et ses interfaces graphiques: yumex, gyum)
* smart (en environnement graphique)
* synaptic(en environnement graphique).
Ces logiciels utilisent rpm pour l'installation, la mise à jour, la suppression, l'interrogation des paquetages et, en parallèle, exploitent les dépôts.
Ils peuvent ainsi régler directement les questions de dépendance en allant chercher, au sein des dépôts, les paquetages requis pour l'installation d'un paquetage donné.
De même, ils présentent des fonctions de gestion des dépôts (création, suppression, mise à jour).
Enfin, ils proposent une syntaxe de haut niveau (yum install, yum remove, yum search ...) ou un environnement graphique varié.
2- COMPRENDRE LA MISE A JOUR:
2.1- principe:
La mise à jour consiste à confronter un paquetage avec le paquetage de même désignation présent dans la base rpm et à examiner les règles de dépendance portées par le nouveau paquetage.
Si la commande est directement passée par rpm, l'utilisateur devra directement régler les questions de dépendance en mettant à jour, le cas échéant, les paquetages utiles.
2.2- modalités de mise en oeuvre:
Up2date interroge un serveur Internet qui fournit les références d'autres sites (miroirs). Un seul site miroir est alors consulté.
Ce site présente l'état des paquetages constituant de potentielles mises à jour. Cet état est confronté à la base des paquetages installés pour faire ressortir les mises à jour possibles, compte tenu des dépendances.
Up2date, sur décision de l'utilisateur, télécharge les paquetages impliqués et procède à la mise à jour du système.
Yum (yumex ou gyum), Smart ou Synaptic mettent à jour la description structurée des dépôts. Ils confrontent alors les listes de paquetages ainsi constituées aux paquetages effectivement installés.
Sur décision de l'utilisateur, les paquetages sont téléchargés et installés sur le système. Les dépendances sont réglées en exploitant les dépôts.
3- LES DIFFERENCES ENTRE UP2DATE ET LES AUTRES SYSTEMES:
3.1- Up2date et Yum:
Up2date et yum sont deux systèmes différents reposant sur des principes identiques:
* ils s'appuient sur rpm (traitement de paquetages en format rpm)
* ils gèrent des sources de rpm (paquetages) dites repositories;
* ils peuvent ainsi identifier les paquetages pouvant être mis à jour, par confrontation entre les paquetages implantés et les paquetages décrits dans les sources;
* ils traitent de même les liens de dépendances (tel paquetage supposant l'implantation de tel(s) autres paquetages ...) et peuvent ainsi proposer l'implantation / la suppression de paquetages autres que celui dont on sollicite la mise à jour / implantation voire suppression.
Le site de yum est à l'adresse:
http://linux.duke.edu/projects/yum/questions.ptml
Yum se distingue de up2date sur un point essentiel: yum peut gérer plusieurs sources, y compris des miroirs (et basculer de l'un à l'autre en fonction de l'encombrement), up2date, une seule source qui désigne ensuite un miroir à utiliser et un seul.
Yum est donc plus souple, plus ouvert. Les tutoriaux Yum indiquent comment diversifier les sources (traitement du /etc/yum.conf).
On notera qu'il peut y avoir divergence entre yum et up2date pour les raisons suivantes:
* la base des dépôts de yum peut être plus large que celle de up2date;
* les sources de yum ne sont pas mises à jour à la même rapidité que celles d'up2date.
Up2date n'est par ailleurs pas d'une grande stabilité et ne présente pas une performance de fonctionnement significative (ce dont attestent de nombreux posts).
Les efforts se portent maintenant, en environnement Fedora, sur yum. (voir en particulier
discussion.
3.2- Up2date et les autres: Smart et Synaptic
Les autres gestionnaires de dépôts se comportent comme Yum. On notera quelques points spécifiques:
* Smart est de développement récent et présente quelques innovations pour le traitement des dépendances (voir
post de Xanax. Il sait par ailleurs traiter différents formats de dépôts;
* Synaptic est porté du monde Debian. Il utilise apt (et non pas rpm). Les dépôts sont ainsi adaptés pour pouvoir interfonctionner.