最近给自己的macbook升级了系统之后居然发现了一个诡异问题。
系统默认安装的six(python库)居然不能够升级,使用sudo( All:(All,ALl))提示我权限不足。在类Unix系统里居然没有办法完全管理自己的计算机,真的不是在逗我玩嘛。
当然我可以选择使用virtuallenv来安装python的多环境配置,可是自己的计算机居然不在自己的掌控之下,感觉实在是不爽.
既然是拿来作开发机,总要研究清楚,终于不断的google中终于找到了解决方案。
结果发现苹果坑爹的在新版本系统中加入了一个rootless(SIP)的机制。
SIP的基本目的就是为了防止程序获取root权限,对几个系统关键目录做出修改。确实能够起到一定的保护作用。
被保护的目录主要是以下几个目录:
- /System
- /usr
- /bin
- /sbin
以及预安装的app(比如Appstore,iTunes等等)
如果你想要自己修改下面这些目录的内容,就需要关闭内核里面的SIP,也就是System Integrity Protection的服务。
方法如下:
- 重启电脑,并且按下command+R,直到苹果logo出现。这个时候就会进入到Recoverty Mode。
- 选择一个语言。
- 进入恢复模式后,在上面的菜单找到实用程序(Utilities),在里面找到终端(Terminal)
- 打开终端输入以下指令,关闭SIP
csrutil disable
- 重启你的电脑,收工。
参考资料:
网友评论