Назад | Перейти на главную страницу

Ошибка входа по SSH «-bash: ошибка при загрузке общих библиотек: требуется динамический компоновщик glibc 2.5 или более поздней версии»

Я сделал грубую ошибку на одном из моих производственных серверов и его очень старом хосте RHEL 4. Из-за недавней "уязвимости shellshock" я по ошибке обновил bash до неправильной версии из репозитория RHEL5.

Теперь я получаю сообщение об ошибке -bash: error while loading shared libraries: requires glibc 2.5 or later dynamic linker.

Полная ошибка:

ssh root@example.com

-bash: error while loading shared libraries: requires glibc 2.5 or later dynamic linker

Теперь я не могу войти на сервер, также я попытался перезагрузить хост со старой версией ядра, и все, но это не сработало. Я попытался перезагрузить хост в однопользовательском режиме, но он тоже не работает. Я полностью зациклен на этой проблеме, и это очень важно для нас.

Спасибо,

Загрузите систему с установочного носителя RHEL 4.x, который у вас должен был быть всегда под рукой.

В меню загрузки загрузитесь в режим восстановления.

В режиме восстановления ваша файловая система смонтируется в /mnt/sysimage, где вы затем можете поработать над этим.

Решить проблему, найти bash RPM для EL4, загрузите его при загрузке в среду восстановления и переустановите, например:

cd /mnt/sysimage/var/tmp
wget http://www.example.com/bash-3.0-27.0.1.el4.i386.rpm
rpm --root /mnt/sysimage -Uvh --oldpackage bash-3.0-27.0.1.el4.i386.rpm

Вы можете сделать следующее

Перезагрузите хост с опцией консоли и отредактируйте grub, чтобы добавить "init=/bin/ksh" в конце строки ядра и загрузитесь, чтобы вы получили оболочку

Теперь смонтируйте раздел proc

mount -t proc none /proc

Перемонтируйте корневой раздел:

mount -o remount,rw /

Удалите новые обороты

rpm -q bash
bash-Old _version
bash-new-version 

rpm -e bash-new_version

Подтвердите, что у вас старая версия

rpm -q bash
bash-Old _version

Теперь перезагрузитесь