Menginstal paket aplikasi pihak ketiga pada CentOS 6.4 gagal karena dependensi yang hilang libcrypto.so.10 dan libssl.so.10

16

Ini adalah Pertanyaan Canonical tentang masalah kompatibilitas biner OpenSSL antara Red Hat Enterprise Linux (dan turunannya) 6.4 dan 6.5.

Masalah ini berlaku untuk berbagai paket pihak ketiga, tidak hanya yang terdaftar dalam pertanyaan awal.

Saya telah menginstal Percona 5.5 dan mencoba untuk meng-upgrade ke 5.6 tetapi saya mengalami masalah yang tidak terduga dan saya terjebak pada bagaimana menyelesaikannya.

Saya mengikuti instruksi di http://www.percona.com/doc/percona-server/5.6/upgrading_guide_55_56.html

Dan menghapus paket 5.5, lalu jalankan perintah berikut untuk memutakhirkan:

yum install Percona-Server-server-56 Percona-Server-client-56

Kesalahan yang saya terima kembali adalah:

Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package Percona-Server-client-56.x86_64 0:5.6.15-rel63.0.519.rhel6 will be installed
--> Processing Dependency: libssl.so.10(libssl.so.10)(64bit) for package: Percona-Server-client-56-5.6.15-rel63.0.519.rhel6.x86_64
--> Processing Dependency: libcrypto.so.10(libcrypto.so.10)(64bit) for package: Percona-Server-client-56-5.6.15-rel63.0.519.rhel6.x86_64
--> Processing Dependency: Percona-Server-shared-56 for package: Percona-Server-client-56-5.6.15-rel63.0.519.rhel6.x86_64
---> Package Percona-Server-server-56.x86_64 0:5.6.15-rel63.0.519.rhel6 will be installed
--> Processing Dependency: libssl.so.10(libssl.so.10)(64bit) for package: Percona-Server-server-56-5.6.15-rel63.0.519.rhel6.x86_64
--> Processing Dependency: libcrypto.so.10(libcrypto.so.10)(64bit) for package: Percona-Server-server-56-5.6.15-rel63.0.519.rhel6.x86_64
--> Running transaction check
---> Package Percona-Server-client-56.x86_64 0:5.6.15-rel63.0.519.rhel6 will be installed
--> Processing Dependency: libssl.so.10(libssl.so.10)(64bit) for package: Percona-Server-client-56-5.6.15-rel63.0.519.rhel6.x86_64
--> Processing Dependency: libcrypto.so.10(libcrypto.so.10)(64bit) for package: Percona-Server-client-56-5.6.15-rel63.0.519.rhel6.x86_64
---> Package Percona-Server-server-56.x86_64 0:5.6.15-rel63.0.519.rhel6 will be installed
--> Processing Dependency: libssl.so.10(libssl.so.10)(64bit) for package: Percona-Server-server-56-5.6.15-rel63.0.519.rhel6.x86_64
--> Processing Dependency: libcrypto.so.10(libcrypto.so.10)(64bit) for package: Percona-Server-server-56-5.6.15-rel63.0.519.rhel6.x86_64
---> Package Percona-Server-shared-56.x86_64 0:5.6.15-rel63.0.519.rhel6 will be installed
--> Processing Dependency: libssl.so.10(libssl.so.10)(64bit) for package: Percona-Server-shared-56-5.6.15-rel63.0.519.rhel6.x86_64
--> Processing Dependency: libcrypto.so.10(libcrypto.so.10)(64bit) for package: Percona-Server-shared-56-5.6.15-rel63.0.519.rhel6.x86_64
--> Finished Dependency Resolution
Error: Package: Percona-Server-server-56-5.6.15-rel63.0.519.rhel6.x86_64 (percona)
       Requires: libcrypto.so.10(libcrypto.so.10)(64bit)
Error: Package: Percona-Server-shared-56-5.6.15-rel63.0.519.rhel6.x86_64 (percona)
       Requires: libcrypto.so.10(libcrypto.so.10)(64bit)
Error: Package: Percona-Server-server-56-5.6.15-rel63.0.519.rhel6.x86_64 (percona)
       Requires: libssl.so.10(libssl.so.10)(64bit)
Error: Package: Percona-Server-shared-56-5.6.15-rel63.0.519.rhel6.x86_64 (percona)
       Requires: libssl.so.10(libssl.so.10)(64bit)
Error: Package: Percona-Server-client-56-5.6.15-rel63.0.519.rhel6.x86_64 (percona)
       Requires: libssl.so.10(libssl.so.10)(64bit)
Error: Package: Percona-Server-client-56-5.6.15-rel63.0.519.rhel6.x86_64 (percona)
       Requires: libcrypto.so.10(libcrypto.so.10)(64bit)
 You could try using --skip-broken to work around the problem
** Found 3 pre-existing rpmdb problem(s), 'yum check' output follows:
perl-DBD-MySQL-4.022-1.el6.rfx.x86_64 has missing requires of libmysqlclient.so.16()(64bit)
perl-DBD-MySQL-4.022-1.el6.rfx.x86_64 has missing requires of libmysqlclient.so.16(libmysqlclient_16)(64bit)
perl-DBD-MySQL-4.022-1.el6.rfx.x86_64 has missing requires of mysql

Saya sudah mencoba semuanya dari menginstal ulang openssl dan openssl-devel yang diinstal dengan benar tetapi masih tidak berfungsi. Ada ide?

Saya menjalankan CentOS 6.4:

root@server01 [/]# cat /proc/version
Linux version 2.6.32-279.5.2.el6.x86_64 ([email protected]) (gcc version 4.4.6 20120305 (Red Hat 4.4.6-4) (GCC) ) #1 SMP Fri Aug 24 01:07:11 UTC 2012
root@server01 [/]#
pengguna2643870
sumber
CentOS menyebut paket yang Anda butuhkan "openssl-libs"
Bandrami
Terima kasih banyak. Saya melihat sekeliling tetapi tidak dapat menemukan CentOS 6.4 Apakah Anda tahu di mana mencarinya?
user2643870

Jawaban:

14

Akar penyebab masalah ini adalah Red Hat merusak kompatibilitas biner dari paket OpenSSL mereka antara 6,4 dan 6,5, sesuatu yang mereka janjikan tidak akan mereka lakukan .

Mengatasi masalah ini sangat mudah, tetapi tergantung pada aplikasi yang mungkin telah Anda gunakan, mungkin perlu berteriak pada vendor aplikasi Anda. Pastikan untuk memesan sebagian besar kemarahan Anda untuk rep Red Hat Anda (jika Anda memiliki RHEL).


Sebab

Red Hat memutakhirkan versi OpenSSL di EL6 dari 1.0.0 ke 1.0.1 di pembaruan 6.5 , untuk menyelesaikan permintaan fitur bertahun-tahun untuk menambahkan dukungan cryptograhpy kurva elips. Paket ini tidak lagi kompatibel biner, dan program yang dibangun dengan OpenSSL 1.0.0 harus dibangun kembali dari sumber ke 1.0.1.

Kecuali jika Anda menginstal aplikasi pihak ketiga, tentu saja, yang dilakukan hampir semua orang. Itu harus dikompilasi ulang juga, dan pada titik ini sebagian besar pihak ketiga telah melakukannya, dan membangun paket baru terhadap 6.5. Paket-paket inilah yang biasanya dikirim oleh pihak ketiga hari ini.

Resolusi

Identifikasi semua paket pihak ketiga yang terkena dampak dan hubungi vendor paket pihak ketiga untuk pembaruan. Setelah pembaruan tersedia untuk semua paket, Anda dapat dengan aman memperbarui sistem Anda ke 6.5, menginstal pembaruan paket pihak ketiga pada saat yang sama, yang akan menyelesaikan resolusi.

Untuk paket yang diinstal melalui manajer paket dan repositori yum, ini sepele; hanya mencoba untuk memutakhirkan dan mampu melakukannya tanpa masalah ketergantungan berarti bahwa paket-paket sudah siap.

Untuk paket yang diinstal secara manual, Anda harus memeriksanya sendiri dan menerapkan pembaruan apa pun yang telah disediakan vendor. Anda juga harus menekan vendor ini untuk menyediakan paket RPM yang tepat dan repositori yum dalam kasus ini.

Sebagian besar pengguna dapat memperbarui ke 6.5 dengan perintah seperti:

yum --disableexcludes=all --obsoletes update

Pengguna RHEL yang telah menetapkan rilis minor spesifik harus terlebih dahulu menetapkan 6.5 sebagai target rilis sebelum menjalankan pembaruan di atas:

subscription-manager release --set=6.5

Pada titik ini Anda harus dapat menginstal paket pihak ketiga yang Anda coba instal.


Masalah lain

Pengguna CentOS dan klon RHEL lainnya pada VPS atau penyedia cloud tertentu mungkin menemukan bahwa mereka tidak dapat memperbarui ke 6.5. The yumperintah akan menyatakan bahwa tidak ada paket ditandai untuk pembaruan. Sejauh ini saya telah melihat ini di Windows Azure dan beberapa penyedia VPS low-end.

Dalam kasus ini, penyedia gambar CentOS yang digunakan telah dimodifikasi /etc/yum.repos.d/CentOS-Base.repodalam gambar untuk menunjuk ke repositori selain cermin CentOS resmi.

Ini dapat diatasi dengan mengedit file repo secara manual untuk mengembalikan mirror CentOS resmi, atau dengan menempatkan centos-releaseRPM resmi pada mirror CentOS dan menginstalnya kembali. Misalnya (URL ini hanya baik hari ini dan mungkin sudah usang nanti; periksa dulu mirror Anda):

yum update http://mirror.centos.org/centos/6/os/x86_64/Packages/centos-release-6-5.el6.centos.11.2.x86_64.rpm
Michael Hampton
sumber
5

Anda dapat menginstal PS 5.6 setelah Anda meningkatkan openssl ke openssl-1.0.1e-15.el6.x86_64.rpm

Untuk 6.4 kita (saya bekerja untuk Percona) juga memiliki beberapa paket yang dibuat khusus: http://www.percona.com/downloads/Percona-Server-5.5-centos-6.4/

Roel Van de Paar
sumber
Pembaruan kecil, tautan di atas telah dihapus, kami (saya bekerja untuk Percona) akan segera memiliki paket yang tersedia yang akan berfungsi pada semua rilis Centos 6.x, termasuk Centos 6.4
Roel Van de Paar
Saya butuh rilis ini :(
Beto Castillo
Saya juga membutuhkan ini, beri tahu kami jika ada, terima kasih!
Herson