【问题标题】:SIP is disabled, but /usr/bin is write protected anyway (macOS Catalina beta 10.5)SIP 被禁用,但 /usr/bin 仍然被写保护(macOS Catalina beta 10.5)
【发布时间】:2019-12-17 19:15:11
【问题描述】:

我禁用了 SIP,但目录 /usr/bin 仍然是写保护的。如何获得 /usr/bin 的写入权限?请不要建议切换到 /usr/local/bin。

【问题讨论】:

    标签: macos-catalina


    【解决方案1】:

    我认为这个答案可能相对偏离主题,因为我运行的不是 Catalina 的 beta 版本,而是官方版本。

    要对/usr/bin 进行更改,您必须执行以下步骤。

    1. 禁用系统完整性保护 (SIP)。
    2. / 挂载为可写。

    禁用 SIP

    • 重启系统进入恢复模式(重启并按住cmd + R,同时启动)
    • 出现提示时使用适当的凭据。
    • 导航到顶部栏中的Utilities -> Terminal
    • 在终端会话中,执行# csrutil disable
    • 重新启动进入正常启动模式 (# reboot)。

    / 挂载为可写

    在操作系统处于正常模式下,启动一个新的终端会话并执行以下操作:

    • $ sudo mount -uw /

    请注意,/ 将在下次系统启动时以只读方式挂载。

    为了启用 SIP,过程与禁用它完全相同,除了您必须运行 # csrutil enable

    【讨论】:

    • 随着 Сatalina 的发布,这种方法不再有效。
    • 我在执行了 Catalina 10.15 (19A603) 中的步骤后编写了上述说明。
    • 我尝试了 4 个小时来用 Homebrew 版本替换我的 GCC 版本,而你的回答让我不用替换 symbolic links,谢谢@VladDumitrache
    • 谢谢你!此方法适用于 Catalina 10.15.3 1. 以恢复模式启动 Cmd+R 启动 2. 在终端中选择 csrutil enable 并重新启动 3. 在终端和 BINGO 中选择 $ sudo mount -uw /!我可以在/usr/bin 中创建符号链接
    • @VladDumitrache 不适用于 Big Sur。
    【解决方案2】:

    Catalina 有一个新的文件系统安排,其中大多数系统文件都被写保护。 Apple 使用两个分区,一个用于主要系统文件的只读分区和一个用于其他文件的可写分区,并将它们融合在一起并呈现给用户。

    详情请看WWDC视频What's New in Apple Filesystems

    【讨论】:

    • 是不是不能编辑主系统文件?但是如果我已经将 cocoapods 安装到 /usr/bin,如何删除它?
    • 根据链接的谈话,您显然可以暂时禁用只读保护。同样从那次谈话中你会看到/usr/local/bin 应该是可写的,所以你可能不得不在你的问题中违背你的意愿。如果您对这项更改的效果有进一步的疑问,您可能会在 Apple 开发者论坛上做得更好,在那里您可以找到 Catalina Beta 版的部分。
    • 恐怕这无济于事。我最初写道 SIP 已禁用。是的,我可以暂时禁用 SIP 保护,但 /usr/bin 仍然是写保护的。从历史上看,我在 /usr/bin 中安装了 cocoapods。现在我无法从该系统目录中卸载它。
    • 如果您正在关注演讲并且之后您无法写入 /usr/bin,这听起来像是一个 beta 错误 - 请向 Apple 报告。
    猜你喜欢
    • 1970-01-01
    • 2021-11-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-30
    • 1970-01-01
    相关资源
    最近更新 更多