Instale o openssl-dev no servidor Ubuntu

44

Para compilar o NGinx , é necessário instalar openssle openssl-dev(estou seguindo um guia do livro ).

Então, eu estou fazendo isso:

sudo apt-get install openssl openssl-dev

Mas eu recebo um erro dizendo que é impossível encontrar openssl-dev. Também depois de pesquisar no Google, parece que libssl-devé igual a openssl-dev, isso é verdade? ( apt-getencontrado libssl-devno meu servidor)

Aqui está a versão do meu servidor: 2.6.32-22-server

Qualquer ajuda bem-vinda!

OXMO456
fonte

Respostas:

36

Se a probabilidade de as dependências para a versão de um pacote que estão no lançamento do Ubuntu (ou outros arranjos derivados do Debian) for a mesma que os deps para a versão que você está tentando construir, você pode executar apt-get build-dep nginxou aptitude build-dep nginx- isso não será instalado o pacote nginx, mas instalará todos os listados como dependências (e suas dependências, como de costume) que inclui libssl-dev(o pacote que você está procurando no momento).

Na maioria dos casos, isso permitirá que a compilação da outra versão (presumivelmente mais recente) seja concluída com êxito e poupa a instalação de cada biblioteca e seus arquivos de cabeçalho, um por um. Mesmo se houver novas dependências na outra versão que você está tentando criar, build-dep <package>é um bom ponto de partida, pois significa que você só precisa instalar manualmente as novas dependências extras.

Como exemplo, o resultado em um dos meus servidores é:

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

Ele pretende instalar algumas bibliotecas e cabeçalhos, para habilitar uma compilação do nginx, mas não o próprio nginx.

Um ponto a ser observado é que, se você estiver compilando sua própria cópia porque deseja opções de compilação diferentes, em vez de precisar de uma versão diferente por algum motivo, pode ser melhor compilar a partir da fonte do repositório para o pacote, em vez de usar as fontes upstream diretamente. Essa pergunta do SO é a primeira página útil que saiu de uma pesquisa rápida, embora você provavelmente encontre tutoriais mais detalhados facilmente, se precisar.

Outro pequeno detalhe a ser observado: os pacotes instalados como resultado apt-get build-depserão marcados como instalados manualmente, como se você tivesse feito isso manualmente, como está fazendo no momento. Isso significa que você não pode removê-los de uma só vez (não existe apt-get unintall-depou semelhante) - embora isso não seja diferente da situação que você obterá das instalações manuais de bibliotecas / cabeçalhos de qualquer maneira (apenas mencionei o fato, como algumas pessoas esperam ser uma maneira de desfazer uma build-depoperação e não existir).

David Spillett
fonte
86

Sim você está certo. Isto élibssl-dev

fabuloso
fonte
11

Eu vim aqui em setembro de 2018. O mesmo problema no Ubuntu 18.04.

Resolvido:

sudo apt install libssl1.0-dev
realtebo
fonte