Назад | Перейти на главную страницу

Установка 2-х версий openssl одновременно

Мне нужно установить 2 разные версии OpenSSL одновременно. В настоящее время я использую Amazon EC2 с 32-разрядным AMI Amazon, который в настоящее время работает под управлением OpenSSL 1.0.0a. У меня есть старое программное обеспечение, которое мне нужно запустить, для которого требуется OpenSSL.0.9.6. К сожалению, из того, что я узнал, OpenSSL не имеет обратной совместимости, поэтому мне нужно будет установить обе версии одновременно. Я нашел RPM, который будет работать, однако я не знаю, как установить их одновременно, ничего не сломав. Любая информация по этому поводу будет принята с благодарностью.

Спасибо

Вы можете скачать исходный код из архива openssl.org и скомпилировать его из исходного кода, установив в отдельный каталог.

./config --prefix=/old-openssl-version-x.x.x --openssldir=/old-openssl-version-x.x.x
make
make test
sudo make install

Затем используйте конкретную версию, например:

/old-openssl-version-x.x.x/bin/openssl do whatever you want

Один из вариантов - просто настроить chroot в вашей системе с дистрибутивом, в котором есть необходимый вам набор пакетов. Это займет больше места и будет означать, что вам придется выполнять обслуживание как корневой ОС, так и chroot, но это позволит вам запустить одно приложение в chroot, которое требует более старого набора библиотек в той же системе, что и вы запускаете приложения, которым требуются современные библиотеки.

Я предполагаю, что вы используете дистрибутив, в котором нет разумной политики именования пакетов библиотек относительно soname объекта (ов), содержащегося в нем, и который также имеет соображения об установке нескольких версий одного и того же пакета.

В этом случае единственный вариант - распаковать посылку вручную (я считаю rpm2cpio является отправной точкой в ​​этом конкретном крестовом походе, если нет rpm вариант, который делает трюк) и поместите соответствующие файлы в нужное место (а). Если ты только после libssl и (как следствие) libcrypto, это должно быть довольно просто - вы копируете libssl.so.0.9.6 и libcrypto.so.0.9.6 на место, и ldd на проблемном двоичном файле должно показать счастье.

Если вам действительно нужен весь пакет OpenSSL определенной версии, вам нужно публично назвать и опозорить поставщика, ради блага Интернета, потому что это просто смешно.

Я сделал это на BSD-боксе без каких-либо проблем. Просто убедитесь, что вы установили только библиотеки, а не перезаписали фактический двоичный файл openssl (также и страницы руководства).

Вероятно, было бы безопаснее просто rpm2cpio и извлечь библиотеки.