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

2023-04-09 10:42:09 +08:00
 haoyli
设备是刚出的 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 也没找到正经可用的方案,拜托大家帮忙看看🙏🏻
3900 次点击
所在节点    程序员
24 条回复
yinmin
2023-04-09 11:27:38 +08:00
ln -s /usr/bin/python3 usr/local/bin/python
jorneyr
2023-04-09 11:28:43 +08:00
好像这个问题无解,Sequel Ace.app 格式化 SQL 字符串也需要在 /usr/bin 中安装 PHP ,很多人也尝试过了,权限不允许。
thelastline
2023-04-09 12:04:14 +08:00
现在的 OSX 使用了“签名系统卷”这一玩意,在找不到其他可用的解决方法的情况下可以研究一下怎么去除只读和怎么重新签名系统卷
dingdangnao
2023-04-09 12:07:44 +08:00
alias python=python3 ?
lslqtz
2023-04-09 12:10:50 +08:00
...你为什么不用 /usr/local/bin?
churchmice
2023-04-09 12:23:56 +08:00
不要一棵树上吊死啊
学习下 unix 是如何找命令的
shinonome
2023-04-09 12:24:16 +08:00
我也觉得用 alias 可以
ingnoscemihi
2023-04-09 13:00:11 +08:00
第一:移除 python2 ,使用 python2 应该是 11 还是 12 就开始了。
第二:关闭 SIP 也无法更改敏感目录的权限,比如 /usr/bin ,请使用 /usr/local/bin 或者自己加环境变量
fkdog
2023-04-09 15:27:53 +08:00
@jorneyr sequel ace 为什么不允许自定义 executable path ,费解噢。
非的要去读 /usr/bin ,里边的好多工具现在都用不了。
Adelell
2023-04-09 15:37:26 +08:00
因为从 macOS Catalina 开始根目录 / 变成 read only 了。拆了个 data 分区出来单独挂载可以 rw 。
解决办法是关闭 SIP 后第一次重启时执行 $ sudo mount -uw / 注意下一次重启时根目录又会自动变成只读。
enenlee
2023-04-09 15:38:02 +08:00
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
2023-04-09 15:40:53 +08:00
不要用 python3 给 python2 建立软连接 他俩就差着一个数字但是完全不兼容
Adelell
2023-04-09 15:49:45 +08:00
报 "Read-only file system" 错误显然是分区 mount 的时候没有加 write 参数。
cz5424
2023-04-09 19:40:33 +08:00
修改 use/bin 是一个危险行为,这可以理解为苹果的一个保护措施,建议修改.bashrc 或者软连接 Python 到 use/local/bin
cz5424
2023-04-09 19:41:12 +08:00
更正 use =》 usr ,输入法补全补错了
jqtmviyu
2023-04-09 23:08:34 +08:00
vim ~/.bashrc

export PATH=/usr/local/Cellar/python@3.11/3.11.2_1/Frameworks/Python.framework/Versions/3.11/bin:$PATH

alias python=/usr/local/bin/python3
baobao1270
2023-04-10 08:36:18 +08:00
brew install pyenv
pyenv install 3.11
pyenv global 3.11.x (把 x 换成小版本号)

不要用 macOS 系统自带的 Python ,会变得不幸
xtinput
2023-04-10 08:37:55 +08:00
多年前就不行了,好像是 macOS10.14 开始的
现在 macOS 有两个盘,系统盘是快照模式,用户只能操作数据盘
lybcyd
2023-04-10 08:51:16 +08:00
建议别动这里的东西,也不要用自带的软件比如 python 、ruby 。可以自己另外编译 python 或者用 pyenv ,conda 等等。
webcape233
2023-04-10 09:07:04 +08:00
建议 brew 安装 python ,不碰系统自带版本

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/930939

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX