GNU/Linux >> Znalost Linux >  >> Cent OS

rpm:chyba při načítání sdílených knihoven:neplatná hlavička ELF

Problém

Příkazy rpm vydávají následující chybu:

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

Řešení

V tomto případě došlo k přepsání buď liblzma.so nebo odkazu na něj (/usr/lib64/liblzma.so.0).

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

Chcete-li tento problém vyřešit, je třeba obnovit soubor liblzma.so a související měkký odkaz. Chcete-li obnovit soubor .so a související softwarové odkazy, postupujte podle kroků uvedených níže.

1. Ujistěte se, že softwarový odkaz /usr/lib64/liblzma.so.0 existuje a odkazuje na 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. Pokud softlink neexistuje, zkuste následující:

– Zkuste použít yum k přeinstalaci xz-libs. Pokud však má problém s otáčkami za minutu, pravděpodobně bude mít i yum.

# yum reinstall xz-libs

3. Pokud to nefunguje, rozbalte rpm a zkopírujte nový soubor sdílené knihovny přes neplatný soubor. Vzhledem k tomu, že rpm má potíže, rozbalení rpm bude pravděpodobně nutné provést na jiném systému.

– Stáhněte si příslušné xz-libx rpm ze zdrojového úložiště a pomocí příkazů rpm2cpio a cpio rozbalte 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. Zkopírujte soubor liblzma.so.0.0.0 z rozbaleného rpm přes existující soubor sdílené knihovny:

# 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. Otestujte, zda otáčky za minutu fungují podle očekávání.

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


Cent OS
  1. Jak opravit chybu instalace Pythonu při načítání sdílených knihoven:libssl.so.1.0.0? [vyřešeno]

  2. Chyba při načítání sdílených knihoven libcrypto.so.1.1 – OpenSSL [Oprava]

  3. Načítání sdílených knihoven a využití RAM?

  1. „který“ ekvivalent pro sdílené knihovny?

  2. R1Soft:Při načítání modulu hcpdriver došlo k chybě

  3. Swapon selže při připojení swapu – dává neplatný argument Error

  1. „Stav VDO:Nedostatek místa“ – Chyba při vytváření disku VDO

  2. chyba při načítání sdílených knihoven:libncurses.so.5:

  3. docker compose:Chyba při načítání sdílených knihoven:libz.so.1:nepodařilo se namapovat segment ze sdíleného objektu:Operace není povolena