ホームページ  >  記事  >  バックエンド開発  >  Mac に付属の openssl をアップグレードするにはどうすればよいですか? (プロセス概要)

Mac に付属の openssl をアップグレードするにはどうすればよいですか? (プロセス概要)

不言
不言オリジナル
2018-09-07 14:41:393296ブラウズ

Mac に付属の openssl をアップグレードするにはどうすればよいですか? Mac に付属する openssl のアップグレード手順は次の記事で紹介しますので、必要に応じて参照してください。

Mac に付属の openssl は古すぎるため、ここで Python 拡張パッケージをインストールするには上位バージョンにアップグレードする必要があるため、アップグレード プロセスをまとめます。

1. openssl をインストールします

まず、openssl のバージョンとディレクトリを見てみましょう:

->  ~ openssl version
OpenSSL 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.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

指示してくださいopenssl が /usr/local/Cellar/openssl/1.0.2p に正常にインストールされました。

2. 古いものを置き換える

ただし、openssl を使用する場合は、homebrew で新しくダウンロードした openssl を使用するという最後のステップがまだ残っています。この目標を達成するには、2 つの方法があります。

homebrew でダウンロードした openssl ソフト リンク /usr/bin/openssl ディレクトリに置きます。ここでは、まず古いコピーを保存し、次に新しくダウンロードしたコピーをソフト リンクします。

$ 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

「操作は許可されていません」というメッセージが表示され、操作する権限がないことがわかります。/usr/bin ディレクトリーにあるものについてこの問題に何度か遭遇したため、引き続き Google で調べたところ、Operation Not on stackoverflow が見つかりました。 . root El capitan (rootless 無効) の場合に許可されます。

システムを再起動します。起動時に cmd r を同時に押してリカバリ モードに入り、[ユーティリティ] => [ターミナル] を選択し、ターミナルで次のコマンドを入力し、インターフェイス ファイル システムをロックして、システムを再起動します。コンピューター (cmd r その後、システムの起動を選択するための別のインターフェイスに入ります。このインターフェイスではすぐに再起動しないでください。最初にターミナルを見つけて csrutil disable と入力します) ターミナルで:

$ csrutil disable
$ reboot

最後に、前の 2 つのコマンドでバージョンを表示します。

$ 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

Mac に付属の openssl をアップグレードするにはどうすればよいですか? (プロセス概要)

このようにして、openssl のアップグレードは成功しました。ただし、念のためコンピューターを再起動し、csrutil を再度有効にしました。

csrutil enable
reboot

関連する推奨事項:

macos - Mac に付属の PHP のメジャー バージョン アップグレードを実行するにはどうすればよいですか?

以上がMac に付属の openssl をアップグレードするにはどうすればよいですか? (プロセス概要)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。