Rompió la mayoría de las funciones de la computadora Linux con un enlace simbólico incorrecto

Rompió la mayoría de las funciones de la computadora Linux con un enlace simbólico incorrecto

Estoy usando Crunchbang de 64 bits, que está basado en Debian.

Estaba intentando solucionar cierto problema con libc6 e ingenuamente seguí el consejo de una respuesta de AskUbuntu (enlace) que me hizo ejecutar el siguiente comando:

sudo ln -sf /lib32/libc.so.6 /lib/x86_64-linux-gnu/libc.so.6

Ahora no puedo ejecutar un solo comando de terminal o programa GUI. En la terminal recibo una gran cantidad de errores. Aquí está ls, por ejemplo:

ls: error al cargar bibliotecas compartidas: libs.so.6: clase ELF incorrecta: ELFCLASS32

sed: error al cargar bibliotecas compartidas: libs.so.6: clase ELF incorrecta: ELFCLASS32

/usr/bin/env: error al cargar bibliotecas compartidas: libs.so.6: clase ELF incorrecta: ELFCLASS32

fecha: error al cargar bibliotecas compartidas: libs.so.6: clase ELF incorrecta: ELFCLASS32

sed: error al cargar bibliotecas compartidas: libs.so.6: clase ELF incorrecta: ELFCLASS32

Los programas GUI simplemente no se inician o me dan mensajes de error extraños.

En resumen, no tengo forma de eliminar el enlace simbólico que provocó esta catástrofe. ¿Qué puedo hacer para que mi computadora vuelva a funcionar?

Respuesta1

La carpeta /lib32 sólo puede contener bibliotecas de 32 bits. Creó un enlace de libc.so.6 en /lib32 que apunta a la versión de 64 bits del mismo archivo. Obtenga una versión de 32 bits de libc.so.6 y colóquela en la carpeta /lib32.

Respuesta2

Dado que has estropeado tu libc y, en general, todas las utilidades útiles dependen de ello, tu única opción realmente conveniente es arrancar desde un Live CD/USB y arreglarlo, o insertar tu disco duro en la computadora de otra persona (no arranques desde it) y solucionarlo desde allí.

Para solucionarlo, deshaga lo que hizo.

Sin embargo, su mala elección de la -fopción lny la supuesta falla al realizar una copia de seguridad de cualquier archivo original significa que, si /lib/x86_64-linux-gnu/libc.so.6realmente existía antes de ejecutar ese comando, se sobrescribió. En ese caso, lo mejor sería obtener una copia de otro lugar, con suerte una versión compatible, y luego realizar una reinstalación forzada de libc una vez que su máquina vuelva a estar operativa solo para asegurarse de que todas las versiones correctas de los archivos correctos estén en el archivo. lugares correctos.

Si no tenía ese archivo para empezar, no se preocupe.

Después de limpiar todo esto, considere intentar soluciones menos riesgosas para cualquiera que sea su problema, como desenmascarar e instalar paquetes correctos para su plataforma, etc., en lugar de perder el tiempo con enlaces simbólicos a bibliotecas críticas.

información relacionada