
В начале я пытался исправить проблему, /lib/ld-linux-so.3:No such file or directory
когда я пытался запустить некоторые динамически кросс-компилированные двоичные файлы. Поэтому я добавил некоторые общие двоичные файлы в /lib
. Я изменил или удалил некоторые важные файлы в /lib
. Я знаю, это кажется глупым.
Теперь проблема в том, что всякий раз, когда я хочу запустить исполняемый двоичный файл, я получаю эту ошибку:
Error while loading shared libraries:libgcc-s.so.1:cannot open shared object file: No such file or directory.
Я скопировал libgcc-s.so.1
откуда /lib
-то еще. Кто-нибудь может подсказать, как исправить /lib
? Что-то обновить или установить заново? Спасибо.
решение1
Попробуйте загрузить Ubuntu с внешнего носителя (CD, USB), затем смонтируйте корневой раздел, например, в /mnt/root. После этого попробуйте переустановить пакет libgcc1
, команда должна быть примерно такой:
apt-get --root-directory=/mnt/root install libgcc1
Это должно исправить проблему с libgcc, но, возможно, у вас возникнут другие проблемы с другими библиотеками. Повторяйте это до тех пор, пока у вас не будет работоспособного apt-get в вашем реальном Linux, где вы сможете переустановить другие сломанные библиотеки.
Подсказка: если у вас работает Linux или есть другой Ubuntu Linux, вы можете найти имя пакета для каждого нужного вам файла, выполнив:
apt-file search /lib/libgcc_s.so.1
Совет 2: Возможно, вам пригодится chroot, после того как вы переустановите отсутствующие библиотеки, вы сможете
chroot /mnt/root /bin/sh
Таким образом, вы сможете проверить, правильно ли работает ваш Linux, не перезагружаясь в Linux и не перезагружаясь на внешний носитель в случае, если он не работает.