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

удалил glibc x86_64 на VPS, CentOS 6

Не могли бы вы помочь мне решить эту проблему.

Я «случайно» rpm -e библиотеки glibc.x86_64 сделал свой VPS непригодным для использования, так как все команды выдают одну из следующих ошибок:

[root@panel lib64]# yum
bash: /usr/bin/yum: /usr/bin/python: bad interpreter: No such file or directory
[root@panel lib64]# ls 
bash: /bin/ls: /lib64/ld-linux-x86-64.so.2: bad ELF interpreter: No such file or directory

Если что-либо из следующего может помочь:

1) Я все еще подключен к оболочке

2) Я не могу загрузиться до восстановления, так как это удаленный VPS

3) все еще установлен i686 glibc

4) В моем домашнем каталоге есть файл .rpm версии x86_64.

5) Есть /lib/ld-linux.so.2, могу ли я каким-то образом указать системе на его использование?

6) У меня есть /opt/glibc-2.14/lib/ld-linux-x86-64.so.2, и я могу выполнять команды с префиксом, но самые важные из них, такие как rpm2cpio или wget, вызывают ошибки общих объектов.

Могу ли я решить эту проблему с помощью статических команд или добавления какой-либо другой библиотеки в путь или любым другим способом?

Спасибо всем заранее.

Я бы посоветовал скачать glibc x86_64.rpm пакет через wget, а затем установите его с помощью об / мин команды.

Я думаю, вы можете собрать исходный код для glibc.x86_64 с помощью существующего набора инструментов i686 (32-бит). Загрузите исходный код и распакуйте его, затем следуйте указаниям УСТАНОВИТЬ. Когда вы запустите configure, он обнаружит только 32-разрядную версию и восстановит вас оттуда.

Я также обнаружил, что на CentOS вы можете выполнить

yum update kernel
# reboot 
yum update

(из https://geeksterminal.com/how-to-install-glib-glibc/1392/)

SSF

После удаления компоновщика выполнение дополнительных программ невозможно. Все, что у вас есть, - это работающая оболочка bash. Нет wget, нет cp.

Это может происходить двумя способами. Обычное резервное копирование, восстановление и перестройка того, что сделал этот экземпляр, запустите этот процесс сейчас. Или очень творческий подвиг в извлечении из него данных и возвращении в работу glibc.

Необходимо скопировать двоичные файлы, по крайней мере, такие же новые, как EL6 glibc версии 2.12. Только с помощью bash. Теоретически возможно использование только встроенных модулей. На другом хосте распакуйте с помощью rpm2cpio, используйте / dev / tcp /, чтобы загрузить их на сломанный хост. На практике это некрасиво и сложно заставить работать. Необходимо использовать незашифрованные протоколы и вручную ввести запрос.

Вместо этого прикрепите (снимок) образ диска виртуальной машины к другой работающей виртуальной машине EL6 и работайте с ней там. Смонтируйте его где-нибудь, скажем / mnt. Используйте yum, чтобы вернуть glibc, но установите его в сломанный корень:

 yum --installroot=/mnt install glibc

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


Теперь о вскрытии.

Исправление неисправного экземпляра - это хорошо для восстановления ваших данных, но может оказаться невозможным. Резервные копии остаются восстановлением, которое всегда должно работать. Убедитесь, что восстановление и восстановление возможно.

Вы должны были использовать rpm -e --nodeps попасть в эту ситуацию. Никогда сделай это. Зависимости существуют, потому что пакеты требуют друг друга. описание пакета glibc rpm (rpm -qi glibc) упоминает о его важности, хотя, честно говоря, после множества слов:

Этот конкретный пакет содержит наиболее важные наборы разделяемых библиотек: стандартную библиотеку C и стандартную математическую библиотеку. Без этих двух библиотек система Linux работать не будет.

Если вы не можете выполнить транзакцию rpm с помощью yum, остановитесь. Подвергнуть сомнению целостность базы данных пакетов. Ставьте под сомнение разумность репозиториев yum, которые заставили кого-то задуматься --nodeps когда-либо была хорошей идеей.