Zum Hauptinhalt springen

Homebrew mit Level unter 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

Einführung

Level verwaltet Homebrew unter macOS über einen dedizierten homebrew Systembenutzer, anstatt es als root oder den aktuell angemeldeten Benutzer auszuführen. Dies folgt Homebrews eigener Empfehlung und vermeidet Berechtigungsprobleme, die sich aus der Ausführung von brew als root.

Wenn Sie Homebrew-Automationsaktionen über Level ausführen und unerwartet Verhalten feststellen, oder wenn Sie ein macOS-Gerät verwalten, auf dem Homebrew bereits installiert war, erklärt dieser Artikel, was Level tut und wie Sie damit arbeiten.


Der homebrew Benutzer

Level erstellt automatisch ein homebrew Benutzerkonto, wenn einer dieser Aktionen zum ersten Mal auf einem Gerät ausgeführt wird:

  • Homebrew installieren

  • Homebrew-Paket installieren (das Homebrew zuerst installiert, falls noch nicht vorhanden)

Der homebrew Benutzer ist ein Systemkonto (keine Anmeldeshell, kein Verzeichnis in /Users). Es ist für passwortlose sudo über eine Konfigurationsdatei unter /etc/sudoers.d/homebrew.

ℹ️ HINWEIS: Wenn Homebrew auf dem Gerät bereits installiert war, bevor eine Level-Aktion ausgeführt wurde, konfiguriert Level die bestehende Installation neu, um das Eigentum auf den homebrew Benutzer zu übertragen. Installierte Pakete bleiben erhalten.


Homebrew-Befehle ausführen

Da Homebrew dem homebrew Benutzer gehört, müssen brew-Befehle als dieser Benutzer ausgeführt werden, um ordnungsgemäß zu funktionieren.

Die vollständige Befehlsform ist:

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

Beispiel:

sudo -E -H -u homebrew brew --version

Verwendung des Level-Wrappers

Level installiert ein Wrapper-Skript unter /usr/local/bin/brew, das brew-Befehle automatisch als homebrew Benutzer ausführt.

Mit dem Wrapper vorhanden, können Sie die Standard-brew-Syntax verwenden:

brew --version brew list brew upgrade

Der Wrapper kümmert sich um das sudo -E -H -u homebrew Präfix für Sie. Verwenden Sie diese Form beim Ausführen von brew-Befehlen in Levels Terminal oder in Skripten.

💡 TIPP: Verwenden Sie immer das Wrapper-Formular in Level-Skripten und Automationen. Verwenden brew direkt (über den Wrapper) hält die Syntax sauber und stellt sicher, dass Sie im richtigen Benutzerkontext ausgeführt werden.

Benachrichtigungsbanner

Beim Ausführen von brew über den Level-Wrapper sehen Sie eine Notiz wie diese:

NOTE: Homebrew is managed by Level on this device: https://docs.level.io/...

Dies ist nur informativ. Es bestätigt, dass Levels Wrapper aktiv ist und dass der homebrew Benutzer die Installation verwaltet.


FAQ

  • Warum verwendet Level einen dedizierten homebrew Benutzer statt als root auszuführen? Homebrew rät explizit davon ab, als root auszuführen, da es Software in gemeinsam genutzten Pfaden installiert und der Root-Kontext systemweit zu Berechtigungsproblemen führt. Ein dedizierter Benutzer mit gezieltem passwortlosem sudo ist das empfohlene Muster gemäß Homebrews eigener Dokumentation.

  • Ich hatte Homebrew vor Level installiert. Was hat sich geändert? Level hat das Eigentum der Homebrew-Installation auf den homebrew Benutzer übertragen. Ihre installierten Pakete sind noch vorhanden. Zukünftige Installationen und Upgrades erfolgen über den homebrew Benutzer. Wenn Sie brew Befehle als sich selbst oder als root zuvor ausgeführt haben, verwenden Sie den Wrapper oder das sudo -E -H -u homebrew brew Formular ab jetzt.

  • Kann ich immer noch Pakete manuell mit brew install installieren? Ja, unter Verwendung des Wrappers unter /usr/local/bin/brew oder dem vollständigen sudo -E -H -u homebrew brew install Formular. Direkt brew install als root oder ein anderer Benutzer schlägt fehl oder erstellt Eigentumskonflikte.

  • Was passiert, wenn ich den homebrew Benutzer entferne? Level Homebrew-Aktionen erstellen den Benutzer neu und konfigurieren das Eigentum beim nächsten Ausführen. Entfernen Sie ihn nicht, wenn Sie Level zur Verwaltung von Homebrew verwenden.

  • Kann ich Homebrew mit Level auf Apple Silicon (M1/M2/M3) Macs verwenden? Ja. Der homebrew Benutzer und der Wrapper-Ansatz funktionieren auf Intel und Apple Silicon. Beachten Sie, dass Homebrew auf jeder Architektur auf verschiedene Pfade installiert wird (/usr/local vs /opt/homebrew), aber Level kümmert sich transparent darum.

Hat dies deine Frage beantwortet?