it-swarm.com.de

Aktualisieren Sie glibc sicher unter CentOS 7

Ich habe eine python - Anwendung auf meinem CentOS-Computer ausprobiert und es wird folgende Fehlermeldung angezeigt:

ImportError: /usr/lib64/libc.so.6: version `GLIBC_2.18' not found (required by /tmp/_MEI2BYIr4/libstdc++.so.6)

Ich war versucht, GLIBC zu aktualisieren, aber nachdem ich einige Foren gelesen habe, scheint es, als könnte ich das System beschädigen. Kennen Sie eine Alternative?

Vielen Dank

6
Paco el Cuqui

Überprüfen Sie, ob es tatsächlich benötigt wird

Überprüfen Sie zunächst die Anwendung python, da sie möglicherweise veraltet ist und die Version glibc wahrscheinlich falsch liest. CentOS zeigt die Basisversion als installiert an und ist gepatcht, um mit den Änderungen und Änderungen Schritt zu halten Es könnte nur darum gehen, die im Code gesuchte Version als schnelle Lösung zu reparieren. Wenn die Anwendung jedoch aktiv entwickelt wird, müssen Sie dies den Entwicklern mitteilen oder selbst mitteilen, wenn Sie können.

Ein aktuelles glibc unter CentOS 7 sollte 2.17-196.el7_4.2 Sein.

Wenn es benötigt wird, Containerisieren

Wenn es absolut notwendig ist, diese Anwendung auszuführen, besteht der offizielle RHEL-Ansatz darin, Container zu erstellen, aber Sie müssten immer noch einen funktionierenden Glibc bereitstellen, der mit CentOS 7 nicht möglich wäre.

Installieren Sie als letzten Ausweg glibc an einem nicht standardmäßigen Speicherort

Wenn dies nicht möglich ist und als absoluter letzter Ausweg, ist es möglich, eine neuere Version von glibc als 2.18 zu installieren, da diese jetzt fünf Jahre alt ist und glibc für mehrere aktualisiert wurde Sicherheitslücken und ich bin mir nicht sicher, ob es mit der Version von make in CentOS 7 erstellt wird, aber jede neuere Version sollte wie folgt funktionieren:

  • Dies kann möglicherweise die Funktionalität Ihres Computers beeinträchtigen. Stellen Sie daher sicher, dass Sie wissen, was Sie tun.

Sie können die Version von glibc, die Sie an anderer Stelle auf Ihrem Server benötigen, erstellen und zu LD_LIBRARY_PATH Für die Anwendung hinzufügen. Beachten Sie, dass dies nur für die Anwendung erfolgen darf.

wget http://ftp.gnu.org/gnu/glibc/glibc-2.18.tar.gz
tar zxvf glibc-2.18.tar.gz
cd glibc-2.18
mkdir build
cd build
../configure --prefix=/opt/glibc-2.18
make -j4
Sudo make install
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/glibc-2.18/lib

/opt Ist der Standardort für die Installation von Anwendungen und Bibliotheken von Drittanbietern. Sie können jedoch einen beliebigen Pfad außerhalb der Systempfade verwenden.

12
Simon Greenwood

Am Ende musste ich GLIBC nicht aktualisieren. Das gdc-client Tool, das ich über R heruntergeladen habe, schien für Ubuntu und nicht für CentOS zu sein, obwohl ich es unter CentOS 7 gemacht habe. Ich habe dann den GDC-Client für CentOS heruntergeladen und es hat gut funktioniert.

2
Paco el Cuqui

Unter CentOS 7 habe ich das /usr/lib64 Ordner im rpath wie folgt

patchelf --set-interpreter /opt/glibc-2.18/lib/ld-linux-x86-64.so.2 --set-rpath /opt/glibc-2.18/lib:/usr/lib64 pydio-agent

Das hat bei mir funktioniert

1
Mark Cleverdon