我错误地硬链接到 OpenSSL 1.1.1。如何链接回 OpenSSL 3.2?

问题描述 投票:0回答:1

我在 Intel Macbook 上运行 MacOS Monterey。我的 sublime text 包控件最近停止工作,所以我做了一些搜索,有人通过使用以下命令链接到 OpenSSL 的旧版本来解决它:

ln -sf /usr/local/Cellar/[email protected]/1.1.1o/lib/libcrypto.dylib /usr/local/lib/

我运行了该命令,还有这个命令:

brew link [email protected]

MacOS 系统默认是较新的 OpenSSL 3。使用已弃用的版本可能会在将来引起问题,因此重新链接到旧版本是一个愚蠢的举动:/我通过安装最新版本的 Package Control 解决了我的 sublime text 问题。然而,现在我被这个版本的 OpenSSL 困住了。

如何链接回 OpenSSL 3,以便当我运行

openssl version
时,它会再次显示 openssl 3 而不是
OpenSSL 1.1.1t  7 Feb 2023

我不知道如何解决这个问题。

bash terminal openssl homebrew macos-monterey
1个回答
0
投票

要在 macOS Monterey 上恢复到 OpenSSL 3,您需要撤消所做的更改并确保您的系统使用较新版本的 OpenSSL。以下是要遵循的步骤:

  1. 删除旧 OpenSSL 版本的符号链接: 您创建了一个指向 OpenSSL 1.1 库的符号链接。要删除它,请在终端中运行以下命令:

    sudo rm /usr/local/lib/libcrypto.dylib
    

    此命令将删除您创建的到旧版 OpenSSL 版本的符号链接。

  2. 重新链接到 OpenSSL 3: 如果 macOS Monterey 默认使用 OpenSSL 3,则在删除 OpenSSL 1.1 的符号链接后您可能不需要执行任何操作,因为系统应恢复为使用其默认版本。但是,如果它没有自动选择 OpenSSL 3,您可能需要使用 Homebrew 重新链接它(如果您已通过 Homebrew 安装了 OpenSSL 3)。

    您可以使用以下命令:

    brew link --overwrite openssl@3
    

    注意: 如果您尚未通过 Homebrew 安装 OpenSSL 3,您可能首先需要使用

    brew install openssl@3
    安装它。

  3. 验证 OpenSSL 版本: 完成这些步骤后,您应该验证是否使用了正确的 OpenSSL 版本。您可以通过运行来做到这一点:

    openssl version
    

    此命令现在应显示 OpenSSL 3.x.x。

  4. 检查系统完整性: 由于您手动更改了系统库,因此最好确保一切正常运行。测试使用 OpenSSL 的其他应用程序以确保它们按预期工作。

  5. 考虑未来的更新: 请记住,手动修改系统库可能会导致意外问题,尤其是在系统更新期间。将来,除非绝对必要,否则请尝试使用不涉及更改系统范围设置或库的解决方案。

请记住,更改系统库可能存在风险,并且可能会影响系统稳定性和安全性。在进行此类更改之前,最好对系统进行当前备份。

© www.soinside.com 2019 - 2024. All rights reserved.