如何升級Mac中內建的openssl ?(過程總結)

來源:互聯網
上載者:User
如何升級Mac中內建的openssl ?下面這篇文章就給大家介紹關於Mac中內建的openssl升級過程,有需要的可以參考一下。

由於Mac內建的 openssl 太老了,所以,這裡因為安裝python擴充包需要升級到高版本,所以,總結下升級過程。

一、安裝openssl

首先,來看看我們的openssl 的版本和目錄:

->  ~ openssl versionOpenSSL 0.9.8zh 14 Jan 2016->  ~ which openssl/usr/bin/openssl->  ~

通過上面的查看,明顯我們的版本號碼太低了。

按照上面的步驟,我們首先更新homebrew

brew update

安裝:

brew install openssl# 重新安裝# brew reinstall openssl

安裝成功後:

~ brew reinstall openssl==> Reinstalling openssl==> Downloading https://homebrew.bintray.com/bottles/openssl-1.0.2p.el_capitan.bottle.tar.gzAlready downloaded: /Users/kaiyiwang/Library/Caches/Homebrew/downloads/96bc2acd84d0fe609dcbe4c6436c864808f7e8f26f2f12111f552f5972c3840a--openssl-1.0.2p.el_capitan.bottle.tar.gz==> Pouring openssl-1.0.2p.el_capitan.bottle.tar.gz==> CaveatsA CA file has been bootstrapped using certificates from the SystemRootskeychain. To add additional certificates (e.g. the certificates added inthe System keychain), place .pem files in  /usr/local/etc/openssl/certsand run  /usr/local/opt/openssl/bin/c_rehashopenssl is keg-only, which means it was not symlinked into /usr/local,because Apple has deprecated use of OpenSSL in favor of its own TLS and crypto libraries.If you need to have openssl first in your PATH run:  echo 'export PATH="/usr/local/opt/openssl/bin:$PATH"' >> ~/.zshrcFor compilers to find openssl you may need to set:  export LDFLAGS="-L/usr/local/opt/openssl/lib"  export CPPFLAGS="-I/usr/local/opt/openssl/include"==> Summary  /usr/local/Cellar/openssl/1.0.2p: 1,793 files, 12.2MB

說明我們成功的將openssl安裝到/usr/local/Cellar/openssl/1.0.2p

二、更換舊的

不過,我們還有最後一步,那就是當我們使用openssl時,使用的是我們用homebrew新下載的openssl。為了達到這個目的,我們有兩種方法。

將homebrew下載的openssl軟連結/usr/bin/openssl目錄下。這裡,我們先將它儲存一份老的,然後再軟連結新下載的。

$ mv /usr/bin/openssl /usr/bin/openssl_oldmv: rename /usr/bin/openssl to /usr/bin/openssl_old: Operation not permitted$ ln -s /usr/local/Cellar/openssl/1.0.2p/bin/openssl /usr/bin/opensslln: /usr/bin/openssl: Operation not permitted

Operation not permitted提示沒有許可權操作,對/usr/bin目錄下的東西,我已經遇到過幾次這個問題了,於是繼續google,在stackoverflow上找到了Operation Not Permitted when on root El capitan (rootless disabled)

重啟系統,當啟動的時候我們同步選取cmd+r進入Recovery模式,之後選擇工具 + 生產力 => 終端,在終端輸入如下命令,介面檔案系統的鎖定,並且重啟電腦(cmd+r後,會進入另外一個選擇系統啟動的介面,在這個介面裡面不要馬上重新啟動,先找到終端,在終端中輸入csrutil disable):

$ csrutil disable$ reboot

最後,我們執行前面兩個命令,查看版本。

$ sudo mv /usr/bin/openssl /usr/bin/openssl_old$ sudo ln -s /usr/local/Cellar/openssl/1.0.2p/bin/openssl /usr/bin/openssl$ openssl versionOpenSSL 1.0.2p  14 Aug 2018➜  ~ which openssl/usr/local/opt/openssl/bin/openssl

這樣,我們的openssl升級成功了。不過,為了安全起見,我還是重新啟動電腦,然後重新開啟了csrutil。

csrutil enablereboot
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.