mv: не может открыть файл общего объекта “libstdc ++. таким образом 6”: слишком большое вложение символьных ссылок

Ошибка могла бы несколько отличаться, чем та от темы - я переводил его из своего родного языка.

После того, как все перестало работать, я пытался делать, поскольку mjp указал в этом сообщении: GLIBCXX_3.4.20 не нашел, как зафиксировать эту ошибку?

Но в результате каждая команда - склонный - добирается, 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
0
задан 17 June 2017 в 15:50

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+Alt+F3.)

Если sudo повреждается, затем необходимо ли все еще смочь загрузиться в корневую оболочку от режима восстановления, как описано в том, Как я загружаюсь в корневую оболочку?. Необходимо будет затем повторно смонтировать корневую файловую систему в режиме чтения-записи

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 корневая оболочка для продолжения нормальную начальную загрузку.

1
ответ дан 3 November 2019 в 01:55

Другие вопросы по тегам:

Похожие вопросы: