![mv: no se puede abrir el archivo de objeto compartido "libstdc++.so.6": anidamiento demasiado grande de enlaces simbólicos](https://rvso.com/image/1000937/mv%3A%20no%20se%20puede%20abrir%20el%20archivo%20de%20objeto%20compartido%20%22libstdc%2B%2B.so.6%22%3A%20anidamiento%20demasiado%20grande%20de%20enlaces%20simb%C3%B3licos.png)
El error puede ser un poco diferente al del tema: lo estaba traduciendo de mi idioma nativo.
Después de que todo falló, intenté hacer lo que mjp señala en esta publicación: GLIBCXX_3.4.20 no encontrado, ¿cómo solucionar este error?
Pero como resultado, cada comando: apt-get, mv, cp devuelve el error del título del tema. No puedo volver a la versión de copia de seguridad del archivo.
Por el momento ni siquiera puedo iniciar sesión en Ubuntu. Me metieron dentro de la pantalla de inicio de sesión. Cada vez que intento iniciar sesión, la pantalla se pone negra y vuelvo a iniciar sesión. Sólo puedo usar el comando mediante ctrl+alt+F3
¿Qué tengo que hacer?
Respuesta para Steeldriver (mire el comentario):
lrwxrwxrwx 1 root root 40 Jun 17 21:37 /usr/lib/x86_64-linux-gnu/libstdc++.so.6 -> /usr/lib/x86_64-linux-gnu/libstdc++.so.6
-rw-r--r-- 1 root root 979056 May 7 2016 /usr/lib/x86_64-linux-gnu/libstdc++.so.6.19
lrwxrwrwx 1 root root 19 May 7 2016 /usr/lib/x86_64-linux-gnu/libstdc++.so.6.old -> libstdc++.so.6.0.19
Respuesta1
[Debo admitir que estoy un poco desconcertado por qué a las utilidades básicas les gusta mv
o cp
se romperían debido a libstdc++.so.6
, sin embargo, suponiendo que esa sea la razón, esto es lo que intentaría]
Su busybox ls
resultado indica que ha logrado vincularse recursivamente /usr/lib/x86_64-linux-gnu/libstdc++.so.6
a sí mismo. Afortunadamente, parece que no has eliminado ni sobrescrito la /usr/lib/x86_64-linux-gnu/libstdc++.so.6.19
biblioteca real. Por lo tanto, debería poder recuperarse recreando el enlace simbólico.
El problema será si uno sudo
o ln
ambos dependen de la libstdc++
biblioteca. (Presumiblemente bash
no es así, ya que puede iniciar sesión con un shell en el Ctrl+ Alt+ F3terminal virtual).
Si sudo
está roto, aún debería poder iniciar en un shell raíz desde el modo de recuperación, como se describe en¿Cómo inicio en un shell raíz?. Luego deberá volver a montar el sistema de archivos raíz en modo lectura-escritura.
mount -o remount,rw /
Después de eso, puedes intentar arreglar el enlace roto.
ln -sf libstdc++.so.6.19 /usr/lib/x86_64-linux-gnu/libstdc++.so.6
(esto debería crear unenlace simbólico relativoque se resuelve en relación con la ruta de destino /usr/lib/x86_64-linux-gnu/
, similar a su .old
enlace).
Suponiendo que eso falla porque ln
depende de libstdc++.so
, puede intentarlo nuevamente usando el busybox
ejecutable vinculado estáticamente, que tiene un incorporado ln
:
/bin/busybox ln -sf libstdc++.so.6.19 /usr/lib/x86_64-linux-gnu/libstdc++.so.6
Si eso funciona, puede acceder exit
al shell raíz para continuar con el arranque normal.