Я хотел установить новую бета-версию postgres, которая доступна только из исходного кода. На моем сервере не было установлено gcc, поэтому я хотел установить gcc. После запуска yast gcc 4.3.3 можно было установить только через тонны пакетов. Я просмотрел все это, нажал «Установить», а затем высветились некоторые ошибки установки. После нажатия кнопки abort я больше не могу войти в yast.

/bin/bash: /lib64/libc.so.6: version GLIBC_2.11 'не найдена (требуется /lib64/libreadline.so.5)`

молния, обороты тоже сломаны. Я должен был полностью найти сервер. Есть какая-нибудь команда на восстановление, чтобы все снова заработало? Я бегу suse 11.1.

1 ответ1

2

Нет команды на ремонт. Случилось так, что ваше понижение версии заменило версию glibc с текущей версии на старую версию, и все другие программы в вашей системе, которые ссылаются на glibc (т. Е. Все, кроме пакетов, которые были понижены в первую очередь), теперь не могут найти символы, которые они должны связать и запустить.

Вы можете восстановить эту систему, запустив систему восстановления (OpenSUSE 11.1 Live CD или вставив жесткий диск в другой компьютер), затем вручную загрузите правильную версию glibc rpm, распакуйте ее и вручную поместите ее файлы в сломанную систему.

Фактически вы можете сделать это практически из любой операционной системы Linux, которая может монтировать файловую систему вашего сервера. Главное, что вам нужно, это команда rpm , но убедитесь, что версия rpm в системе восстановления является новой, чтобы она поддерживала формат архива LZMA, который, я думаю, был развернут к моменту выпуска 11.1. Самый безопасный способ сделать это - использовать LiveSUSE / SUSE 11.1 Live CD в качестве системы спасения, а не что-то странное и старое, как Ubuntu 8.04 или SUSE 10.

После того, как вы снова включите glibc, вы можете выполнить chroot в сломанной системе и повторить попытку или откатить версию, и если вы столкнетесь с какими-либо ошибками, просто exit из среды chroot, загрузите необходимые пакеты на хост и распакуйте их в Гость.

На самом деле, может быть проще, если вы загрузите спасательную версию OpenSUSE 11.1, просто скопируйте все файлы из /usr и /lib64 из спасательной системы в поврежденный корневой том, перезаписав все ваши основные программы исходными версиями. (glibc, ядро, Xorg и т. д.). Но не перезаписать /boot или вы потеряете свой menu.lst / menu.cfg. И не перезаписывайте /etc иначе вы потеряете fstab, что важно и, вероятно, не сломано (но оно сломается, если вы перезапишете его версией на аварийном компакт-диске).

Обратите внимание, что это не гарантированно работает. Возможно, вы захотите запустить zypper up (как root) в системе восстановления ДО того, как вы это сделаете. Это позволит обновить все файлы в /usr и /lib64 до последних версий из репозитория обновлений до их размещения на сервере. Это обеспечивает наилучшую вероятность того, что все будет работать, когда вы загрузитесь в сломанную систему.

Скорее всего, ответ на ваш вопрос "suse нарушен?"Возможно, это "да", но если вы дотошны и знаете, что делаете, вы все равно можете это исправить. Однако убедить базу данных rpm сломанной системы в том, что все в порядке, может оказаться интересным.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .