Recientemente eliminé accidentalmente el archivo. /lib/x86_64-linux-gnu/libc.so.6.
Este archivo es necesario para la mayoría de los programas, por lo que mi computadora está básicamente rota y solo puedo acceder al disco duro a través de un USB activo.
Estoy ejecutando Crunchbang Waldorf de 64 bits, que está basado en Debian.
¿Cómo puedo reemplazar libc.so.6
? (/lib64/
no escontener una copia.)
Salida delocate libc.so
(en USB en vivo, con el disco duro roto montado)
/lib/x86_64-linux-gnu/libc.so.6
/rofs/lib/x86_64-linux-gnu/libc.so.6
/rofs/usr/lib/x86_64-linux-gnu/libc.so.6
/usr/lib/x86_64-linux-gnu/libc.so.6
Contenido de /etc/apt/sources.list
deb http://mozilla.debian.net/ wheezy-backports iceweasel-release
## CRUNCHBANG
## Compatible with Debian Wheezy, but use at your own risk.
deb http://packages.crunchbang.org/waldorf waldorf main contrib
# deb-src http://packages.crunchbang.org/waldorf waldorf main
## DEBIAN
deb http://http.debian.net/debian wheezy main contrib non-free
# deb-src http://http.debian.org/debian wheezy main contrib non-free
## DEBIAN SECURITY
deb http://security.debian.org/ wheezy/updates main contrib
# deb-src http://security.debian.org/ wheezy/updates main
Respuesta1
Voy a asumir que su memoria USB en vivo tiene la misma distribución que está ejecutando o al menos está basada en Debian.
Con esas suposiciones, primero inicie su sistema con su memoria USB activa. Luego consulte a qué paquete pertenece el archivo /lib/x86_64-linux-gnu/libc.so.6
con el comando dpkg -S /lib/x86_64-linux-gnu/libc.so.6
(el archivo resultará ser propiedad del paquete llamado "libc6", pero de todos modos es un buen ejercicio).
Cuando tenga su sistema ejecutándose desde una distribución en vivo desde una memoria USB, descargue el paquete o paquetes requeridos desdeSitio Waldorf de Crunchbang.
Luego monte su unidad de disco duro en algún directorio. A modo de ejemplo, asumiré nuevamente que montará su partición raíz desde su disco duro en /mnt
.
Luego todo lo que queda por hacer es reinstalar el paquete o paquetes requeridos usando --root /mnt
la directiva for dpkg
. De esa manera, los paquetes no terminarán en el sistema de archivos de su memoria USB en vivo, sino en el sistema que ya tiene en su disco duro.
Respuesta2
El libc.so.6
archivo está presente en el libc6
paquete.
Debe averiguar desde qué repositorio libc6
se instaló el paquete en su máquina. (Consultar /etc/apt/sources.list
, etc.).
Luego descárguelo manualmente (por ejemplo, si fuera una máquina Debian que usara los repositorios predeterminados, podría descargarlo desdeaquí) y luego instálelo siguiendo las instrucciones proporcionadas por @SamiLaine.
Respuesta3
Pruebe esto en un shell raíz:
ln -s /lib/x86_64-linux-gnu/libc-2.13.so /lib64/libc.so.6
Si libc-2.13.so
no es la versión correcta para su sistema, use la función de tabulación en bash para encontrar la correcta.
Si esto no funciona, puede seguir con la versión vinculada estáticamente deldconfigen un shell raíz:
/sbin/ldconfig
Si se eliminó la biblioteca de destino para los enlaces libc, descargue el paquete Debian desdePaquete: libc6página, descomprímala usando dpkg-deb -X
(página de manual) y copiar libc-2.13.so
a /lib/x86_64-linux-gnu
. Luego ejecute ldconfig para asegurarse de que todos los enlaces sean correctos.
Respuesta4
Abra una terminal ( Ctrl+ Alt+ T) y ejecute los siguientes comandos:
Para Ubuntu de 64 bits:
sudo ln -s /lib64/x86_64-linux-gnu/libc.so.6 /lib64/libc.so.6
Para Ubuntu de 32 bits:
sudo ln -s /lib/i386-linux-gnu/libc.so.6 /lib/libc.so.6