GNU/Linux >> Linux Esercitazione >  >> Cent OS

Rpm:Errore durante il caricamento di librerie condivise:Libz.so.1:Impossibile aprire il file di oggetti condivisi:nessun file di questo tipo

Il problema

Quando si esegue il comando rpm, viene visualizzato il seguente errore:

rpm: error while loading shared libraries: libz.so.1: cannot open shared object file: No such file

Mancano le librerie di shard zlib:

# ls -l /lib64/libz.so*
ls: /lib64/libz.so*: No such file or directory
# ls -l /lib/libz.so*
ls: /lib/libz.so*: No such file or directory 

La soluzione

La zlib era rotta, normalmente zlib contiene i seguenti file.

Su piattaforma x86_64:

# rpm -ql zlib-1.2.3-27.el6.x86_64
/lib64/libz.so.1
/lib64/libz.so.1.2.3
/usr/share/doc/zlib-1.2.3
/usr/share/doc/zlib-1.2.3/ChangeLog
/usr/share/doc/zlib-1.2.3/FAQ
/usr/share/doc/zlib-1.2.3/README

Su piattaforma x86:

# rpm -ql zlib-1.2.3-27.el6.i686
/lib/libz.so.1
/lib/libz.so.1.2.3
/usr/share/doc/zlib-1.2.3
/usr/share/doc/zlib-1.2.3/ChangeLog
/usr/share/doc/zlib-1.2.3/FAQ
/usr/share/doc/zlib-1.2.3/README 

Mentre zlib è rotto, anche il comando rpm è rotto. Quindi non possiamo semplicemente usare il comando rpm o yum per reinstallare zlib. Quello che puoi fare qui è:

1. Su un altro server CentOS/RHEL, estrai le librerie di condivisione zlib da un rpm con la stessa versione (ad es. zlib-1.2.3-27.el6 qui).

2. Decomprimi il numero di giri:

# rpm2cpio zlib-1.2.3-27.el6.[arch].rpm | cpio -idvm

3. Sostituisci [arch] a x86_64 o i686 a seconda dell'architettura del tuo server:

# rpm2cpio zlib-1.2.3-27.el6.x86_64.rpm | cpio -idvm
./lib64/libz.so.1
./lib64/libz.so.1.2.3
./usr/share/doc/zlib-1.2.3
./usr/share/doc/zlib-1.2.3/ChangeLog
./usr/share/doc/zlib-1.2.3/FAQ
./usr/share/doc/zlib-1.2.3/README
300 blocks

4. Sposta lib.so.1.2.3 e lib.so.1 nella posizione corretta:

Su piattaforma x86_64:

# mv ./lib64/libz.so.* /lib64

Su piattaforma x86:

# mv ./lib/libz.so.* /lib

5. Ricostruisci la cache della libreria:

# ldconfig

Ora il comando rpm dovrebbe essere eseguito normalmente.

6. Facoltativamente, reinstalla zlib per risolvere altri possibili problemi:

# yum reinstall zlib

Note

Un problema simile può verificarsi per altri pacchetti come menzionato di seguito:

rpm: error while loading shared libraries: libdb-4.7.so: cannot open shared object file: No such file or directory

Per risolvere questo problema, trova quale pacchetto fornisce il file mancante:

# yum provides */libdb*
Loaded plugins: security, ulninfo
db4-4.7.25-19.el6_6.i686 : The Berkeley DB database library (version 4) for C
Repo : ol6_latest_local
Matched from:
Filename : /usr/lib/libdb-4.7.so
Filename : /lib/libdb-4.7.so

Reinstallare il pacchetto o copiare il file mancante estraendo rpm.


Cent OS
  1. Come risolvere l'errore "Impossibile aprire il file oggetto condiviso" nelle distribuzioni Linux basate su Ubuntu

  2. Errore durante il caricamento delle librerie condivise libcrypto.so.1.1 – OpenSSL [fissare]

  3. Come correggere "errore durante il caricamento delle librerie condivise:libgtk-x11-2.0.so.0"

  4. "errore durante il caricamento delle librerie condivise:libjli.so:impossibile aprire il file oggetto condiviso:nessun file o directory del genere" Errore 'java -version' all'avvio

  5. Errore Linux durante il caricamento delle librerie condivise:impossibile aprire il file oggetto condiviso:file o directory non presenti

Come risolvere l'errore "pacman:errore durante il caricamento delle librerie condivise" in Arch Linux

libaio.so.1:impossibile aprire il file oggetto condiviso

Errore durante il caricamento della libreria condivisa (glew)

libpulse.so.0:impossibile aprire il file oggetto condiviso:file o directory non presenti

ImportError:libtk8.6.so:impossibile aprire il file oggetto condiviso:file o directory non presenti

conda.exe:errore durante il caricamento delle librerie condivise:libz.so.1