我正在尝试在OS X El Capitan上将某些内容移至 / usr / bin 。我使用以下命令禁用了rootless:sudo nvram boot-args="rootless=0"; sudo reboot
,但我一直收到同样的错误:
MacBook-Air:~ Mark$ sudo cp class-dump /usr/bin
Password:
cp: /usr/bin/class-dump: Operation not permitted
MacBook-Air:~ Mark$ sudo mv class-dump /usr/bin
mv: rename class-dump to /usr/bin/class-dump: Operation not permitted
答案 0 :(得分:339)
NVM。对于遇到此问题的其他人,您需要重启Mac并在启动时按⌘+ R 。然后进入实用工具>终端并输入以下命令:
csrutil disable
reboot
这是系统完整性保护的结果。更多信息here。
修改强>
如果您知道自己在做什么并且习惯于运行Linux,那么您应该使用上述解决方案,因为许多 SIP 限制是完全痛苦的屁股。
但是,如果你是修补匠/ noob /" poweruser" 并且不知道你在做什么,这可能是非常危险的,你会感觉更好使用the answer below。
答案 1 :(得分:217)
正确的解决方案是复制或安装到 /usr/local/bin
而非 /usr/bin
。这是由于系统完整性保护(SIP) 即可。 SIP将 /usr/bin
设为只读,但将 /usr/local
保留为读写。
正如this answer中所建议的,不应禁用SIP(无根模式)“不建议禁用无根模式!最佳做法是仅将自定义内容安装到”/ usr / local“。 “
答案 2 :(得分:13)
如果您想控制/usr/bin/
您需要重新启动系统:
在启动声音之后,按住Command-R启动进入恢复系统
单击Utilities菜单,然后选择Terminal
键入csrutil disable并按return
单击菜单并选择重新启动
提交更改后,请务必重新启用SIP!它可以保护您的系统。 (与上面的步骤相同,但类型为:csrutil enable)
答案 3 :(得分:0)
如果在“禁用csrutil”之后您的命令仍然不起作用,请在终端中尝试“ sudo”,例如:
sudo mv geckodriver usr/local/bin
它应该可以工作。