Я установил минимальную CentOS
6.5 на виртуальную машину. Версия OpenSSL 1.0.1e-fips
.
Теперь я хочу установить программное обеспечение, которое настоятельно рекомендуется для установки OpenSSL 1.0.1c, я должен установить его с помощью get с openssl.org
. Я считаю, что это означает, что мне следует установить версию openssl 1.0.1c и удалить версию 1.0.1e.
Я попробовал yum remove openssl
, но получил
Error: Trying to remove "yum", which is protected
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest
Теперь мой вопрос: как удалить openssl по умолчанию? Сначала установите рекомендованный, а затем удалите тот, который используется по умолчанию? Как я могу это сделать?
Скорее всего, вы не захотите этого делать. Понижение версии OpenSSL может (повторно) внести ошибки безопасности (а также нарушить другие пакеты, установленные в вашей системе)
Если вам действительно нужно (не совсем понятно зачем, поскольку все ревизии одной и той же версии должны быть совместимы) сделать это, я бы установил другую версию библиотеки в какой-нибудь частный путь (/opt/openssl
?) и затем установил LD_LIBRARY_PATH`, чтобы заставить исполняемый файл загрузить эту версию вместо системной.
Edit: Я предлагаю установить другую версию библиотеки в /opt/openssl
вместо /usr/local/lib
, потому что в некоторых дистрибутивах этот путь используется по умолчанию. Это будет означать, что более старая версия openssl
будет использоваться по умолчанию для всех приложений в системе. И я все еще не думаю, что понижение версии openssl
- хорошая идея.
Когда вы сделали:
# yum update
У вас проблема с зависимостями, сначала решите ее.
Я думаю, вы можете понизить версию, если репозитории все еще предоставляют openssl более старой версии:
# yum downgrade openssl
Когда вы использовали:
# yum remove openssl
Некоторые пакеты тоже удалят его. Когда некоторые пакеты зависят от пакета openssl.