• 请不要在回答技术问题时复制粘贴 AI 生成的内容
haoyli
V2EX  ›  程序员

MacOS 13.3.1 无法修改 /usr/bin 权限

  •  
  •   haoyli · Apr 9, 2023 · 5554 views
    This topic created in 1309 days ago, the information mentioned may be changed or developed.
    设备是刚出的 Mac Mini M2 丐版。系统是最新的 MacOS 13.3.1 Xcode Command Line Tools 也是最新的。

    起因是刚升了系统之后,发现在命令行每次 cd ,都会额外出现一行 "env: python: No such file or directory",去 Google 一下说最新的 MacOS 13 移除了默认的 python ,而是替换成了 python3

    于是想要 sudo ln -s /usr/bin/python3 /usr/bin/python 创建一个软链接,但报 "Read-only file system" 错误。

    去 Google 一下说是要关闭 SIP 保护,于是重启进入 Recovery 模式执行 csrutil disable 后并确认确实关闭了。重启后依然报上面的错误。

    在文件管理器中进入到 /usr 目录,查看详细属性,发现在 Sharing & Permissions 一项中,有三个用户,分别是 system[Read & Write] , wheel[Read only], everyone[Read only],无论是修改 everyone 的权限还是添加新用户,都报 "The operation can’t be completed because you don’t have the necessary permission."

    翻了很久 Google 也没找到正经可用的方案,拜托大家帮忙看看🙏🏻
    24 replies  •  2023-04-10 16:06:03 +08:00
    yinmin
    yinmin
    Apr 9, 2023 via iPhone
    1
    ln -s /usr/bin/python3 usr/local/bin/python
    jorneyr
    jorneyr
    Apr 9, 2023
    2
    好像这个问题无解,Sequel Ace.app 格式化 SQL 字符串也需要在 /usr/bin 中安装 PHP ,很多人也尝试过了,权限不允许。
    thelastline
    thelastline
    Apr 9, 2023
    3
    现在的 OSX 使用了“签名系统卷”这一玩意,在找不到其他可用的解决方法的情况下可以研究一下怎么去除只读和怎么重新签名系统卷
    dingdangnao
    dingdangnao
    Apr 9, 2023 via iPhone
    4
    alias python=python3 ?
    lslqtz
    lslqtz
    Apr 9, 2023
    5
    ...你为什么不用 /usr/local/bin?
    churchmice
    churchmice
    Apr 9, 2023 via Android
    6
    不要一棵树上吊死啊
    学习下 unix 是如何找命令的
    shimeow
    shimeow
    Apr 9, 2023
    7
    我也觉得用 alias 可以
    ingnoscemihi
    ingnoscemihi
    Apr 9, 2023
    8
    第一:移除 python2 ,使用 python2 应该是 11 还是 12 就开始了。
    第二:关闭 SIP 也无法更改敏感目录的权限,比如 /usr/bin ,请使用 /usr/local/bin 或者自己加环境变量
    fkdog
    fkdog
    Apr 9, 2023
    9
    @jorneyr sequel ace 为什么不允许自定义 executable path ,费解噢。
    非的要去读 /usr/bin ,里边的好多工具现在都用不了。
    Adelell
    Adelell
    Apr 9, 2023 via iPhone
    10
    因为从 macOS Catalina 开始根目录 / 变成 read only 了。拆了个 data 分区出来单独挂载可以 rw 。
    解决办法是关闭 SIP 后第一次重启时执行 $ sudo mount -uw / 注意下一次重启时根目录又会自动变成只读。
    enenlee
    enenlee
    Apr 9, 2023
    11
    Mac Monterey 就移除了内置的 python2 安装 python2 正确的做法是
    ```bash
    brew install pyenv
    pyenv versions | grep --quiet '2.7.18' || pyenv install 2.7.18
    eval "$(brew shellenv)"
    ln -s "${HOME}/.pyenv/versions/2.7.18/bin/python2.7" "${HOMEBREW_PREFIX}/bin/python"
    enenlee
    enenlee
    Apr 9, 2023
    12
    不要用 python3 给 python2 建立软连接 他俩就差着一个数字但是完全不兼容
    Adelell
    Adelell
    Apr 9, 2023 via iPhone
    13
    报 "Read-only file system" 错误显然是分区 mount 的时候没有加 write 参数。
    cz5424
    cz5424
    Apr 9, 2023 via iPhone
    14
    修改 use/bin 是一个危险行为,这可以理解为苹果的一个保护措施,建议修改.bashrc 或者软连接 Python 到 use/local/bin
    cz5424
    cz5424
    Apr 9, 2023 via iPhone
    15
    更正 use =》 usr ,输入法补全补错了
    jqtmviyu
    jqtmviyu
    Apr 9, 2023
    16
    vim ~/.bashrc

    export PATH=/usr/local/Cellar/[email protected]/3.11.2_1/Frameworks/Python.framework/Versions/3.11/bin:$PATH

    alias python=/usr/local/bin/python3
    baobao1270
    baobao1270
    Apr 10, 2023
    17
    brew install pyenv
    pyenv install 3.11
    pyenv global 3.11.x (把 x 换成小版本号)

    不要用 macOS 系统自带的 Python ,会变得不幸
    xtinput
    xtinput
    Apr 10, 2023
    18
    多年前就不行了,好像是 macOS10.14 开始的
    现在 macOS 有两个盘,系统盘是快照模式,用户只能操作数据盘
    lybcyd
    lybcyd
    Apr 10, 2023
    19
    建议别动这里的东西,也不要用自带的软件比如 python 、ruby 。可以自己另外编译 python 或者用 pyenv ,conda 等等。
    webcape233
    webcape233
    Apr 10, 2023 via iPhone
    20
    建议 brew 安装 python ,不碰系统自带版本
    ZE3kr
    ZE3kr
    Apr 10, 2023 via iPhone
    21
    因为 /usr/bin 是只读分区,跟 CD 一样,不要尝试改权限了
    haoyli
    haoyli
    OP
    Apr 10, 2023
    22
    感谢大家的热心回复,结合调研的情况,确实不应该动 /usr/bin 里面的东西, 可以把我想要的 python2 放到 /usr/local/bin 中,能够解决我的问题。谢谢大家。
    haoyli
    haoyli
    OP
    Apr 10, 2023
    23
    @yinmin 正解,最终的方法,感谢!
    julyclyde
    julyclyde
    Apr 10, 2023
    24
    @haoyli 按现在的年代来说,你如果遇到 python2 相关的问题,正确的做法不是去填充一个 python2 ,而是淘汰掉用 python2 的程序
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   805 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 52ms · UTC 23:37 · PVG 07:37 · LAX 15:37 · JFK 18:37
    ♥ Do have faith in what you're doing.