Zainstaluj openssl-dev na serwerze Ubuntu

44

Aby skompilować NGinx trzeba zainstalować openssli openssl-dev(Idę za przewodnikiem po książce ).

Więc robię to:

sudo apt-get install openssl openssl-dev

Ale pojawia się błąd informujący mnie, że nie można go znaleźć openssl-dev. Wydaje się, że po pewnym googlowaniu jest libssl-devto równe openssl-dev, czy to prawda? ( apt-getznaleziony libssl-devna moim serwerze)

Oto moja wersja serwera: 2.6.32-22-serwer

Każda pomoc mile widziana!

OXMO456
źródło

Odpowiedzi:

36

Jeśli prawdopodobieństwo, że zależności dla wersji pakietu znajdującego się w wydaniu Ubuntu (lub innych uzgodnień pochodnych Debiana) jest takie samo jak dla zależności dla wersji, którą próbujesz zbudować, możesz uruchomić apt-get build-dep nginxlub aptitude build-dep nginx- to nie zostanie zainstalowane pakiet nginx, ale zamiast tego zainstaluje wszystkie wymienione jako zależności (i ich zależności, jak zwykle), które obejmują libssl-dev(pakiet, którego aktualnie szukasz).

W większości przypadków pozwoli to na pomyślne ukończenie kompilacji drugiej (prawdopodobnie nowszej) wersji i oszczędza instalowania każdej biblioteki i jej plików nagłówkowych jeden po drugim. Nawet jeśli w innej wersji, którą próbujesz zbudować, są nowe zależności, build-dep <package>jest dobrym miejscem do rozpoczęcia, ponieważ oznacza to, że musisz tylko ręcznie zainstalować dodatkowe nowe zależności.

Na przykład wynik na jednym z moich serwerów to:

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/?]

Zamierza zainstalować niektóre biblioteki i nagłówki, aby umożliwić kompilację nginx, ale nie samą nginx.

Należy zwrócić uwagę na to, że jeśli kompilujesz własną kopię, ponieważ chcesz różnych opcji kompilacji, a nie z jakiejś przyczyny potrzebujesz innej wersji, możesz lepiej skompilować pakiet ze źródła repozytorium dla pakietu, niż bezpośrednio korzystać ze źródeł źródłowych. To pytanie SO jest pierwszą przydatną stroną, która wyszła z szybkiego wyszukiwania, choć w razie potrzeby z łatwością znajdziesz bardziej szczegółowe samouczki.

Inna drobna rzecz, na którą należy zwrócić uwagę: pakiety zainstalowane w wyniku apt-get build-depzostaną oznaczone jako zainstalowane ręcznie, tak jakbyś zrobił to ręcznie, tak jak obecnie. Oznacza to, że nie możesz usunąć ich wszystkich za jednym razem (nie ma apt-get unintall-deplub nie ma podobnego) - chociaż i tak nie różni się to od sytuacji, w której będziesz otrzymywać ręczne instalacje bibliotek / nagłówków (wspominam tylko o tym, jak niektórzy się tam spodziewają) być jednym krokiem do cofnięcia build-depoperacji, a nie ma takiej ).

David Spillett
źródło
86

Tak masz rację. To jestlibssl-dev

fab
źródło
11

Przybyłem tutaj we wrześniu 2018 roku. Ten sam problem na Ubuntu 18.04.

Zdecydowany:

sudo apt install libssl1.0-dev
realtebo
źródło