Обновите OpenSSL на Ubuntu 12.04

Я хотел обновить 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

Затем вы должны загрузить и скомпилировать нужную вам версию (полный список)

wget https://www.openssl.org/source/openssl-1.0.1g.tar.gz

Установите пакет разработки!

1.0.1 является частью Ubuntu 12.04 на момент написания статьи. Однако для того, чтобы скомпилировать его, вам также необходимо установить пакет разработки (libssl-dev)!

Сначала обновите список пакетов

sudo apt-get update

Затем установите пакет разработки и обновите саму библиотеку за один раз:

sudo apt-get install openssl libssl-dev

Вы можете видеть здесь 1.0.1 является частью версии 12.04: http://packages.ubuntu.com/precise-updates/openssl

В случае, если ваша система все еще устанавливает 1.0.0, у вас настроен какой-то другой репозиторий или что-то еще в вашем управлении пакетами изменено, чтобы вызвать эту ошибку. В этом случае проверьте, что заставляет его по-прежнему закрепляться на 1.0.0, выполнив

apt-cache policy openssl libssl-dev

Попробуйте загрузить последнюю версию libssl и openssl от http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/ и установите оба.

Предупреждение: Это приведет к нарушению автоматических обновлений безопасности для OpenSSL.

Пожалуйста, укажите в своем вопросе, почему вы хотите обновить. Ubuntu поддерживает исправления ошибок, включая исправления безопасности. Взгляните на apt-get changelog openssl, чтобы увидеть изменения. По замыслу Ubuntu не обновляет пакеты в рамках выпуска. Именно так работает выпуск в большинстве операционных систем, отличных от Windows (замораживание версий системных библиотек / пакетов).

Я включил причину - мне нужен FreeSWITCH для работы в системе, которая нуждается в OpenSSL 1.0.1

Попробуйте sudo apt-get install openssl.Это обновит ваш пакет openssl.

Вам необходимо добавить еще один OpenSSL PPA в свой список источников, если вы хотите постоянно обновлять пакет. Тем не менее, я не уверен, что для этого существует Ubuntu PPA… Ручная компиляция, вероятно, была бы самой простой.

просто обновите и обновите `sudo apt-get update && sudo apt-get upgrade’

@KshitijSaxena: Похоже, вы уже давно не обновляли свою систему. Ubuntu 12.04.2 - 12.04.4 поставляется с предустановленным openssl 1.0.1. Я просто хочу, чтобы вы опубликовали выходные данные этих команд: sudo dpkg -l | grep openssl и lsb_release -a.

Не забудьте перезапустить такие службы, как apache2 / nginx, ftp, mysql и т.д., После обновления.

Не делайте этого, если у вас есть plesk на ubuntu. Вы больше не сможете запускать plesk (невозможно войти в систему).
Я попробовал это, и мне пришлось переустановить!