Mac 关闭了 SIP 还是无法在/usr/bin 下创建文件

285 天前
 nnegier

我下载了一个 Android Studio 开源项目,但这个项目很旧,里面有个 bazel 需要/usr/bin/python 这个存在,我于是安装了 python2.7 ,但发现它文件创建在/usr/local/bin/python ,于是我想着要不 copy 一份到/usr/bin 下去,但发现报这个错误: cp: /usr/bin/python: Read-only file system

拷贝命令:

sudo cp /usr/local/bin/python /usr/bin/python

SIP 查看确实是关了的:

MacBook-Air bin % csrutil status
System Integrity Protection status: disabled.

折腾得心累,想问问有没有简单的办法可以做到,弄一份软链接到/usr/bin 下去

2190 次点击
所在节点    macOS
5 条回复
nullyouraise
285 天前
不行,/usr/bin 是属于 / 下面的,而 / 现在是只读的 APFS snapshot ,就算关闭 SIP 也是无法写入的。最好的办法还是修改下项目,让它从其他位置搜索 python
zim298247
285 天前
mons
285 天前
非要写 /usr/bin/ 还得关 SSV ,不推荐:

csrutil authenticated-root disable
mylovesaber
284 天前
你改下那个项目内置的 python 绝对路径可行不?

或者去掉绝对路径,使用命令 `python` 本身,然后将 python 做软链接放到环境变量中,比如/usr/local/bin 这种.

如果不行就软链接到指定可创建的路径下比如 /home/[你登录的账户名]/.env/python ,然后在 /home/[你登录的账户名]/.zshenv 文件中添加 PATH=$PATH:/home/[你登录的账户名]/.env/python ,最后 source /home/[你登录的账户名]/.zshenv
billccn
284 天前
MacOS 没有 chroot 吗?自己手动一个 Docker 不就行了

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

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

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

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

© 2021 V2EX