Root-Benutzer können keine Datei in /usr/lib erstellen

Ich versuche, diesem Rat von stackoverflow zu folgen und einige Bibliotheksdateien von /usr/local/Cellar/openssl/1.0.1cnach zu kopieren /usr/lib/.

Ich habe versucht cp, ln -sund sogar touch, aber sie alle scheitern. Ich verwende die rootAnmeldeinformationen:

joyce# whoami
root

Im richtigen Verzeichnis:

joyce# pwd
/usr/lib

Es ist jedoch kein Schreibvorgang zulässig:

joyce# cp /usr/local/Cellar/openssl/1.0.2e_1/lib/libssl.1.0.0.dylib .
cp: ./libssl.1.0.0.dylib: Operation not permitted
joyce# ln -s /usr/local/Cellar/openssl/1.0.2e_1/lib/libssl.1.0.0.dylib .
ln: ./libssl.1.0.0.dylib: Operation not permitted
joyce# touch blah
touch: blah: Operation not permitted

/usr/libIrgendeine Idee, wie ich als schreiben kann root?

/usr/libist durch SIP geschützt, können Sie es nicht hinzufügen /usr/local/libund entsprechende Flags an den Linker übergeben?
Es hat funktioniert - export DYLD_LIBRARY_PATH=/usr/local/Cellar/openssl/1.0.2e_1/lib. Möchten Sie eine Antwort geben, damit ich sie annehmen und positiv abstimmen kann?
Sicherlich ist es einfacher, Homebrew zu verwenden, um in /usr/local/lib zu verlinken und den Build dazu zu bringen, dies zu verwenden

Antworten (1)

/usr/libist durch SIP geschützt. Selbst wenn dies nicht der Fall wäre, ist es nicht die beste Idee, Ihre eigenen Sachen dort abzulegen, da jedes System-Upgrade sie löschen kann.

Der bessere Ort, um solche Sachen zu speichern (oder darauf zu verlinken), ist /usr/local/lib. Eventuell müssen Sie dann entsprechende Flags an den Linker übergeben (oder Sie verweisen direkt auf den Cellar-Ordner).