当10.11的/usr/bin目录不可写之后,class-dump应该何处安家?

这是10.11的一个新特性Rootless也叫System Integrity Protection(SIP)和SELinux差不多,都是限制root用户的权限,其实可以在RecoveryMode关闭这个特性,这样就直接可以读写/usr/bin了,不过不建议。(关闭方法:开机的时候按住option出现选择磁盘的界面按command + R进入RecoveryMode,选择实用工具终端,输入csrutil disable回车搞定)

3 个赞

这个方法是有安全风险的,没有必要,不过我才知道原来这就是Rootless的具体行为之一。学习了!

  1. 第二步中执行 mv /path/to/class-dump ~/bin;需要sudo 才可以。
  2. 在:/Users/hi 路径下执行 vi ~/.bash_profile 提示新建文件,并非教程中的修改文件。
    问题2中是我执行的路径不对么?

你执行这些命令当前的身份是什么?
修改自己目录下的bin目录,没有道理要求root权限啊?
vi ~/.bash_profile本身就已经指定了路径,没有问题,可能你的机器里确实没有这个文件而已

为了看起来home目录舒服一点,我选择酱紫:
mkdir ~/.bin
export PATH=$HOME/.bin/:$PATH

1 个赞

/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这个命令

1 个赞

这本书的作者在哪?连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关了:sweat_smile:

这是有啥问题

完全正常啊

真的是尴尬的一匹。。。我搞错了,删了