在Ubuntu服务器上安装openssl-dev

为了编译需要安装opensslopenssl-dev NGinx (我是一本书的指南)。

所以我做这个:

 sudo apt-get install openssl openssl-dev 

但是我得到一个错误,告诉我不可能findopenssl-dev 。 还有一些谷歌search后,似乎libssl-dev等于openssl-dev ,这是真的吗? ( apt-get在我的服务器上findlibssl-dev

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

任何帮助欢迎!

如果Ubuntu(或其他Debian派生安排)版本的软件包版本的依赖性与您尝试构build的版本的软件版本相同,则可以运行apt-get build-dep nginxaptitude build-dep nginx – 这不会安装nginx软件包,而是会安装所有那些列为依赖项(和它们的依赖关系,如往常一样),其中包括libssl-dev (您正在寻找的软件包)。

在大多数情况下,这将允许成功完成另一个版本(推测较新版本)的构build,并且可以节省您自己一个一个地安装每个库及其头文件。 即使在您尝试构build的其他版本中存在新的依赖关系, 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构build,而不是nginx本身。

有一点需要注意的是,如果你正在编译你自己的副本,因为你需要不同的版本选项,而不是因为某种原因需要一个不同的版本,那么你可以更好地从版本库的源代码编译,而不是直接使用上游源代码。 这个问题是快速search出来的第一个有用的页面,虽然如果你需要的话,你很容易find更详细的教程。

另外需要注意的一点是:由于apt-get build-dep安装的软件包将被标记为手动安装,就像您现在正在做的那样手动完成。 这意味着你不能一次把它们全部删除(没有apt-get unintall-dep或者类似的东西) – 尽pipe这与从手动库/头文件安装中得到的情况没有什么不同(我只提到了事实上,正如有些人所期望的那样,有一种方法可以撤销build-dep运行操作,而且没有)。

你是对的。 这是libssl-dev