Não é possível gravar em / usr mesmo com o sudo


10

Aqui está o meu problema:

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

... deve me deixar executar como root e modificar /usr& /usr/sharediretórios, mas recebo o seguinte:

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.

Por que sudonão está me dando privilégios de root? * Nota: * Estou no grupo das rodas, embora isso não deva ter nada com esse sudocomportamento engraçado .

Gabbar-Singh:~ anadi$ id anadi
uid=XXX(anadi) gid=XX(staff) groups=XX(staff),0(wheel)

Respostas:


15

Você está tentando instalar o /usrqual é protegido pelo SIP (System Integrity Protection), um recurso introduzido no 10.11 (consulte O que é realmente o recurso "sem raiz" no El Capitan? Para obter detalhes).

Em /usr/localvez disso, use o local destinado às instalações do lado do usuário.


Sim, exceto que eu preciso vincular a / usr / include ou não consigo compilar com o gcc 4.9!
Michael

Você terá que desativar o SIP, então eu acho.
Jasonology

Resposta antiga, mas por que você não pode simplesmente dizer ao GCC onde encontrar os arquivos de inclusão? É para isso que serve a opção '-l'. PHP como root ... <shudder>
Marc Wilson
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.