Heim >Backend-Entwicklung >Python-Tutorial >Wie aktualisiere ich das mit dem Mac gelieferte OpenSSL? (Prozesszusammenfassung)
Wie aktualisiere ich das mit dem Mac gelieferte OpenSSL? Der folgende Artikel stellt Ihnen den Upgrade-Prozess von OpenSSL vor, der mit dem Mac geliefert wird. Sie können ihn bei Bedarf nachschlagen.
Da das mit dem Mac gelieferte openssl
zu alt ist, müssen Sie hier auf eine höhere Version aktualisieren, um das Python-Erweiterungspaket zu installieren. Lassen Sie uns also den Upgrade-Prozess zusammenfassen.
Werfen wir zunächst einen Blick auf unsere OpenSSL-Version und unser Verzeichnis:
-> ~ openssl version OpenSSL 0.9.8zh 14 Jan 2016 -> ~ which openssl /usr/bin/openssl -> ~
Aus der obigen Überprüfung geht hervor, dass es auch unsere Versionsnummer ist niedrig.
Befolgen Sie die oben genannten Schritte. Wir aktualisieren zunächst die homebrew
brew update
-Installation:
brew install openssl # 重新安装 # brew reinstall openssl
Nach erfolgreicher Installation:
~ brew reinstall openssl ==> Reinstalling openssl ==> Downloading https://homebrew.bintray.com/bottles/openssl-1.0.2p.el_capitan.bottle.tar.gz Already 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 ==> Caveats A CA file has been bootstrapped using certificates from the SystemRoots keychain. To add additional certificates (e.g. the certificates added in the System keychain), place .pem files in /usr/local/etc/openssl/certs and run /usr/local/opt/openssl/bin/c_rehash openssl 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"' >> ~/.zshrc For 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
zeigt an, dass wir erfolgreich installiert haben openssl Installieren auf /usr/local/Cellar/openssl/1.0.2p
.
Wir haben jedoch noch den letzten Schritt, das heißt, wenn wir OpenSSL verwenden, verwenden wir das neu heruntergeladene OpenSSL mit Homebrew. Um dieses Ziel zu erreichen, haben wir zwei Methoden.
Legen Sie das von Homebrew heruntergeladene OpenSSL 软链接
in das Verzeichnis /usr/bin/openssl
. Hier speichern wir zunächst eine alte Kopie davon und verknüpfen dann die neu heruntergeladene per Softlink.
$ mv /usr/bin/openssl /usr/bin/openssl_old mv: 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/openssl ln: /usr/bin/openssl: Operation not permitted
Vorgang nicht zulässig zeigt an, dass keine Berechtigung zum Betrieb vorhanden ist. Ich bin mehrmals auf dieses Problem für Dinge im Verzeichnis /usr/bin gestoßen, also habe ich weiter gegoogelt und Operation Not Permitted when on root El capitan (rootless disabled)
auf stackoverflow gefunden.
Starten Sie das System neu, drücken Sie gleichzeitig cmd+r, um in den Wiederherstellungsmodus zu gelangen, wählen Sie dann Dienstprogramme => Terminal, geben Sie den folgenden Befehl in das Terminal ein, sperren Sie das Dateisystem und starten Sie es neu Computer (cmd Nach +r gelangen Sie in eine andere Schnittstelle zur Auswahl des Systemstarts. Starten Sie in dieser Schnittstelle nicht sofort neu. Suchen Sie zuerst das Terminal und geben Sie csrutil deaktivieren ein) im Terminal:
$ csrutil disable $ reboot
Schließlich führen wir das aus Überprüfen Sie die Version der vorherigen beiden Befehle.
$ 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 version OpenSSL 1.0.2p 14 Aug 2018 ➜ ~ which openssl /usr/local/opt/openssl/bin/openssl
Auf diese Weise war unser OpenSSL-Upgrade erfolgreich. Um jedoch auf der sicheren Seite zu sein, habe ich meinen Computer neu gestartet und csrutil erneut aktiviert.
csrutil enable reboot
Verwandte Empfehlungen:
macos – Wie führe ich ein Hauptversions-Upgrade von PHP durch, das mit dem Mac geliefert wird?
Das obige ist der detaillierte Inhalt vonWie aktualisiere ich das mit dem Mac gelieferte OpenSSL? (Prozesszusammenfassung). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!