Zum Hauptinhalt springen

Homebrew mit Level auf macOS verwenden

Wie Level Homebrew auf macOS mit einem dedizierten Systembenutzer verwaltet und wie Sie brew-Befehle auf von Level verwalteten Geräten ausführen.

Heute aktualisiert

Auf macOS-Systemen mit aktiven Level-Agenten können Homebrew-Befehle einige Besonderheiten aufweisen. Dieser Artikel erklärt, warum dies geschieht und wie Sie damit arbeiten.


Der Benutzer homebrew

Level erstellt einen lokalen Benutzer namens homebrew auf Systemen, auf denen der Agent installiert ist. Dieser Benutzer besitzt bestimmte Verzeichnisse und Dateien, die für Homebrew-Vorgänge erforderlich sind. Dies ermöglicht es Level, Homebrew-Vorgänge zu überwachen und zu steuern, während die Systemintegrität erhalten bleibt.


Ausführung von Homebrew-Befehlen

Wenn Sie brew ausführen, wird der Level-Agent automatisch erkannt. Um einen Befehl mit dem homebrew-Benutzer auszuführen und der Umgebung zu ermöglichen, ordnungsgemäß zu funktionieren, verwenden Sie:

sudo -E -H -u homebrew brew [COMMAND]

Beispiele:

  • sudo -E -H -u homebrew brew install wget

  • sudo -E -H -u homebrew brew update

  • sudo -E -H -u homebrew brew upgrade

  • sudo -E -H -u homebrew brew list

Die Flags bedeuten:

  • -E: Erhält die aktuelle Umgebungsvariablen des aufrufenden Benutzers

  • -H: Setzt das HOME-Verzeichnis auf das des Zielbenutzer (homebrew)

  • -u homebrew: Führt den Befehl als homebrew-Benutzer aus


Verwendung des Level-Wrappers

Der Level-Agent stellt auch einen Wrapper zur Verfügung, der sich bei /usr/local/bin/brew befindet. Dieser Wrapper kümmert sich automatisch um die erforderlichen Berechtigungen und Umgebungseinstellungen.

Sie können den Wrapper verwenden, indem Sie einfach brew aufrufen — der Wrapper wird standardmäßig verwendet:

brew update
brew install wget

Der Wrapper führt die notwendigen Berechtigungen automatisch aus, sodass Sie nicht manuell sudo -E -H -u homebrew voran stellen müssen. Dies ist die empfohlene Methode für die meisten Homebrew-Vorgänge mit Level.


Benachrichtigungsbanner

Wenn Sie Homebrew-Befehle ausführen, kann eine Benachrichtigung angezeigt werden, die darauf hinweist, dass der Befehl vom Level-Agent überwacht wird. Dies ist normal und weist darauf hin, dass der Agent ordnungsgemäß funktioniert und den Befehl sieht.

Das Banner sieht in etwa so aus:

Level ist aktiv. Homebrew-Befehle werden vom Agent überwacht.

Dies ist eine Informationsmeldung und beeinträchtigt die Funktionalität oder Ergebnisse des Homebrew-Befehls nicht.


Häufig Gestellte Fragen

  • Warum erhalte ich eine Berechtigungsverweigerung, wenn ich einen Homebrew-Befehl ausführe? Dies könnte bedeuten, dass die Berechtigungen nicht korrekt gesetzt sind oder der Agent nicht ordnungsgemäß läuft. Versuchen Sie, den Befehl mit dem -E -H -u homebrew Präfix wie oben beschrieben auszuführen. Wenn das Problem weiterhin besteht, wenden Sie sich an den Support.

  • Kann ich Homebrew-Befehle ausführen, ohne den Level-Wrapper zu verwenden? Sie können die vollständige sudo -E -H -u homebrew Syntax verwenden, aber die Verwendung des Wrappers (der standardmäßig aktiviert ist) ist einfacher und wird empfohlen.

  • Wird der Level-Agent meine Homebrew-Befehle ändern oder unterbrechen? Nein. Der Agent überwacht Befehle nur zu Protokollierungs- und Auditzwecken. Er modifiziert weder die Befehle noch ihre Ergebnisse. Er führt sie nicht durch, es sei denn, Sie haben dies konfiguriert, und lehnt sie nicht ab.

  • Warum gibt es einen speziellen homebrew-Benutzer? Dies folgt den Best Practices für Homebrew. Homebrew empfiehlt selbst, sudo nicht mit Brew zu verwenden. Weitere Informationen finden Sie in Homebrew-Dokumentation.

Hat dies deine Frage beantwortet?