GNU/Linux >> Tutoriels Linux >  >> Cent OS

rpm :erreur lors du chargement des bibliothèques partagées :en-tête ELF invalide

Le problème

Les commandes rpm génèrent l'erreur suivante :

rpm: error while loading shared libraries: /usr/lib64/liblzma.so.0: invalid ELF header

La solution

Dans ce cas, soit liblzma.so, soit le lien vers celui-ci (/usr/lib64/liblzma.so.0) a été écrasé.

$ rpm -qa | grep binutils
rpm: error while loading shared libraries: /usr/lib64/liblzma.so.0: invalid ELF header

Pour résoudre ce problème, le fichier liblzma.so et le lien symbolique associé doivent être restaurés. Suivez les étapes décrites ci-dessous pour restaurer le fichier .so et les liens symboliques associés.

1. Assurez-vous que le lien symbolique /usr/lib64/liblzma.so.0 existe et pointe vers liblzma.so.0.0.0 .

# ls -l /usr/lib64/liblzma.so.0
lrwxrwxrwx 1 root root 16 Mar 31 15:42 /usr/lib64/liblzma.so.0 -> liblzma.so.0.0.0
# file /usr/lib64/liblzma.so.0.0.0
./usr/lib64/liblzma.so.0.0.0: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, stripped

2. Si le lien symbolique n'existe pas, essayez ce qui suit :

– Essayez d'utiliser yum pour réinstaller les xz-libs. Cependant, si rpm rencontre un problème, yum le sera probablement aussi.

# yum reinstall xz-libs

3. Si cela ne fonctionne pas, décompressez le RPM et copiez le nouveau fichier de bibliothèque partagée sur le fichier invalide. Comme rpm rencontre des problèmes, il faudra probablement le déballer sur un autre système.

– Téléchargez le rpm xz-libx approprié à partir du référentiel source et utilisez les commandes rpm2cpio et cpio pour décompresser le rpm.

# rpm2cpio xz-libs-4.999.9-0.5.beta.20091007git.el6.x86_64.rpm | cpio -idv
./usr/lib64/liblzma.so.0
./usr/lib64/liblzma.so.0.0.0
./usr/share/doc/xz-libs-4.999.9
./usr/share/doc/xz-libs-4.999.9/COPYING.GPLv2
./usr/share/doc/xz-libs-4.999.9/COPYING.GPLv3
./usr/share/doc/xz-libs-4.999.9/COPYING.LGPLv2.1
421 blocks

4. Copiez liblzma.so.0.0.0 du RPM décompressé sur le fichier de bibliothèque partagée existant :

# cp -pv ./usr/lib64/liblzma.so.0.0.0 /usr/lib64/liblzma.so.0.0.0
cp: overwrite '/usr/lib64/liblzma.so.0.0.0'? y
'./usr/lib64/liblzma.so.0.0.0' -> '/usr/lib64/liblzma.so.0.0.0'
# file /usr/lib64/liblzma.so.0.0.0
/usr/lib64/liblzma.so.0.0.0: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, stripped

5. Testez que rpm fonctionne comme prévu.

# rpm -qf /usr/lib64/liblzma.so.0.0.0
xz-libs-4.999.9-0.5.beta.20091007git.el6.x86_64


Cent OS
  1. L'en-tête envoyé en amont est trop volumineux lors de la lecture de l'en-tête de réponse en amont - erreur NGINX

  2. Chargement des bibliothèques partagées et utilisation de RAM ?

  3. "quel" équivalent pour les bibliothèques partagées ?

  4. Comment corriger « erreur lors du chargement des bibliothèques partagées :libgtk-x11-2.0.so.0 »

  5. Swapon ne parvient pas à monter Swap - donne une erreur d'argument non valide

Comment réparer l'erreur "pacman:erreur lors du chargement des bibliothèques partagées" dans Arch Linux

R1Soft :Une erreur s'est produite lors du chargement du module hcpdriver

"Erreur lors du chargement des bibliothèques partagées :libjli.so :impossible d'ouvrir le fichier d'objet partagé :aucun fichier ou répertoire de ce type" Erreur "java -version" au démarrage

Erreur Linux lors du chargement des bibliothèques partagées :impossible d'ouvrir le fichier objet partagé :aucun fichier ou répertoire de ce type

Erreur lors du chargement de la bibliothèque partagée (glew)

conda.exe :erreur lors du chargement des bibliothèques partagées :libz.so.1