这是10.11的一个新特性Rootless也叫System Integrity Protection(SIP)和SELinux差不多,都是限制root用户的权限,其实可以在RecoveryMode关闭这个特性,这样就直接可以读写/usr/bin了,不过不建议。(关闭方法:开机的时候按住option出现选择磁盘的界面按command + R进入RecoveryMode,选择实用工具终端,输入csrutil disable回车搞定)
这个方法是有安全风险的,没有必要,不过我才知道原来这就是Rootless的具体行为之一。学习了!
- 第二步中执行 mv /path/to/class-dump ~/bin;需要sudo 才可以。
- 在:/Users/hi 路径下执行 vi ~/.bash_profile 提示新建文件,并非教程中的修改文件。
问题2中是我执行的路径不对么?
你执行这些命令当前的身份是什么?
修改自己目录下的bin目录,没有道理要求root权限啊?
vi ~/.bash_profile
本身就已经指定了路径,没有问题,可能你的机器里确实没有这个文件而已
为了看起来home目录舒服一点,我选择酱紫:
mkdir ~/.bin
export PATH=$HOME/.bin/:$PATH
/usr/bin 没有权限你可以放到/usr/local/bin
这个方法在macOS 10.12中不可实现,我也不知道那里有问题。
Last login: Fri Sep 23 12:48:17 on ttys000
WeideMBP:~ swift$ mkdir ~/bin
mkdir: /Users/swift/bin: File exists
WeideMBP:~ swift$ mv /path/to/class-dump ~/bin; chmod +x ~/bin/class-dump;
mv: /path/to/class-dump: No such file or directory
chmod: /Users/swift/bin/class-dump;: No such file or directory
WeideMBP:~ swift$
原因这里已经说的很清楚了吧
192我在输入class-dump的时候返回-bash: class-dump: command not found,没有class-dump这个命令
这本书的作者在哪?连class-dump怎么都放不进去,打开终端默认不是在根目录,必须要先进入根目录,然后又提示,没有该文件,MacdeMacBook-Air:~ luocheng$ cd /
MacdeMacBook-Air:/ luocheng$ ls
Applications dev
DamagedFiles etc
Install OS X El Capitan.app home
Library installer.failurerequests
Network lost+found
System net
Users private
Volumes sbin
bin tmp
com.apple.adc.documentation.docset usr
cores var
MacdeMacBook-Air:/ luocheng$ mv /path/to/class-dump ~/bin
mv: rename /path/to/class-dump to /Users/macmini/bin/class-dump: No such file or directory
找到原因了,本文的path/to/class-dump作为路径,并非path为路径
mv: rename /Volumes/class-dump-3.5/class-dump to /Users/yonyou/bin/class-dump: Read-only file system
按住command+R,进入recovery模式。终端:csrutil disable
一个冒号为一条命令
惭愧,找到原因了,mv /path/to/class-dump path是我自己电脑上bin文件夹的路径
为了避免后续各种工具安装的时候出现Operation not permitted,索性把SIP关了
这是有啥问题
完全正常啊
真的是尴尬的一匹。。。我搞错了,删了