在 Ubuntu 伺服器上安裝 openssl-dev
為了編譯NGinx需要安裝
openssl
和openssl-dev
(我正在遵循書籍指南)。所以我正在這樣做:
sudo apt-get install openssl openssl-dev
但我收到一個錯誤,告訴我不可能找到
openssl-dev
. 同樣經過Google搜尋,似乎libssl-dev
等於openssl-dev
,這是真的嗎?(在我的伺服器上apt-get
找到)libssl-dev
這是我的伺服器版本:2.6.32-22-server
歡迎任何幫助!
如果 Ubuntu 發行版(或其他 Debian 派生安排)中的軟體包版本的依賴項與您嘗試建構的版本的依賴項相同的可能性,您可以執行
apt-get build-dep nginx
或aptitude 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/?]
它打算安裝一些庫和標頭檔,以啟用 nginx 建構,而不是 nginx 本身。
需要注意的一件事是,如果您正在編譯自己的副本,因為您想要不同的建構選項而不是出於某種原因需要不同的版本,那麼您最好從儲存庫的原始碼編譯包,而不是直接使用上游原始碼。這個 SO question是快速搜尋後出現的第一個有用的頁面,但如果需要,您可能會輕鬆找到更詳細的教程。
另一件需要注意的小事:作為結果安裝的軟體包
apt-get build-dep
將被標記為手動安裝,就好像您現在正在手動完成此操作一樣。這意味著您不能一次性將它們全部刪除(沒有apt-get unintall-dep
或類似的)-儘管這與您從手動庫/標頭檔安裝中得到的情況沒有什麼不同(我只提到了一些人期望的事實是撤消操作的一步方法build-dep
,但沒有)。