Установите openssl-dev на сервер Ubuntu

45

Для того, чтобы скомпилировать NGinx, необходимо установить opensslи openssl-dev(я следую руководству по книге ).

Так что я делаю это:

sudo apt-get install openssl openssl-dev

Но я получаю сообщение о том, что найти невозможно openssl-dev. Кроме того, после некоторого поиска в Google, кажется, libssl-devэто равно openssl-dev, это правда? ( apt-getнайдено libssl-devна моем сервере)

Вот моя версия сервера: 2.6.32-22-сервер

Любая помощь приветствуется!

OXMO456
источник

Ответы:

36

Если вероятность того, что зависимости для версии пакета, находящейся в выпуске Ubuntu (или других производных от Debian соглашений), совпадает с deps для версии, которую вы пытаетесь создать, вы можете запустить apt-get build-dep nginxили aptitude build-dep nginx- это не установит пакет nginx, но вместо этого установит все перечисленные как зависимости (и их зависимости, как обычно), который включает libssl-dev(пакет, который вы ищете в данный момент).

В большинстве случаев это позволит успешно завершить сборку другой (предположительно более новой) версии и избавит вас от необходимости устанавливать каждую библиотеку и ее заголовочные файлы один за другим. Даже если в другой версии, которую вы пытаетесь построить, build-dep <package>есть новые зависимости, это хорошее место для начала, так как это означает, что вам нужно только вручную установить дополнительные новые зависимости.

Как пример, результат на одном из моих серверов:

user@host:~$ sudo aptitude build-dep nginx
Reading package lists... Done
Building dependency tree
Reading state information... Done
Reading extended state information
Initialising package states... Done
The following NEW packages will be installed:
  autotools-dev cvs{a} debhelper gettext{a} html2text{a} intltool-debian{a}
  libcroco3{a} libmail-sendmail-perl{a} libpcre3-dev libpcrecpp0{a}
  libssl-dev libsys-hostname-long-perl{a} po-debconf{a} zlib1g-dev
0 packages upgraded, 14 newly installed, 0 to remove and 19 not upgraded.
Need to get 7,217kB of archives. After unpacking 22.9MB will be used.
Do you want to continue? [Y/n/?]

Он намеревается установить некоторые библиотеки и заголовки, чтобы включить сборку nginx, но не сам nginx.

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

Еще одна небольшая вещь, которую стоит отметить: пакеты, установленные в результате, apt-get build-depбудут помечены как установленные вручную, как если бы вы сделали это вручную, как в настоящее время. Это означает, что вы не можете удалить их все за один раз (нет apt-get unintall-depили аналогичные) - хотя это ничем не отличается от ситуации, которую вы получите в любом случае при ручной установке библиотеки / заголовка (я упоминаю только тот факт, поскольку некоторые люди ожидают там быть одним шагом способ отменить build-depоперацию, и нет).

Дэвид Спиллетт
источник
87

Да ты прав. этоlibssl-dev

потрясающий
источник
11

Я приехал сюда в сентябре 2018 года. Та же проблема на Ubuntu 18.04.

Постановили:

sudo apt install libssl1.0-dev
realtebo
источник