Mit dem Aufkommen von OS X 10.11 El Capitan, die Nöte von wurzellos Modus wurde real. Dieser neue Modus ist eine Sicherheitsfunktion, indem das Schreiben in alle vom System kontrollierten Bereiche Ihres Mac blockiert wird. Das bedeutet, dass Sie nur Dinge im Home-Verzeichnis bearbeiten und ändern können.
Für viele von uns ist das ein echtes Problem. ich liebe Homebrew, aber es steckt alles in der / usr / local
Verzeichnis. Bei einer Neuinstallation von El Capitan, Dieses Verzeichnis existiert nicht und kann normalerweise nicht erstellt werden.
Auf einem aktualisierten System, das dieses Verzeichnis bereits hat, wird der Besitzer root (und alles darin!). Das bricht total ab Homebrew mit einem Operation unzulässig Fehlermeldung. Am schlimmsten ist, wenn Sie das Problem beheben, bricht es das nächste Update erneut ab. Mein System wurde aktualisiert El Capitan zweimal und jedes Mal musste ich es reparieren, um es richtig zu verwenden Homebrew.
Wenn Sie nicht mit der Verwendung der Befehlszeile und den am häufigsten verwendeten Befehlen vertraut sind, lesen Sie bitte Die Befehlszeile ist dein bester Freund Tutorial zuerst. In diesem Lernprogramm werden die Grundlagen der Verwendung der Befehlszeile erläutert.
Sie können sich auch darauf beziehen Die Befehlszeile für Webdesign Serie und die Kurse So werden Sie ein Terminal Pro und Erweiterte Befehlszeilentechniken.
Wenn Sie nicht vertraut sind Homebrew, Bitte lesen Sie das Tutorial Homebrew Demystified: Der ultimative Paket-Manager von OS X.
Das Sudo
Befehl steht für Super User DO. Sie können damit jeden anderen Terminalbefehl als ausführen Superuser oder häufiger als Root-Benutzer bezeichnet. Der Superuser ist der Chef des Computers. Der Superuser kann auf dem Computer alles tun, um ihn zu reparieren und zu zerstören.
Die Verwendung dieses Befehls kann sehr gefährlich sein.
Dieser Befehl befindet sich im / usr / bin
Verzeichnis. Sie müssen zuerst sicherstellen, dass sich dieses Verzeichnis in Ihrem Pfad befindet. Führen Sie deshalb diesen Befehl im Terminal aus:
env | grep "PFAD"
In der Zeile, die mit beginnt PFAD =
, Überprüfen Sie den Pfad / usr / bin
in der Doppelpunkt-Liste. Wenn es nicht da ist, füge dies dem hinzu ~ / .bashrc
Datei für die Bash-Shell oder die ~ / .zshrc
Datei zsh für die zsh-Shell:
export PATH = "$ PATH: / usr / bin";
Jetzt können Sie die Sudo Befehl. Einige denken vielleicht, dass dies die Standardeinstellung ist, aber ich habe festgestellt, dass einige Systeme diese Konfiguration nicht haben. Ich debugiere Computerprobleme für viele Leute und habe das gesehen / usr / bin
Verzeichnis fehlt in vielen Anmeldeskripten.
Um die Sudo
Wenn Sie den Befehl eingeben, geben Sie die Befehlszeile ein, nach der Sie ausführen möchten Sudo
mit einem Leerzeichen.
Für das Beispiel der Befestigung Homebrew, Sie müssen den Besitz der Verzeichnisstruktur in den Anmeldenamen ändern. Wenn Sie nicht sicher sind, was das System für den Anmeldenamen verwendet, öffnen Sie die Terminal.app im Home-Verzeichnis und geben Sie ein:
ls -ld .
Das ls
Befehl wird Liste den Inhalt eines Verzeichnisses. Die Flaggen -ld
sagen ls
um die lange Ansicht mit Dateiattributen (l) und nur das Verzeichnis (d) anzuzeigen. Das .
bezeichnet das aktuelle Verzeichnis. Dies sollte eine Ausgabe ähnlich der folgenden erzeugen:
drwxr-xr-x 132 raguay mitarbeiter 884 6. november 14:11 .
Das Raguay
ist der Anmeldename auf meinem System. Es wird für Sie anders sein und ist der Name, in den Sie das ändern müssen / usr / local /
Eigentum.
Nun, um das Eigentum an der / usr / local /
Verzeichnis, müssen Sie die chown
Befehl. Das chown
Befehl steht für Besitzer wechseln und das ist es, was es tut. Auf meinem System lautet der Befehl:
sudo chown -R raguay / usr / local
Das -R
flag sagt chown
den Besitz rekursiv ändern. Das heißt, jede Datei und jedes Verzeichnis in / usr / local
wird ihr Besitzer in geändert werden Raguay
. Sie müssen den Benutzernamen entsprechend Ihres Systems ändern.
Oben sehen Sie die Fehlermeldung, wenn Sie versuchen, das zu ändern / usr / local
Verzeichnisbesitz ohne Verwendung Sudo
. Ich habe das nicht benutzt -R
Flag als würde es einen Fehler für jede Datei und Verzeichnis erzeugen. Die nächste Befehlszeile verwendet die Sudo
Befehl. Der Befehl fragt nach Ihrem Passwort und führt die Aktion dann fehlerfrei aus.
Wie gesagt, das gibt Ihnen viel Macht über das System. Seien Sie vorsichtig, Sie können das System mit dem System unbrauchbar machen Sudo
Befehl. Die Befehlszeile zum Löschen einer Datei lautet beispielsweise rm
für ReMove eine Datei. Wenn Sie Folgendes eingeben:
sudo rm -R /
Sie werden alles auf der Festplatte löschen. Das bedeutet, dass Sie Ihr Betriebssystem, alle vorhandenen Programme und alle Ihre Datendateien von einer Sicherung komplett neu installieren müssen. Wenn Sie keine Sicherung haben, ist alles weg.
Sogar die chown
Befehl kann Dinge unbrauchbar machen. Wenn Sie den Besitzer aller Dateien in ändern / Bewerbungen
Wenn der Name des Verzeichnisses nicht vorhanden ist, können Sie keine Anwendungen in diesem Verzeichnis ausführen.
Seien Sie daher sehr vorsichtig, wie Sie das verwenden Sudo
Befehl.
Nachdem Sie jetzt Probleme mit dem Besitz auf Ihrem Mac behoben haben, können Sie ähnliche Probleme beheben, die möglicherweise in der Zukunft auftreten. Denken Sie daran, den Befehl sehr sorgfältig zu verwenden, und prüfen Sie den eingegebenen Befehl, bevor Sie Ihr Kennwort eingeben.
Einmal ausgeführt, kann das Rückgängigmachen ohne vollständige Neuinstallation des Betriebssystems nahezu unmöglich sein.