在 Ubuntu 服务器上安装 openssl-dev

OXM*_*456 66 ubuntu openssl

为了编译NGinx需要安装opensslopenssl-dev(我正在遵循书籍指南)。

所以我这样做:

sudo apt-get install openssl openssl-dev
Run Code Online (Sandbox Code Playgroud)

但是我收到一个错误,告诉我无法找到openssl-dev. 也经过一番谷歌搜索,似乎libssl-dev等于openssl-dev,是真的吗?(在我的服务器上apt-get找到libssl-dev

这是我的服务器版本:2.6.32-22-server

欢迎任何帮助!

小智 122

你是对的。这是libssl-dev

  • 这应该是公认的答案恕我直言。 (3认同)

Dav*_*ett 43

如果 Ubuntu 发行版(或其他 Debian 派生安排)中的软件包版本的依赖项与您尝试构建的版本的依赖项相同,您可以运行apt-get build-dep nginxaptitude 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/?]
Run Code Online (Sandbox Code Playgroud)

它打算安装一些库和头文件,以启用 nginx 构建,而不是 nginx 本身。

需要注意的一件事是,如果您编译自己的副本是因为您想要不同的构建选项而不是出于某种原因需要不同的版本,那么您最好从存储库的源代码编译包,而不是直接使用上游源代码。这个 SO 问题是快速搜索后出现的第一个有用的页面,尽管如果需要,您可能会轻松找到更详细的教程。

另一件需要注意的小事:作为结果安装的软件包apt-get build-dep将被标记为手动安装,就像您目前手动完成的一样。这意味着您无法一次性将它们全部删除(没有apt-get unintall-dep或类似的)-尽管这与您从手动库/头文件安装中获得的情况没有什么不同(我只提到了某些人所期望的事实)是撤消build-dep操作的一步法,但没有)。


rea*_*ebo 14

2018 年 9 月在 Ubuntu 18.04 上出现了同样的问题。

通过执行解决:

sudo apt install libssl1.0-dev
Run Code Online (Sandbox Code Playgroud)