En sistemas macOS con agentes Level activos, los comandos de Homebrew pueden exhibir algunos comportamientos particulares. Este artículo explica por qué sucede esto y cómo trabajar con ello.
El Usuario homebrew
Level crea un usuario local llamado homebrew en sistemas donde se instala el agente. Este usuario posee ciertos directorios y archivos requeridos para las operaciones de Homebrew. Esto permite a Level monitorear y controlar operaciones de Homebrew mientras se mantiene la integridad del sistema.
Ejecutar Comandos de Homebrew
Cuando ejecuta brew, el agente de Level se detecta automáticamente. Para ejecutar un comando como el usuario homebrew y permitir que el entorno funcione correctamente, use:
sudo -E -H -u homebrew brew [COMMAND]
Ejemplos:
sudo -E -H -u homebrew brew install wgetsudo -E -H -u homebrew brew updatesudo -E -H -u homebrew brew upgradesudo -E -H -u homebrew brew list
Las banderas significan:
-E: Preserva las variables de entorno actuales del usuario que invoca-H: Establece el directorio HOME en el del usuario de destino (homebrew)-u homebrew: Ejecuta el comando como el usuariohomebrew
Usar el Envoltorio de Level
El agente de Level también proporciona un envoltorio ubicado en /usr/local/bin/brew. Este envoltorio se encarga automáticamente de los permisos y configuraciones de entorno requeridos.
Puede usar el envoltorio simplemente invocando brew — el envoltorio se usa de forma predeterminada:
brew update brew install wget
El envoltorio ejecuta automáticamente los permisos necesarios, por lo que no necesita anteponer manualmente sudo -E -H -u homebrew. Este es el método recomendado para la mayoría de operaciones de Homebrew con Level.
Banner de Notificación
Cuando ejecuta comandos de Homebrew, puede ver una notificación indicando que el comando está siendo monitorizado por el agente de Level. Esto es normal e indica que el agente está funcionando correctamente y ve el comando.
El banner se verá algo como:
Level está activo. Los comandos de Homebrew están siendo monitoreados por el agente.
Este es un mensaje informativo y no afecta la funcionalidad o los resultados del comando de Homebrew.
Preguntas Frecuentes
¿Por qué recibo un error de permiso denegado cuando ejecuto un comando de Homebrew? Esto podría significar que los permisos no están configurados correctamente o que el agente no está funcionando correctamente. Intente ejecutar el comando con el prefijo
-E -H -u homebrewcomo se describe arriba. Si el problema persiste, póngase en contacto con soporte.¿Puedo ejecutar comandos de Homebrew sin usar el envoltorio de Level? Puede usar la sintaxis completa
sudo -E -H -u homebrew, pero usar el envoltorio (que está habilitado de forma predeterminada) es más simple y se recomienda.¿Modificará o interrumpirá el agente de Level mis comandos de Homebrew? No. El agente solo monitoriza comandos para fines de registro y auditoría. No modifica los comandos ni sus resultados. No los ejecuta a menos que lo haya configurado, y no los rechaza.
¿Por qué existe un usuario especial de
homebrew? Esto sigue las mejores prácticas de Homebrew. Homebrew mismo recomienda no usarsudocon Brew. Para obtener más información, consulte la documentación de Homebrew.
