删除Mac自带Apps

当我们想删除Mac自带的一些Apps的时候:比如国际象棋之类的。(如果直接删除,Mac会提示你这是系统组件之类的。)你可能会搜索到下面类似的操作手法:

cd /Applications/
sudo rm -rf Chess.app/

然而,即是使用sudo你也并不能删除掉Mac自带的Apps。依然会提示你没有操作权限。给人的感觉就像Mac还有凌驾于 sudo之上的一层更高级的权限控制。

当然,如果你听说过rootless,那么,就是这个家伙了。
苹果从 OS X El Capitan 10.11 系统开始使用了 Rootless 机制,可以将该机制理解为一个更高等级的系统的内核保护措施,系统默认将会锁定 /system、/sbin、/usr 这三个目录。

关于rootless,大家自行补充。这里我们来手动关闭rootless,然后删除Mac自带的Apps.

1. 重启Mac, 并按住Command + R, 进入macOS实用工具
2.点击<实用工具> -> <终端>
3.终端输入 csrutil status.   可以查看到rootless的开启和关闭状态。
4.终端输入 csrutil disable.  关闭rootless
5. 重启系统
删除Mac自带Apps_第1张图片
Bitmap.png

重启之后,再执行sudo rm -rf Chess.app/就可以删除Mac自带的一些App了。
当然,删除之后建议重新开启rootless.操作步骤和关闭rootless一样,只是使用csrutil enable 代替 csrutil disable命令即可。

另一类由内核保护导致的问题就是brew install安装软件的时候报权限问题,比如brew install mysql,会报/usr/local没有写权限之类的。这时候即使更改local文件夹的操作权限也没有用,只能关闭系统内核保护,然后再:

$ sudo chown -R $(whoami) /usr/local

修改权限就可以了

你可能感兴趣的:(删除Mac自带Apps)