82 votes

Installer openssl-dev sur un serveur Ubuntu

Afin de compiler NGinx dans le besoin d'installer openssl y openssl-dev (Je suis un Buch guide).

Alors je fais ça :

sudo apt-get install openssl openssl-dev

Mais j'obtiens une erreur qui me dit qu'il est impossible de trouver openssl-dev . De plus, après quelques recherches sur Google, il semble que libssl-dev est égal à openssl-dev Est-ce vrai ? ( apt-get trouvé libssl-dev sur mon serveur)

Voici la version de mon serveur : 2.6.32-22-server

Toute aide est la bienvenue !

156voto

MemCtrl Points 9

Oui, vous avez raison. C'est libssl-dev

47voto

David Spillett Points 22424

S'il est probable que les dépendances de la version d'un paquet qui se trouve dans la version d'Ubuntu (ou d'autres arrangements dérivés de Debian) sont les mêmes que celles de la version que vous essayez de construire, vous pourriez exécuter apt-get build-dep nginx o aptitude build-dep nginx - ceci n'installera pas le paquet nginx mais installera à la place tous ceux qui sont listés comme dépendants (et leurs dépendances, comme d'habitude) ce qui inclut libssl-dev (le paquet que vous recherchez actuellement).

Dans la plupart des cas, cela permettra à la construction de l'autre version (vraisemblablement plus récente) de se terminer avec succès, et cela vous évite d'installer vous-même chaque bibliothèque et ses fichiers d'en-tête un par un. Même s'il y a de nouvelles dépendances dans l'autre version que vous essayez de construire, build-dep <package> est un bon point de départ car cela signifie que vous n'avez qu'à installer manuellement les nouvelles dépendances supplémentaires.

À titre d'exemple, le résultat sur un de mes serveurs est le suivant :

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

Il a l'intention d'installer quelques bibliothèques et en-têtes, pour permettre une construction de nginx, mais pas nginx lui-même.

Une chose à noter est que si vous compilez votre propre copie parce que vous voulez des options de construction différentes plutôt que d'avoir besoin d'une version différente pour une raison quelconque, il est préférable de compiler à partir des sources du dépôt pour le paquet plutôt que d'utiliser directement les sources amont. Cette question de l'OS est la première page utile qui ressort d'une recherche rapide, mais vous trouverez facilement des didacticiels plus détaillés si vous en avez besoin.

Une autre petite chose à noter : les paquets installés à la suite de l'application <code>apt-get build-dep</code> sera marqué comme installé manuellement comme si vous l'aviez fait à la main comme vous le faites actuellement. Cela signifie que vous ne pouvez pas les supprimer tous en une seule fois (il n'y a pas d'option d'installation manuelle). <code>apt-get unintall-dep</code> ou similaire) - bien que cela ne soit pas différent de la situation que vous obtiendrez avec les installations manuelles de bibliothèques/en-têtes de toute façon (je mentionne seulement le fait que certaines personnes s'attendent à ce qu'il y ait un moyen unique d'annuler une installation de <code>build-dep</code> opération, et il n'y en a pas).

17voto

realtebo Points 333

Même problème sur Ubuntu 18.04 en septembre 2018.

Résolu en faisant :

sudo apt install libssl1.0-dev

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X