GNU/Linux >> Tutoriales Linux >  >> Cent OS

Rpm:error al cargar bibliotecas compartidas:Libz.so.1:no se puede abrir el archivo de objeto compartido:no existe tal archivo

El problema

Al ejecutar el comando rpm, se ve el siguiente error:

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

Faltan las bibliotecas de fragmentos de 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 solución

El zlib estaba roto, normalmente zlib contiene los siguientes archivos.

En la plataforma 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

En la plataforma 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 

Mientras que el zlib está roto, el comando rpm también está roto. Por lo tanto, no podemos simplemente usar el comando rpm o yum para reinstalar zlib. Lo que puedes hacer aquí es:

1. En otro servidor CentOS/RHEL, extraiga las bibliotecas compartidas zlib de un rpm con la misma versión (por ejemplo, zlib-1.2.3-27.el6 aquí).

2. Descomprimir las rpm:

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

3. Sustituya [arch] por x86_64 o i686 según la arquitectura de su servidor:

# 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. Mueva lib.so.1.2.3 y lib.so.1 a la ubicación correcta:

En la plataforma x86_64:

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

En la plataforma x86:

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

5. Reconstruya la memoria caché de la biblioteca:

# ldconfig

Ahora el comando rpm debería ejecutarse con normalidad.

6. Opcionalmente, reinstale zlib para solucionar otros posibles problemas:

# yum reinstall zlib

Notas

Puede ocurrir un problema similar para otros paquetes como se menciona a continuación:

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

Para resolver esto, busque qué paquete proporciona el archivo faltante:

# 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

Vuelva a instalar el paquete o copie el archivo que falta extrayendo el rpm.


Cent OS
  1. Error al cargar bibliotecas compartidas libcrypto.so.1.1 – OpenSSL [Fijar]

  2. Cómo solucionar "error al cargar bibliotecas compartidas:libgtk-x11-2.0.so.0"

  3. rpm:error al cargar bibliotecas compartidas:encabezado ELF no válido

  4. libaio.so.1:no se puede abrir el archivo de objeto compartido

  5. docker compose:error al cargar bibliotecas compartidas:libz.so.1:no se pudo asignar el segmento del objeto compartido:operación no permitida

Cómo solucionar el error "pacman:error al cargar bibliotecas compartidas" en Arch Linux

Error al cargar la biblioteca compartida (glow)

libpulse.so.0:no se puede abrir el archivo de objeto compartido:no existe tal archivo o directorio

ImportError:libtk8.6.so:no se puede abrir el archivo de objeto compartido:no existe tal archivo o directorio

ImportError:libcblas.so.3:no se puede abrir el archivo de objeto compartido:no existe tal archivo o directorio

conda.exe:error al cargar bibliotecas compartidas:libz.so.1