Sophie

Sophie

distrib > * > 2010.0 > * > by-pkgid > a412ceb851151854794ced2a242192bb > files > 2919

howto-html-fr-20080722-1mdv2010.0.noarch.rpm

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>3. Paquets RPM</title>
<link rel="stylesheet" href="style.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="index.html" title="
    Guide pratique de gravure d'un CD RedHat
  ">
<link rel="up" href="index.html" title="
    Guide pratique de gravure d'un CD RedHat
  ">
<link rel="prev" href="ar01s02.html" title="2. Anatomie du site FTP de Red Hat">
<link rel="next" href="ar01s04.html" title="4. Obtenir votre copie locale de la distribution">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<div class="navheader">
<table width="100%" summary="Navigation header">
<tr><th colspan="3" align="center">3. Paquets RPM</th></tr>
<tr>
<td width="20%" align="left">
<a accesskey="p" href="ar01s02.html">Précédent</a> </td>
<th width="60%" align="center"> </th>
<td width="20%" align="right"> <a accesskey="n" href="ar01s04.html">Suivant</a>
</td>
</tr>
</table>
<hr>
</div>
<div class="sect1" lang="fr">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="paquets-rpm"></a>3. Paquets RPM</h2></div></div></div>
<p>

    La majeure partie de la distribution RedHat consiste en un ensemble
    de fichiers RPM ((abréviation de <span class="foreignphrase"><i class="foreignphrase">Redhat Package
    Manager</i></span>, c'est-à-dire « <span class="quote">gestionnaire de paquets
    RedHat</span> »). Un paquet RPM contient en général des exécutables
    binaires, accompagnés de leurs fichiers de configuration et de leur
    documentation. Le programme <a href="http://www.rpm.org" target="_top">rpm</a> est un puissant gestionnaire de
    paquets, qui peut être utilisé pour installer, interroger, vérifier,
    mettre à jour, effacer et construire des paquets au format RPM.
    <span class="application">Rpm</span> est très pratique car il gère une
    base de données de tous les paquets installés, ce qui permet de
    savoir à tout moment ce qui est installé.

  </p>
<p>

    Les fichiers binaires RPM inclus dans la distribution ont été
    construits sur un système utilisant lui-même la distribution. C'est
    important car la plupart des programmes des paquets dépendent de
    bibliothèques partagées. La nouvelle version 3 de la bibliothèque C
    standard GNU (compatible 64 bits) a été utilisée à partir de la
    distribution Redhat 5.0. Cette version de la bibliothèque est
    communément appelée <span class="emphasis"><em>glibc</em></span> ou, sous Linux,
    <span class="emphasis"><em>libc 6</em></span>. Tous les exécutables de cette
    distribution ont été liés à cette bibliothèque. Si vous tentez
    d'installer les fichiers binaires d'une distribution différente, il
    y a beaucoup de chances que cela ne fonctionne pas, sauf si vous
    installez le paquet libc5 pour obtenir une compatibilité
    descendante. Il existe aussi des incompatibilités entre les
    nombreuses versions du <span class="application">RedHat Package
    Manager</span> lui-même qui empêcheront l'installation de
    certains paquets même sur les machines où ils sont supposés
    fonctionner.

  </p>
<p>

    Les noms des paquets RPM contiennent le suffixe
    <tt class="filename">.<i class="replaceable"><tt>archi</tt></i>.rpm</tt>, où
    <i class="replaceable"><tt>archi</tt></i> est l'architecture. Celle-ci a
    habituellement pour valeur <tt class="literal">i386</tt> pour les
    binaires destinés à la plate-forme Intel. Les paquets que vous
    installez doivent correspondre aux versions des bibliothèques
    partagées installées sur la machine. Le programme <a href="http://www.rpm.org" target="_top">rpm</a> est habituellement assez bon
    pour s'en assurer. Néanmoins, il existe des moyens de passer outre
    cette vérification. Si vous décidez de forcer l'installation d'un
    paquet de cette façon, soyez <span class="emphasis"><em>vraiment</em></span> sûr de
    savoir ce que vous faites. Néanmoins, l'utilisation du disque de
    démarrage d'installation de RedHat vous garantie qu'un ensemble
    correct de paquets RPM sera installé sur la machine.

  </p>
<p>

    Si vous découvrez un paquet RPM qui n'a pas été installé sur votre
    système durant le processus d'installation, ne désespérez pas. À
    tout moment, vous pourrez (sous le compte root) installer des
    paquets RPM. Par exemple :

  </p>
<pre class="screen">
# rpm --install WindowMaker-0.18-1b.i386.rpm
</pre>
<p>

    Vous pouvez même installer un paquet RPM directement depuis
    Internet, si vous connaissez son URL :

  </p>
<pre class="screen">
# URL="ftp://rufus.w3.org/redhat-contrib/noarch/mirror-2.9-2.noarch.rpm"
# rpm --install "$URL"
</pre>
<p>
  
    Si vous voulez mettre à jour un paquet RPM (ou l'installer s'il
    n'est pas présent sur la machine), utilisez la commande :

  </p>
<pre class="screen">
# rpm --update  WindowMaker-0.18-1b.i386.rpm
</pre>
<p>

      Si vous voulez mettre à jour un paquet RPM dont une version 
      précédente est déjà installée, utilisez la commande :

  </p>
<pre class="screen">
# rpm --freshen  WindowMaker-0.18-1b.i386.rpm
</pre>
<p>

    Il existe un autre type de paquets RPM qui contient les sources
    originales qui ont servi à construire les binaires. Ces paquets ont
    le suffixe <tt class="filename">.src.rpm</tt> et sont
    situés dans le répertoire <tt class="filename">SRPMS</tt>. La moitié du troisième CD et les
    deux derniers des cinq CD de la distribution Redhat 8.0 (ou la 7.3)
    contiennent des paquets source. Pour la 9, ils sont sur trois CD
    séparés. Pour la 6.2 (et les précédentes versions, pas trop
    anciennes), les choses changent un peu puisqu'il n'existe qu'un seul
    CD d'installation qui ne comporte pas les paquets SRPMS, que vous
    pouvez graver sur un disque différent si vous le voulez.

  </p>
<p>

    Pour obtenir plus d'informations sur le gestionnaire de paquet
    RedHat, je vous suggère de lire les pages de manuel et le très
    complet <a href="http://www.rpm.org/max-rpm/" target="_top">Maximum
    rpm</a>. 

  </p>
<p>

    Dans la prochaine section, je présenterai un programme C qui sera
    utilisé dans divers scripts tout au long du reste de ce guide
    pratique. Il indique, entre deux versions du même paquet RPM, celui
    qui est le plus récent. Ce programme est basé sur le code utilisé
    dans le gestionnaire de paquets RedHat (version 4.1) et est utilisé
    quand l'option <tt class="option">--freshen</tt> est ajoutée.

  </p>
<div class="sect2" lang="fr">
<div class="titlepage"><div><div><h3 class="title">
<a name="comparer-versions-rpm"></a>3.1. Comparer deux versions d'un paquet RPM</h3></div></div></div>
<p>

      Le code C des trois fichiers <a href="outils/RedHat-CD-HOWTO/rhcd-scripts/rpmvc/Makefile" target="_top">Makefile</a>, <a href="outils/RedHat-CD-HOWTO/rhcd-scripts/rpmvc/rvc.h" target="_top">rvc.h</a>, <a href="outils/RedHat-CD-HOWTO/rhcd-scripts/rpmvc/rvc.c" target="_top">rvc.c</a> a été extrait
      du code du gestionnaire de paquets RedHat et (légèrement) modifié
      pour répondre à nos besoins. Ils forment un programme C simple
      qui, avec deux versions A et B d'un paquet retourne 1, 0 ou -1 si
      A est respectivement plus récent, égal ou plus ancien que B et
      d'autres valeurs en cas d'erreur (vous pouvez lire les
      commentaires du code pour plus d'informations). Pour compiler le
      programme, vous aurez besoin du programme
      <tt class="filename">make</tt> et du compilateur C
      <tt class="filename">gcc</tt>. Copiez les fichiers dans le même
      répertoire et lancez la commande :

    </p>
<pre class="screen">
$ make
</pre>
<p>

      Ce programme est nécessaire à pratiquement tous les scripts
      utilisés dans les sections suivantes. Pour que les scripts
      puissent le retrouver, vous devez définir la variable
      <tt class="literal">RVC</tt> dans le fichier <a href="outils/RedHat-CD-HOWTO/rhcd-scripts/rhcd.conf" target="_top">rhcd.conf</a>.

    </p>
<p>

      Vous trouverez une copie des sources et de la version précompilée
      dans l'archive <a href="outils/RedHat-CD-HOWTO/rhcd-scripts.tar.gz" target="_top">rhcd-scripts.tar.gz</a> située dans le répertoire <tt class="filename">rpmvc</tt>.

    </p>
<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Note">
<tr>
<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="images/note.png"></td>
<th align="left">Note</th>
</tr>
<tr><td colspan="2" align="left" valign="top"><p>

        Ce programme était utilisé de façon incorrecte par les scripts
        <span class="emphasis"><em>updateDist.sh (ver. &lt; 1.17)</em></span> et
        <span class="emphasis"><em>updateCD.sh (ver. &lt; 1.12)</em></span>. Je vous
        suggère fortement d'éviter les versions antérieures de ces
        scripts antérieures, même si ce problème n'est pas fréquent (du
        moins en apparence).

    </p></td></tr>
</table></div>
</div>
</div>
<div class="navfooter">
<hr>
<table width="100%" summary="Navigation footer">
<tr>
<td width="40%" align="left">
<a accesskey="p" href="ar01s02.html">Précédent</a> </td>
<td width="20%" align="center"><a accesskey="u" href="index.html">Niveau supérieur</a></td>
<td width="40%" align="right"> <a accesskey="n" href="ar01s04.html">Suivant</a>
</td>
</tr>
<tr>
<td width="40%" align="left" valign="top">2. Anatomie du site FTP de Red Hat </td>
<td width="20%" align="center"><a accesskey="h" href="index.html">Sommaire</a></td>
<td width="40%" align="right" valign="top"> 4. Obtenir votre copie locale de la distribution</td>
</tr>
</table>
</div>
</body>
</html>