Re: rpm binaires / rpm sources / binaire tgz / sources tgz /…

Top Page

Reply to this message
Author: Cyrille Lefranc
Date:  
To: guilde
Subject: Re: rpm binaires / rpm sources / binaire tgz / sources tgz / libc5 / glibc, m68k + sources
Dom wrote:
> J'ai du mal a comprendre et a differencier tous ces termes :
> Pouvez vous me venir en aide. Tout d'abord j'utilise un p166, avec la RH
> 5.2, ou dois aller en tout premier :


Récupère l'outil rpmfind sur http://fr.rpmfind.net
Puis tu trouves le package correspondant à ton architecture (ix86) et à la version de ta distribution (5.2) en tapant la commande:
rpmfind --upgrade nom_du_package

> libc5, glibc ou m68k (et qu'est ce que ces termes signifient ?)


libc5 et glibc sont des packages qui te fournissent les librairies du langage C nécessaires à l'éxécution de tous les programmes écrits en C.
libc5 est la version 5 de la librairie que l'on trouvait sur les vielles distributions.
glibc (appelée aussi libc6) correspond à la bnouvelle version de la librairie.
On distingue glibc2.0 (que l'on trouive sur toutes les distributions actuelles) de la nouvelle version glibc2.1 qui se révèle incompatible avec la précédente version.
Je m'explique, un programme écrit en langage C lié avec la version 5 de la librairie C, ne s'éxécutera que si l'on dispose de la version 5 de la librairie C.
Idem pour glibc2.0 et glibc2.1 (quoique certains exécutables liés avec la 2.0 passent avec la 2.1).

Sur la RH5.2, tu tapes 'rpm -qi glibc' et tu apprends ainsi que tu as la version 2.0 de la glibc.

m68k correspond à une architecture (à base de processeur 68000, 68020, 68030, 68040) tout comme i386 (pour les 386,486,586,686) ou encore ppc (PowerPc pour PowerMac, CHRP, PREP).

> et ceux ci ?
> rpm binaires
> rpm sources
> binaire tgz
> sources tgz
> sources


Un source est un fichier texte contenant le programme écrit dans un langage de haut niveau (C, C++, perl, etc...).
Ce dernier doit être compilé (utiliser gcc pour les programmes C et g++ pour le C++) afin d'obtenir un binaire, programme en langage machine, qui est le seul langage que ta machine comprenne.

un tgz (ou tar.gz) est une archive tar compréssée avec gzip.
gzip compresse les fichiers afin d'en réduire leur taille at ajoute l'extension gz au fichier obtenu.
tar (Tape Archive) permet de créer un fichier avec l'extension tar sui contient toute une arborescence.
Tu peux créer une archive tar d'un répertoire toto en tapant la commande 'tar cvf toto.tar toto', et tu obtiens le fichier archive toto.tar .
Tu dévelloppes l'archive en tapant 'tar xvf toto.tar'.
Tu compresses toto.tar en tapant 'gzip toto.tar' et tu obtiens toto.tar.gz.
On peux aussi faire les deux opérations en même temps:
tar czvf toto.tgz toto

Le format tgz (ou tar.gz) est le format de package utilisé par la distribution slackware.
Le format rpm (RedHat Package Manager) est le format de package utilisé par la distribution RedHat et tous ses clones (Mandrake par exemple).
RPM est un format puissant qui permet de gérer les dépendances entres les packages, les upgrades de packages, des sripts de pré-installation et de post-installation.
On trouve des rpm au format binaire qui contienne alors le nom de l'architecture cible dans le nom du package (glibc-2.0.7-29.i386.rpm par exemple).
On les installe généralement par 'rpm -Uvh nom_du_package' (voir la page de manuel de rpm pour plus de détails).
On trouve aussi des packages rpm source (glibc-2.0.7-29.src.rpm par exemple) qui contienne alors l'ensemble des programmes source du dit package. Ce package ne dépend donc d'aucune architecture
particulière, mais les sources qu'il contient doivent être compilées afin d'obtenir les programmes ou librairies désirées.
RPM dispose d'un système permettant de construire les packages binaires à partir des packages sources.
rpm --rebuild glibc-2.0.7-29.src.rpm
dévellope l'archive, compile les sources, et crée un package binaire rpm (glibc-2.0.7-29.i386.rpm sur un i386) dans /usr/src/redhat/RPMS/i386/
On peux alors installer le package obtenu par 'rpm -Uvh glibc-2.0.7-29.i386.rpm'

Ouf !
J'espère que ça éclaire ta lanterne.
Je te conseille de prendre un bon bouquin (le système linux traduit par feu René Cougnenc) ou/et de lire le guide du routard disponible en ligne à ftp://ftp.lip6.fr/pub/linux/french/docs/GRL
Pour les commandes tar, gzip et rpm, lit les pages de manuel coreespondantes.
'man rpm' par exemple.

Bon Linux !

-------
Cyrille