Vor Jahren konnte man es schaffen, brewals Root zu laufen, indem man einfach brewauf root chowned , aber diese Funktion wurde entfernt. In Homebrew 1.1.6 habe ich /usr/local/Homebrew/Library/Homebrew/brew.shdie Root-Prüfung (die besagt, dass sie "extrem gefährlich" ist) bearbeitet , um sie brewals Root auszuführen .
Die neuere Version von Homebrew funktioniert immer noch damit, aber die brew.shDatei wird jedes Mal nach dem Ausführen zurückgesetzt brew, selbst wenn ich chmod 500es tue. Ich könnte ein Skript schreiben, um es zu ändern, und dann brewautomatisch 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?
sudofü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.
rootriskant. Selbst wenn Sie ein Paket ohne Paketmanager erstellen, erstellen Sie das Paket als Benutzer ohne Berechtigungen (selbst) und installieren das Paket dann wie rootbei 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.shDatei zurückgesetzt wird, nachdem sie geändert und dann ein brewBefehl ausgeführt wurde. So kann ich laufen sudo brew whateverund brew whateverim Tandem ganz gut. Meine brew --versionAusgabe 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.shDatei so geändert , dass alle Zeilen in der check-run-command-as-rootFunktion auskommentiert werden, und returnstattdessen eine einzelne Anweisung oben in die Funktion eingefügt.
brewals Root ausgeführt werden? Auch istsudonicht ausreichend für Ihre Zwecke?