Operation nicht erlaubt, wenn auf root - El Capitan (wurzellos deaktiviert)
Ich versuche etwas zu bewegen, zu /usr/bin auf OS X El Capitan. Ich habe Behinderte wurzellos mit den folgenden Befehlen: sudo nvram boot-args="rootless=0"; sudo reboot
, aber ich bekomme immer den gleichen Fehler:
MacBook-Air:~ Mark$ sudo cp class-dump /usr/bin
Password:
cp: /usr/bin/class-dump: Operation not permitted
MacBook-Air:~ Mark$ sudo mv class-dump /usr/bin
mv: rename class-dump to /usr/bin/class-dump: Operation not permitted
Kommentar zu dem Problem
Warum sind Sie versuchen, Klasse-dump in /usr/bin? Lokale Ergänzungen gehören in /usr/local/bin, und wurzellos erlaubt es dir, die Dinge dort...
Einfach einen alias in der ~/.bash_profile und nicht frack mit /usr/bin
Klasse-dump wird direkt verwendet für die Programmierung (reverse engineering - tool direkt für die Programmierung), so dass der Grund der Schließung klingt nicht gültig. Außerdem, 28 Sterne, fast 40 Frage upvotes und 90 Antwort upvotes bedeutet, dass die Frage sinnvoll ist.
reverse engineering, weil es wird verwendet, um eine Liste von Klassen?
InformationsquelleAutor der Frage Mark Bourke | 2015-09-18
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nvm. Für niemanden sonst mit diesem problem müssen Sie starten Sie Ihren mac neu und drücken Sie ⌘+R beim Booten. Dann gehen Sie in die Dienstprogramme > Terminal und geben Sie die folgenden Befehle:
Dies ist ein Ergebnis der System-Integrität-Schutz. Mehr info hier.
BEARBEITEN
Wenn Sie wissen, was Sie tun und werden verwendet, um unter Linux verwenden, sollten Sie die oben genannten Lösung ist, wie viele der SIP Beschränkungen sind eine komplette Schmerz in den Arsch.
Jedoch, wenn Sie ein Tüftler/noob/"poweruser" und nicht wissen, was Sie tun, kann dies sehr gefährlich sein und Sie sind besser dran mit der Antwort unten.
InformationsquelleAutor der Antwort Mark Bourke
Richtige Lösung ist das kopieren oder installieren, um
/usr/local/bin
nicht/usr/bin
.Dies ist aufgrund System Integrity Protection (SIP). SIP macht/usr/bin
nur gelesen, sondern lässt/usr/local
lese- /Schreibzugriff.SIP sollte nicht deaktiviert werden, wie bereits in der Antwort oben, weil es fügt eine weitere Schicht von Schutz gegen malware zu gewinnen root-Zugriff. Hier ist eine vollständige Erklärung, was SIP bedeutet und warum es sinnvoll ist.
Wie vorgeschlagen in diese Antwort sollte man nicht deaktivieren Sie die SIP - (Wurzel-Modus) "Es ist nicht empfohlen, zu deaktivieren wurzellos-Modus! Die beste Vorgehensweise ist, installieren Sie die benutzerdefinierte Zeug, um "/usr/local" nur."
InformationsquelleAutor der Antwort hariszaman
wenn Sie auf der Suche nach übernahme-Befehl in
/usr/bin/
versuchen, erstellen Sie alias.
Beispiel :
alias git='/usr/local/bin/git'
InformationsquelleAutor der Antwort Elliot Yap