Unix「ln -s」コマンドはOSX El Capitan Beta3では許可されていません


54

「許可されていない操作」エラーが発生したときにSymphonyのnodejsをインストールしていました。なぜこれが起こったのか誰でも知っていますか?

MacBook-Pro-de-XXX:〜XXX $ sudo ln -s / usr / local / bin / node / usr / bin / node

パスワード:

ln:/ usr / bin / node:操作は許可されていません


1
最初に/ usr / bin / nodeがすでにセットアップされているかどうかを確認してください。変更したい場合は、ln -sfを使用してシンボリックリンクを強制できます。

MacBook-Pro-de-XXX:
〜XXX

ls -la / usr / bin / node

MacBook-Pro-de-XXX:〜XXX $ ls -la / usr / bin / node ls:/ usr / bin / node:そのようなファイルまたはディレクトリはありません
-Kurr0

回答:


70

これは、OS Xの新しいバージョンではいわゆる「ルートレス」モードです。これにより、特定のシステムディレクトリが事実上読み取り専用になります(管理者でも)。「/ usr」は保護されたディレクトリの1つです(このルールから除外されるサブディレクトリは「/ usr / local」のみです)

次のコマンドを使用して、このルートレスモードを無効にできます。

$ sudo nvram boot-args="rootless=0"
$ sudo reboot

しかし、これはお勧めできません!ベストプラクティスは、カスタムのものを「/ usr / local」のみにインストールすることです。


更新(2015年10月27日):10.11(El Capitan)公開リリース

上記の回避策は、Appleが環境を変更したため、El Capitanのパブリックリリースで動作しなくなることに注意してください。

「ルートレス」モード(別名、システム整合性保護、「SIP」)を無効にする適切な方法は、一時的にリカバリモードで起動し(起動中にCommand + R を押したまま)、ターミナルからcsrutil disableコマンドを使用(または再有効化csrutil enable)することです。ターミナルには、回復モードで起動するインストーラーのメニューからアクセスできます。


2
賢明ではないかもしれませんが、今のところMacTeXは期待/usr/texbinしているようですので、私たちは去ります!
デビッドロード

NVRAMを変更してルートレスモードを無効にしても、(少なくとも)GMバージョン以降のEl Capitanでは機能しません。:今出ているバージョンで動作する方法のため、この答えをチェックstackoverflow.com/questions/32590053/...
クリスOstmo

これも私にはうまくいきませんでした。
gsscoder

1
まだ私にOperation not permitted
シヌックス

2
私の回避策は、/ usr / local / binにインストールすること
でした-anon58192932

-2

私のバージョンのEl Capitanでは、/binディレクトリは存在しませんでした:

/usr/local/bin

だから、修正は:

mkdir -p /usr/local/bin

-pそれが存在しない場合、フラグは、DIR(及び付随的フルパスで任意DIRS)を作成します。

次に、「ルートレス」モードの一部ではない/usr/local/binため、シンボリックリンクを作成してアプリをコピーでき/usr/localます。


問題の解決には役立ちません。/ usr / binにあるシンボリックリンクだけが必要な場合がありますが、それを避けることはできません。
ドミトリ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.