Habe versehentlich OpenSSL-Bibliothekspakete gelöscht und kann Yum oder Wget nicht wieder zum Laufen bringen

Habe versehentlich OpenSSL-Bibliothekspakete gelöscht und kann Yum oder Wget nicht wieder zum Laufen bringen

Ich habe also versucht, OpenSSL zu aktualisieren und habe beschlossen, die vorhandenen OpenSSL-Pakete zu entfernen, da sie aus einem anderen Repository stammten.

Nach dem Entfernen kann ich weder Yum noch Wget wieder zum Laufen bringen, da sie alle auf SSL angewiesen zu sein scheinen

Mir fehlen die Dateien

libssl.so.10
libcrypto.so.10

Ich konnte die Wiederherstellung durchführen, libssl.so.10indem ich libssl3.sodas lokal vorhandene Programm verwendete, mit dem ich jedoch libcrypto.so.10noch nicht arbeiten konnte (da diese Datei wahrscheinlich von einem Remotestandort heruntergeladen werden muss).

lecker:

The error leading to this problem was:
libcrypto.so.10: cannot open shared object file: No such file or directory

wget:

wget: error while loading shared libraries: libcrypto.so.10:

Mit anderen Worten, ich befinde mich jetzt in einer Zwickmühle: Ich kann yum, wget, curl, rpm (with url), oder nicht verwenden rsync (by connecting to a backup server instance), da sie alle SSL-Bibliotheksdateien erfordern.

Ich kann nicht einmal ein neues SSH zum problematischen Server öffnen, da die SSL-Bibliotheksdateien jetzt weg sind. (Zugriff nur mit vorhandener Putty-Eingabeaufforderung möglich).

Ich versuche, den Dateiinhalt mit dem VIM-Editor unter Verwendung eines anderen Snapshot-Backups zu „kopieren und einzufügen“, aber das scheint nicht zu funktionieren.

Ich überlege, ob es eine Möglichkeit gibt, ein RPM oder sogar eine einzelne Datei über einfaches HTTP mit vorhandenen Tools herunterzuladen, die oben nicht aufgeführt sind ...

Antwort1

NICHT SO GUT. Versuchen Sie, --forceden RPM-Befehl zu vermeiden, es sei denn, Sie wissen, was Sie tun.

Um zu versuchen, einen annehmbaren Zustand wiederherzustellen, sodass Sie eine ordnungsgemäße Wiederherstellung versuchen können, führen Sie Folgendes vom Backup oder einem anderen identischen Server aus:

# tar cfz - $(rpm -ql openssl) | base64 > oh_my_god_what_did_I_do

Kopieren Sie die Ausgabe davon (in der oh_my_god_what_did_I_doDatei) in die Zwischenablage und fügen Sie sie auf dem anderen Server ein:

# cat > oh_my_god_what_did_I_do
(paste here)
^D
# cd /; base64 -d < oh_my_god_what_did_I_do | tar xfz -

Viel Glück.

(Wenn Sie versiert sind, können Sie sich andere Möglichkeiten zum Verschieben der Datei ausdenken. NFS, Netcat, es ist nicht schwer, etwas zu finden.)

verwandte Informationen