Vor Jahren konnte man es schaffen, brew
als Root zu laufen, indem man einfach brew
auf root chowned , aber diese Funktion wurde entfernt. In Homebrew 1.1.6 habe ich /usr/local/Homebrew/Library/Homebrew/brew.sh
die Root-Prüfung (die besagt, dass sie "extrem gefährlich" ist) bearbeitet , um sie brew
als Root auszuführen .
Die neuere Version von Homebrew funktioniert immer noch damit, aber die brew.sh
Datei wird jedes Mal nach dem Ausführen zurückgesetzt brew
, selbst wenn ich chmod 500
es tue. Ich könnte ein Skript schreiben, um es zu ändern, und dann brew
automatisch ausführen , aber ich bin mir nicht sicher, ob dies immer funktionieren wird und ich möchte kein Risiko eingehen. Hat jemand eine andere Methode gefunden, um Homebrew als Root auszuführen?
sudo
führt es als root aus und es gibt mir den gleichen "extrem gefährlichen" Fehler. Ich möchte als Root ausgeführt werden, da es sonst Probleme bei der Installation bestimmter Pakete gibt, insbesondere wenn etwas nicht über Homebrew installiert wurde (z pip
. B. über ). Ich bin diesen Weg schon oft gegangen. Außerdem funktioniert es für mehrere Benutzer ohne seltsame Problemumgehungen nicht ordnungsgemäß, es sei denn, ich installiere alles als Root.
root
riskant. Selbst wenn Sie ein Paket ohne Paketmanager erstellen, erstellen Sie das Paket als Benutzer ohne Berechtigungen (selbst) und installieren das Paket dann wie root
bei sudo
. Paketmanager wie Fink und MacPorts werden beide mit ihren eigenen Benutzern ohne Berechtigungen erstellt und dann als installiert root
. Homebrew hat keinen solchen Mechanismus.
brew.sh
Datei zurückgesetzt wird, nachdem sie geändert und dann ein brew
Befehl ausgeführt wurde. So kann ich laufen sudo brew whatever
und brew whatever
im Tandem ganz gut. Meine brew --version
Ausgabe lautet also: Zu Homebrew 1.2.1-98-g803f9cbf7b-dirty Homebrew/homebrew-core (git revision d3d6; last commit 2017-05-28)
Ihrer Information, ich habe meine brew.sh
Datei so geändert , dass alle Zeilen in der check-run-command-as-root
Funktion auskommentiert werden, und return
stattdessen eine einzelne Anweisung oben in die Funktion eingefügt.
brew
als Root ausgeführt werden? Auch istsudo
nicht ausreichend für Ihre Zwecke?