问题背景
作为开发人员经常需要对mac系统文件进行操作,常常因为没有权限(包括sudo命令)而遭拒。
常见提示:
Read-only file system。
解决方案
SIP 全称为「System Integrity Protection」即「系统完整性保护」,是 OS X El Capitan 时开始采用的一项安全技术,SIP 将一些文件目录和系统应用保护了起来,这会对一些开发人员造成影响,所以有时候需要关闭SIP(关闭SIP会降低系统安全性)。
1、查看SIP状态
csrutil status
# enabled: 开启、disabled: 关闭
2、关闭SIP
因为 SIP 是系统级的权限操作,我们无法直接关闭它,需要前往「macOS 恢复功能」下进行。 将 Mac 重启,立即在键盘上按住 Command ⌘ + R,直到看到 Apple 标志或旋转的地球时松开。看到「实用工具」窗口时,恢复功能启动即完成。
在上方的菜单栏点击「实用工具」选择「终端」。
终端.png
在终端中,输入「csrutil disable」后回车。
回车后会提示「成功关闭了系统完整性保护,请重启机器」
关闭.png
点击菜单栏 标志,选择「重新启动」,就此我们关闭了 SIP。
重启.png3、开启SIP
SIP 是避免软件任意修改或覆盖任意系统文件或应用,日常还是建议保持开启状态的。
仍然是进入到「macOS 恢复功能」,但这次在终端输入的是「csrutil enable」开启 SIP,重启 Mac 即可。
4、macOS Catalina 问题
macOS Catalina 需要在完成步骤2之后,还需需要一步。
sudo mount -uw /
网友评论