Не могу написать в / usr даже с sudo

10

Вот моя проблема:

sudo php -d detect_unicode=0 go-pear.phar

... должны позволить мне работать как корень и изменить /usr& /usr/shareкаталоги, но я получаю это:

Below is a suggested file layout for your new PEAR installation.  To
change individual locations, type the number in front of the
directory.  Type 'all' to change all of them or simply press Enter to
accept these locations.

 1. Installation base ($prefix)                   : /usr
 2. Temporary directory for processing            : /tmp/pear/install
 3. Temporary directory for downloads             : /tmp/pear/install
 4. Binaries directory                            : /usr/bin
 5. PHP code directory ($php_dir)                 : /usr/share/pear
 6. Documentation directory                       : /usr/docs
 7. Data directory                                : /usr/data
 8. User-modifiable configuration files directory : /usr/cfg
 9. Public Web Files directory                    : /usr/www
10. System manual pages directory                 : /usr/man
11. Tests directory                               : /usr/tests
12. Name of configuration file                    : /private/etc/pear.conf

1-12, 'all' or Enter to continue: 
Unable to create PHP code directory ($php_dir) /usr/share/pear.
Run this script as root or pick another location.

Почему sudoне дает мне привилегии root? * Примечание: * Я нахожусь в группе колес, хотя в этом смешном sudoповедении не должно быть ничего .

Gabbar-Singh:~ anadi$ id anadi
uid=XXX(anadi) gid=XX(staff) groups=XX(staff),0(wheel)
Анади Мисра
источник

Ответы:

15

Вы пытаетесь установить систему /usr, защищенную с помощью SIP (System Integrity Protection), функции, появившейся в 10.11 (подробнее, что такое функция «без рута» в El Capitan ).

Используйте /usr/localвместо этого, которая является местом , предназначенным для пользователя на стороне установки.

jasonology
источник
да, за исключением того, что мне нужно сделать ссылку на / usr / include или я не могу скомпилировать с gcc 4.9!
Майкл
Вам придется отключить SIP, тогда я думаю.
Джейсонология
Старый ответ, но почему вы не можете просто сказать GCC, где найти включаемые файлы? Вот для чего нужна опция '-l'. PHP как root ... <shudder>
Марк Уилсон