RHEL 6.4 и OpenSSL 1.0.1 - Зависимость отсутствует ... но это не так?

8

Я пытаюсь установить phpMyAdmin, но получаю сообщение об отсутствии библиотек openssl. Однако я установил их с помощью ius repo;

Error: Package: php-cli-5.4.26-1.el6.remi.x86_64 (remi)
           Requires: libcrypto.so.10(OPENSSL_1.0.1_EC)(64bit)
Error: Package: php-5.4.26-1.el6.remi.x86_64 (remi)
           Requires: libcrypto.so.10(OPENSSL_1.0.1_EC)(64bit)
Error: Package: php-recode-5.4.26-1.el6.remi.x86_64 (remi)
           Requires: librecode.so.0()(64bit)
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest

Проверка версии для openssl;

[root@fts003lhr yum.repos.d]# openssl version -a
OpenSSL 1.0.1e 11 Feb 2013
built on: Wed Oct 16 16:35:53 EDT 2013
platform: linux-x86_64
options:  bn(64,64) md2(int) rc4(8x,int) des(idx,cisc,16,int) idea(int) blowfish(idx)
compiler: gcc -fPIC -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DKRB5_MIT -m64 -DL_ENDIAN -DTERMIO -Wall -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -Wa,--noexecstack -DPURIFY -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM
OPENSSLDIR: "/etc/pki/tls"
engines:  rsax dynamic

Я на RHEL 6.4 Сантьяго.

РЕДАКТИРОВАТЬ: после запуска whatprovides

[root@fts003lhr yum.repos.d]# yum whatprovides */libcrypto.so.10
Loaded plugins: product-id, replace, rhnplugin, security, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
This system is receiving updates from RHN Classic or RHN Satellite.
openssl-1.0.0-20.el6_2.5.i686 : A general purpose cryptography library with TLS implementation
Repo        : rhel-x86_64-server-6-6.4.1
Matched from:
Filename    : /usr/lib/libcrypto.so.10



openssl-1.0.0-4.el6.i686 : A general purpose cryptography library with TLS implementation
Repo        : rhel-x86_64-server-6-6.4.1
Matched from:
Filename    : /usr/lib/libcrypto.so.10



openssl-1.0.0-20.el6_2.1.i686 : A general purpose cryptography library with TLS implementation
Repo        : rhel-x86_64-server-6-6.4.1
Matched from:
Filename    : /usr/lib/libcrypto.so.10



openssl-1.0.0-20.el6_2.2.i686 : A general purpose cryptography library with TLS implementation
Repo        : rhel-x86_64-server-6-6.4.1
Matched from:
Filename    : /usr/lib/libcrypto.so.10



openssl-1.0.0-20.el6_2.2.x86_64 : A general purpose cryptography library with TLS implementation
Repo        : rhel-x86_64-server-6-6.4.1
Matched from:
Filename    : /usr/lib64/libcrypto.so.10



openssl-1.0.0-27.el6_4.2.i686 : A general purpose cryptography library with TLS implementation
Repo        : rhel-x86_64-server-6-6.4.1
Matched from:
Filename    : /usr/lib/libcrypto.so.10



openssl-1.0.0-20.el6_2.4.x86_64 : A general purpose cryptography library with TLS implementation
Repo        : rhel-x86_64-server-6-6.4.1
Matched from:
Filename    : /usr/lib64/libcrypto.so.10



openssl-1.0.0-10.el6_1.5.x86_64 : A general purpose cryptography library with TLS implementation
Repo        : rhel-x86_64-server-6-6.4.1
Matched from:
Filename    : /usr/lib64/libcrypto.so.10



openssl-1.0.0-10.el6_1.5.i686 : A general purpose cryptography library with TLS implementation
Repo        : rhel-x86_64-server-6-6.4.1
Matched from:
Filename    : /usr/lib/libcrypto.so.10



openssl-1.0.0-10.el6_1.4.x86_64 : A general purpose cryptography library with TLS implementation
Repo        : rhel-x86_64-server-6-6.4.1
Matched from:
Filename    : /usr/lib64/libcrypto.so.10



openssl-1.0.0-25.el6_3.1.x86_64 : A general purpose cryptography library with TLS implementation
Repo        : rhel-x86_64-server-6-6.4.1
Matched from:
Filename    : /usr/lib64/libcrypto.so.10



openssl-1.0.0-4.el6.x86_64 : A general purpose cryptography library with TLS implementation
Repo        : rhel-x86_64-server-6-6.4.1
Matched from:
Filename    : /usr/lib64/libcrypto.so.10



openssl-1.0.0-25.el6_3.1.i686 : A general purpose cryptography library with TLS implementation
Repo        : rhel-x86_64-server-6-6.4.1
Matched from:
Filename    : /usr/lib/libcrypto.so.10



openssl-1.0.0-4.el6_0.1.i686 : A general purpose cryptography library with TLS implementation
Repo        : rhel-x86_64-server-6-6.4.1
Matched from:
Filename    : /usr/lib/libcrypto.so.10



openssl-1.0.0-10.el6.i686 : A general purpose cryptography library with TLS implementation
Repo        : rhel-x86_64-server-6-6.4.1
Matched from:
Filename    : /usr/lib/libcrypto.so.10



openssl-1.0.0-4.el6_0.2.x86_64 : A general purpose cryptography library with TLS implementation
Repo        : rhel-x86_64-server-6-6.4.1
Matched from:
Filename    : /usr/lib64/libcrypto.so.10



openssl-1.0.0-4.el6_0.2.i686 : A general purpose cryptography library with TLS implementation
Repo        : rhel-x86_64-server-6-6.4.1
Matched from:
Filename    : /usr/lib/libcrypto.so.10



openssl-1.0.0-20.el6_2.4.i686 : A general purpose cryptography library with TLS implementation
Repo        : rhel-x86_64-server-6-6.4.1
Matched from:
Filename    : /usr/lib/libcrypto.so.10



openssl-1.0.0-10.el6.x86_64 : A general purpose cryptography library with TLS implementation
Repo        : rhel-x86_64-server-6-6.4.1
Matched from:
Filename    : /usr/lib64/libcrypto.so.10



openssl-1.0.0-20.el6.i686 : A general purpose cryptography library with TLS implementation
Repo        : rhel-x86_64-server-6-6.4.1
Matched from:
Filename    : /usr/lib/libcrypto.so.10



openssl-1.0.0-20.el6.x86_64 : A general purpose cryptography library with TLS implementation
Repo        : rhel-x86_64-server-6-6.4.1
Matched from:
Filename    : /usr/lib64/libcrypto.so.10



openssl-1.0.0-4.el6_0.1.x86_64 : A general purpose cryptography library with TLS implementation
Repo        : rhel-x86_64-server-6-6.4.1
Matched from:
Filename    : /usr/lib64/libcrypto.so.10



openssl-1.0.0-20.el6_2.5.x86_64 : A general purpose cryptography library with TLS implementation
Repo        : rhel-x86_64-server-6-6.4.1
Matched from:
Filename    : /usr/lib64/libcrypto.so.10



openssl-1.0.0-27.el6_4.2.x86_64 : A general purpose cryptography library with TLS implementation
Repo        : rhel-x86_64-server-6-6.4.1
Matched from:
Filename    : /usr/lib64/libcrypto.so.10



openssl-1.0.0-20.el6_2.1.x86_64 : A general purpose cryptography library with TLS implementation
Repo        : rhel-x86_64-server-6-6.4.1
Matched from:
Filename    : /usr/lib64/libcrypto.so.10



openssl-1.0.0-10.el6_1.4.i686 : A general purpose cryptography library with TLS implementation
Repo        : rhel-x86_64-server-6-6.4.1
Matched from:
Filename    : /usr/lib/libcrypto.so.10



openssl-1.0.0-27.el6.i686 : A general purpose cryptography library with TLS implementation
Repo        : rhel-x86_64-server-6-6.4.1
Matched from:
Filename    : /usr/lib/libcrypto.so.10



openssl-1.0.0-20.el6_2.3.x86_64 : A general purpose cryptography library with TLS implementation
Repo        : rhel-x86_64-server-6-6.4.1
Matched from:
Filename    : /usr/lib64/libcrypto.so.10



openssl-1.0.0-20.el6_2.3.i686 : A general purpose cryptography library with TLS implementation
Repo        : rhel-x86_64-server-6-6.4.1
Matched from:
Filename    : /usr/lib/libcrypto.so.10



openssl-1.0.0-27.el6.x86_64 : A general purpose cryptography library with TLS implementation
Repo        : rhel-x86_64-server-6-6.4.1
Matched from:
Filename    : /usr/lib64/libcrypto.so.10



openssl10-libs-1.0.1e-2.ius.el6.x86_64 : A general purpose cryptography library with TLS implementation
Repo        : installed
Matched from:
Filename    : /usr/lib64/libcrypto.so.10
Джейк Эванс
источник

Ответы:

6

То, что у вас установлены настоящие библиотеки, не означает, что зависимость была удовлетворена. Это одна из проблем, связанных с таким большим количеством различных репозиториев - бывают ситуации, когда зависимости между репозиториями трудно, если не невозможно исправить. Для начала, в вашем случае, я бы сделал, а yum whatprovides */libcrypto.so.10затем посмотреть, установлен ли этот пакет. Возможно, это не так, согласно базе данных RPM. Вы установили этот пакет через ./configure; make; make install? Если это так, то сделайте простое yum installпротив того, что yum whatprovidesвозвращенные должны решить эту проблему для вас.

Джон
источник
Я установил пакет , используя yum install openssl10из iusрепо. Я только что выполнил whatprovidesкоманду, которую вы предложили. К сожалению, это не решило проблему. Я обновил свой вопрос с выводом.
Джейк Эванс
1
Я уверен, что пакет IUS не дает правильного provideв этом случае. Он предоставляет правильную библиотеку, но это не то же самое, что касается RPM. Команда, которую я дал, специально спрашивает о файле библиотеки, а не о фактическом предоставлении. Первое, что я могу предложить, - это попытаться найти opensslпакет из remi-репо и заменить им пакет IUS, или использовать базовый репозиторий RHEL для всех ваших пакетов opensslи php-*пакетов.
Джон
4

Часто такие результаты связаны с ошибками в хранилище (пакеты были загружены / удалены при построении индексов, возможно?), Неправильными или отсутствующими зависимостями или локальным головокружением. Первые обычно очищаются за несколько часов (или за день); позднее можно исправить, очистив испорченную локальную копию метаданных репозитория ( yum clean metadata) и повторив попытку.

Иногда суета от более ранней установки (попыток) или неудачных деинсталляций остается и мешает. Запустите a package-cleanup --cleandupesи проверьте страницу руководства программы для других опций.

Не используйте сторонние репозитории (кроме EPEL или SC). Если вы это сделаете, проанализируйте стоимость обработки возможных расхождений, неофициальных пакетов, переопределяющих дистрибутивные, и других проблем.

Никогда, под страхом исключений, не устанавливайте программное обеспечение прямо из источника. Ваша система управления пакетами не узнает об этом, и вы определенно попадете в ужасную путаницу. Нет, вопрос не «если», а «когда». Узнайте, как создавать свои собственные пакеты, если есть острая необходимость, но учтите, что к дополнительным затратам, указанным в вышеприведенном пункте, вы теперь несете ответственность за настройку интеграции с дистрибутивом, устранение неполадок, отслеживание исходных версий, оперативные исправления и иногда бэкпорт патчи из последних мерзавцев (или других VCS).

vonbrand
источник
0
  1. скачать rpm по этой ссылке

  2. rpm -Uvh openssl-1.0.1e-16.el6_5.14.x86_64.rpm

  3. rpm -Uvh https://mirror.webtatic.com/yum/el6/latest.rpm

  4. yum install php54w

верховный пандит
источник
0

Попробуйте установить openssl и openssl-libs одновременно с помощью следующей команды для RHEL7 или CentOS 7 (настройте пакет в соответствии с вариантом вашей ОС):

sudo yum install http://mirror.centos.org/centos/7/os/x86_64/Packages/openssl-1.0.2k-8.el7.x86_64.rpm http://mirror.centos.org/centos/7/os/x86_64/Packages/openssl-libs-1.0.2k-8.el7.x86_64.rpm

Поскольку и openssl, и openssl-libs требуют друг друга в качестве зависимостей, и работа без sudo может привести к конфликтным проблемам со старой версией.

КУМАР МАЙАНК
источник