Установка LD_LIBRARY_PATH для указания на резервную копию sudo не работает

286
Dmitriy Vinokurov

Я случайно удалил содержимое /usrпапки, но у меня есть его резервная копия /mnt/usr.

Чтобы исправить это мне нужно sudo, но это было в /usr/bin. Поэтому я попытался использовать /mnt/usr/bin/sudo, но он выдает ошибку компоновщика:

/mnt/usr/bin/sudo: error while loading shared libraries: libsudo_util.so.0: cannot open shared object file: No such file or directory

Я пытался установить LD_LIBRARY_PATH

$ LD_LIBRARY_PATH=/mnt/usr/lib/sudo /mnt/usr/bin/sudo ls 

но та же ошибка все еще появляется.

Кто-нибудь может мне помочь восстановить мою систему?

2
Можете ли вы войти в систему как пользователь root? Альтернативно: используйте дистрибутив для исправления. Или: Установите переменную `$ PATH`:` PATH = $ PATH: / mnt / usr / bin` confetti 6 лет назад 0
@confetti, использование живого распространения невозможно, потому что это удаленная установка сервера. Возможно, можно использовать доступ с правами root, я попросил об этом коллег. PATH не помог, такая же ошибка компоновщика. Dmitriy Vinokurov 6 лет назад 0
Хорошо, я только что понял, что все ваши библиотеки тоже отсутствуют, сначала я подумал, что затронуты только двоичные файлы. Если вы не можете войти в систему восстановления или оболочку, я думаю, что получение root может быть вашим единственным шансом. Должна быть возможность создать ссылку из / usr / на / mnt / usr / и удалить ее после завершения копирования, но кто-то с большим опытом в этом должен подтвердить это. confetti 6 лет назад 0

2 ответа на вопрос

0
danblack

LD_LIBRARY_PATHнужно указать, где находятся общие библиотеки, /mnt/usr/libexec/sudo/:/mnt/lib64может быть.

0
Dmitriy Vinokurov

Решено путем восстановления сервера из резервной копии