问题背景
作为开发人员经常需要对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
在上方的菜单栏点击「实用工具」选择「终端」。
终端.png
在终端中,输入「csrutil disable」后回车。
回车后会提示「成功关闭了系统完整性保护,请重启机器」
关闭.png
点击菜单栏 标志,选择「重新启动」,就此我们关闭了 SIP。
重启.png
3、开启SIP
SIP 是避免软件任意修改或覆盖任意系统文件或应用,日常还是建议保持开启状态的。
仍然是进入到「macOS 恢复功能」,但这次在终端输入的是「csrutil enable」开启 SIP,重启 Mac 即可。
4、macOS Catalina 问题
macOS Catalina 需要在完成步骤2之后,还需需要一步。
sudo mount -uw /









网友评论