Я удалил критическую символическую ссылку libc.so.6
. У меня есть файл, на который он должен указывать, но основные команды, такие как ln
или wget
больше не будут работать из-за отсутствия ссылки. Однако echo
или другие встроенные функции Bash работают.
Я ищу способ воссоздать эту символическую ссылку.
linux
centos6
symbolic-link
Sebas
источник
источник
echo
.cat
отключено ... на самом деле все было.cat
это внешняя программа. Bash Builtin Команды страничное руководство содержит информацию о том, что может быть доступно.Ответы:
Вы можете использовать ldconfig, он воссоздает символическую ссылку:
только что проверил, как видите.
источник
/lib/libc-2.12.so
в приведенном выше примере в/lib/foobar
. Ну, дерьмо, не болееmv
. Ноldconfig -l /lib/foobar
даже достаточно умен, чтобы/lib/libc.so.6
указать на файл с неправильным именем . (Аргументы обязательны, по умолчаниюldconfig
игнорируются имена файлов, которые не начинаются с «lib» и содержат «.so».) В этот момент вы можетеmv
вернуться (или,cp -p
если вы параноик / умный), а затемldconfig
снова запустить, чтобы очистить ,CentOS 6, как правило, поставляется со
busybox
статически связанным набором инструментов Unix, установленным в/sbin
. Вы можете запустить его так:источник
Установите LD_PRELOAD для предварительной загрузки соответствующей библиотеки. Я попробовал это с libpthread, и это, кажется, работает:
источник
sln
служит именно этой цели: исправлять символические ссылки, когда вы не можете использовать обычный ln, потому что вы сломали важную символическую ссылку. Процитирую его справочную страницу:источник
Вы можете установить
LD_LIBRARY_PATH
переменную, чтобы включить каталог, где реальныйlibc.so.6
:Также выполните
ldconfig
для него воссоздание ссылок. Это должно заставить команды работать, чтобы вы могли затем использоватьln
команды для исправления вашей системы.Другим способом было бы загрузиться через LiveCD и связать там файл.
источник
Используйте scp или sftp, чтобы скопировать статически связанную версию ln. Убедитесь, что это исполняемый файл. Затем используйте его, чтобы исправить файл.
источник