Я хотел обновить OpenSSL до версии 1.0.1 в системе Ubuntu 12.04. Я заметил, что в apt-get upgrade openssl не приводит к обновлению OpenSSL. Поддерживается ли более новый OpenSSL в Ubuntu?
Я также пробовал компилировать из исходного кода. Компиляция работает, но я не могу найти, как заменить встроенный OpenSSL (1.0.0) на более новый (1.0.1). Компиляция из исходного кода дает мне более новую версию, работающую вместе со старой версией - мне нужно заменить старую версию на более новую версию. Моя причина этой необходимости заключается в том, чтобы заставить FreeSWITCH компилироваться с более новой версией, потому что последний исходный код FreeSWITCH несовместим с OpenSSL 1.0.0, и, похоже, в FreeSWITCH нет конфигурации make, которая указывала бы путь к новому OpenSSL. (Таким образом, он упрямо продолжает использовать старую версию и не работает!)
Благодарность - это аванс. Любая помощь была бы очень признательна.
ОБРАТИТЕ внимание: этот вопрос и ответ предшествуют ошибке OpenSSL, Heartbleed.
Сначала вам нужно полностью удалить старую установку: (это приведет к поломке большинства систем! Будь осторожен! Большинство людей пожалеют об этом) apt-get purge openssl
Возможно, вы захотите навести порядок в доме, запустив:
apt-get autoremove && apt-get autoclean
Затем вы должны загрузить и скомпилировать нужную вам версию (полный список)
1.0.1 является частью Ubuntu 12.04 на момент написания статьи. Однако для того, чтобы скомпилировать его, вам также необходимо установить пакет разработки (libssl-dev)!
Сначала обновите список пакетов
sudo apt-get update
Затем установите пакет разработки и обновите саму библиотеку за один раз:
В случае, если ваша система все еще устанавливает 1.0.0, у вас настроен какой-то другой репозиторий или что-то еще в вашем управлении пакетами изменено, чтобы вызвать эту ошибку. В этом случае проверьте, что заставляет его по-прежнему закрепляться на 1.0.0, выполнив
Пожалуйста, укажите в своем вопросе, почему вы хотите обновить. Ubuntu поддерживает исправления ошибок, включая исправления безопасности. Взгляните на apt-get changelog openssl, чтобы увидеть изменения. По замыслу Ubuntu не обновляет пакеты в рамках выпуска. Именно так работает выпуск в большинстве операционных систем, отличных от Windows (замораживание версий системных библиотек / пакетов).
Вам необходимо добавить еще один OpenSSL PPA в свой список источников, если вы хотите постоянно обновлять пакет. Тем не менее, я не уверен, что для этого существует Ubuntu PPA… Ручная компиляция, вероятно, была бы самой простой.
@KshitijSaxena: Похоже, вы уже давно не обновляли свою систему. Ubuntu 12.04.2 - 12.04.4 поставляется с предустановленным openssl 1.0.1. Я просто хочу, чтобы вы опубликовали выходные данные этих команд: sudo dpkg -l | grep openssl и lsb_release -a.
Не делайте этого, если у вас есть plesk на ubuntu. Вы больше не сможете запускать plesk (невозможно войти в систему).
Я попробовал это, и мне пришлось переустановить!