Commande rpm

eliza_b Messages postés 340 Date d'inscription   Statut Membre Dernière intervention   -  
eliza_b Messages postés 340 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour à tous et à toutes,

En voulant installer yum sous redhat, j'ai désinstallé malencontreusement rpm en supprimant le paquet rpm -qe glibc-devel-2.3.4-2 avec la commande:

[root@danube ~/serigne/yum]$ rpm -qe glibc-devel-2.3.4-2 


Maintenant aucune commande ne marche, j'ai une erreur du genre:

[root@danube ~/serigne/yum]$ rpm 
-bash: /bin/rpm: /lib/ld-linux.so.2: bad ELF interpreter: Aucun fichier ou répertoire de ce type


Est-ce que quelqu'un pourrait m'aider à revenir en arrière et à refaire fonctionner mes commandes??
Je vous remercie d'avance.
Et bonne année au passage;)

A voir également:

4 réponses

mamiemando Messages postés 33766 Date d'inscription   Statut Modérateur Dernière intervention   7 878
 
Peux-tu nous dire ce que donne la commande suivante :

cd /lib
find * | grep ld | grep "\.so$"


Si la librairie existe encore, c'est peut être simplement un lien symbolique qui manque. La commande suivante devrait alors le recréer :

ldconfig


Si tu as vraiment supprimé ta libc tu es mal barrée car c'est un des composants les plus importants sous linux. Une solution consiste à démarrer sur un live CD (par exemple un CD d'installation linux), monter ta partition linux dans /mnt/linux, et à partir du live CD, installer le paquet rpm que tu as supprimé en lui indiquant que la racine n'est pas / mais /mnt/linux (en supposant que ce soit possible, en tout cas ça l'est pour dpkg).

Bonne chance
0
eliza_b Messages postés 340 Date d'inscription   Statut Membre Dernière intervention   10
 
Bonjour,

Merci pour ta réponse mamiemando,

Effectivement, je pense avoir supprimé une librairie mais laquelle, aucune idée.
J'ai booté sur un live CD, ma partition est montée dans /mnt/sysimage.

J'essaie d'installer le paquet rpm supprimé avec la commande suivante, en lui précisant que la racine est bien /mnt/sysimage:

# rpm --root /mnt/sysimage --noscripts -ivh /mnt/sysimage/tmp/*.rpm


Et j'ai l'erreur suivante :

error: Failled dependencies: 
rpm <= 4.0-0.65 conflicts with glibc-2.3.4-2.i686 


Est-ce que tu as une idée ?
0
mamiemando Messages postés 33766 Date d'inscription   Statut Modérateur Dernière intervention   7 878
 
En gros je suppose que tu as un paquet rpm*.rpm stocké dans /mnt/sysimage/tmp/*.rpm qui est très ancien. Or tu as du mettre ton système à jour et ce paquet n'est pas compatible avec la glibc qui a été installée depuis.

Pour moi la première erreur (qui n'a rien à voir avec le message d'erreur) est due au fait que tu travailles avec la base rpm du live CD, pas celle du disque dur. Si tu regardes dans le man, rpm travaille avec une base stockée dans /var/lib/rpm. Là, il faut lui préciser qu'elle est dans /mnt/sysimage/var/lib car sinon tu travailles avec la base du live CD, pas celle du disque dur. Du coup la commande serait plutôt à mon avis :

rpm --root /mnt/sysimage --dbpath /mnt/sysimage/var/lib --noscripts -ivh /mnt/sysimage/tmp/glibc-devel-2.3.4-2.rpm


Ensuite, dans l'absolu, le message d'erreur que tu reçois signifie que tu installes une version archaïque de rpm qui n'est plus compatible avec la version de glibc actuelle.

Enfin, à vérifier, je pense que c'est plus le paquet glib que glic-devel qui doit être réinstaller, mais comme je ne sais pas trop comment sont nommés et organisés les paquets rpm je me trompe peut-être.
0
eliza_b Messages postés 340 Date d'inscription   Statut Membre Dernière intervention   10
 
T'as tout à fait raison.

J'ai téléchargé une version récente de rpm et j'ai l'erreur suivante:

# rpm --root /mnt/sysimage --noscripts -ivh /mnt/sysimage/tmp/*.rpm
file /usr/share/man/man8/rpm.8.gz from install of rpm-4.3.3-8_42.el4 
	conflicts with file from package rpm-4.3.3-7_nonptl


J'ai l'impression qu'il essaie d'installer le paquet sur le LiveCD.

Et quand je rajoute l'option dbpath, il me dit qu'il le connait pas.

--dbpath: unknown option
0