![mv: невозможно открыть файл общего объекта "libstdc++.so.6": слишком большое вложение символических ссылок](https://rvso.com/image/1000937/mv%3A%20%D0%BD%D0%B5%D0%B2%D0%BE%D0%B7%D0%BC%D0%BE%D0%B6%D0%BD%D0%BE%20%D0%BE%D1%82%D0%BA%D1%80%D1%8B%D1%82%D1%8C%20%D1%84%D0%B0%D0%B9%D0%BB%20%D0%BE%D0%B1%D1%89%D0%B5%D0%B3%D0%BE%20%D0%BE%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D0%B0%20%22libstdc%2B%2B.so.6%22%3A%20%D1%81%D0%BB%D0%B8%D1%88%D0%BA%D0%BE%D0%BC%20%D0%B1%D0%BE%D0%BB%D1%8C%D1%88%D0%BE%D0%B5%20%D0%B2%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5%20%D1%81%D0%B8%D0%BC%D0%B2%D0%BE%D0%BB%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D1%85%20%D1%81%D1%81%D1%8B%D0%BB%D0%BE%D0%BA.png)
Ошибка может немного отличаться от той, что указана в теме, — я переводил ее со своего родного языка.
После того, как все это не удалось, я попробовал сделать так, как указал mjp в этом посте: GLIBCXX_3.4.20 не найден, как исправить эту ошибку?
Но в результате каждая команда - apt-get, mv, cp возвращает ошибку из заголовка темы. Я не могу вернуться к резервной версии файла.
На данный момент я даже не могу войти в Ubuntu. Я застрял на экране входа. Каждый раз, когда я пытаюсь войти, экран становится черным, и я возвращаюсь к входу. Я могу использовать команду только через ctrl+alt+F3
Что я должен делать?
Ответ для steeldriver (пожалуйста, посмотрите комментарий):
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
решение1
[Должен признать, что я немного озадачен, почему базовые утилиты, такие как mv
или , cp
могут выйти из строя из-за libstdc++.so.6
, однако, если предположить, что это причина, вот что я бы попробовал]
Ваш busybox ls
вывод показывает, что вам удалось рекурсивно связать /usr/lib/x86_64-linux-gnu/libstdc++.so.6
себя с самим собой. К счастью, похоже, что вы не удалили и не перезаписали фактическую /usr/lib/x86_64-linux-gnu/libstdc++.so.6.19
библиотеку. Поэтому вы должны быть в состоянии восстановиться, повторно создав символическую ссылку.
Проблема будет в том, что один из них или sudo
оба ln
будут полагаться на libstdc++
библиотеку. (Предположительно, bash
нет, поскольку вы можете войти в систему с помощью оболочки на виртуальном терминале Ctrl++ .)AltF3
Если sudo
он сломан, то вы все равно сможете загрузиться в оболочку root из режима восстановления, как описано вКак загрузиться в оболочке root?. Затем вам нужно будет перемонтировать корневую файловую систему в режиме чтения-записи.
mount -o remount,rw /
После этого вы можете попытаться исправить неработающую ссылку.
ln -sf libstdc++.so.6.19 /usr/lib/x86_64-linux-gnu/libstdc++.so.6
(это должно создатьотносительная символическая ссылкакоторый разрешается относительно целевого пути /usr/lib/x86_64-linux-gnu/
, аналогично вашей .old
ссылке).
Предполагая, что это не удается из-за ln
зависимости от libstdc++.so
, вы можете попробовать еще раз, используя статически скомпонованный busybox
исполняемый файл, который имеет встроенный ln
:
/bin/busybox ln -sf libstdc++.so.6.19 /usr/lib/x86_64-linux-gnu/libstdc++.so.6
Если это сработает, вы можете использовать exit
оболочку root для продолжения обычной загрузки.