sudoを使用しても/ usrに書き込めない


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.

sudoroot権限を与えられないのはなぜですか?*注意:*私はホイールグループに属していますが、この面白いsudo動作では何も起こらないはずです。

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

回答:


15

10.11で導入された機能であるSIP(システム整合性保護)で保護/usrされているにインストールしようとしています(詳細について は、El Capitanの「ルートレス」機能とは何ですか?)。

/usr/local代わりに使用してください。これは、ユーザー側のインストール用の場所です。


そうです、/ usr / includeにリンクする必要があるか、gcc 4.9でコンパイルできません!
マイケル

おそらくSIPを無効にする必要があるでしょう。
ジェイノロジー2017

古い応答ですが、インクルードファイルの場所をGCCに通知できないのはなぜですか?これが '-l'オプションの目的です。ルートとしてのPHP ... <shdder>
Marc Wilson、
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.