Hace años, podía salirse con la suya brewcomo usuario root simplemente conociendo brewa root, pero eliminaron esa característica. Entonces, en Homebrew 1.1.6, solía editar /usr/local/Homebrew/Library/Homebrew/brew.shpara eliminar la verificación de raíz (la que decía que era "extremadamente peligrosa") para poder ejecutarla brewcomo raíz.
La versión más nueva de Homebrew todavía funciona con eso, pero sigue volviendo el brew.sharchivo cada vez que lo ejecuto brew, incluso si lo hago chmod 500. Podría escribir un script para cambiarlo y luego ejecutarlo brewautomáticamente, pero no estoy seguro de si esto siempre funcionará y no quiero arriesgarme. ¿Alguien ha encontrado un método diferente para ejecutar Homebrew como root?

brewcomo root? Además, ¿sudono es suficiente para sus propósitos?sudolo ejecuta como root, y me da el mismo error "extremadamente peligroso". Quiero ejecutar como root porque de lo contrario tiene problemas para instalar ciertos paquetes, especialmente si algo se instaló no a través de Homebrew (por ejemplo, a través depip). He recorrido esa ruta muchas veces. Además, no funciona correctamente para múltiples usuarios sin soluciones extrañas a menos que instale todo como root.rootes arriesgado. Incluso compilando un paquete sin un administrador de paquetes, compilaría el paquete como un usuario sin privilegios (usted mismo) y luego instalaría el paquete comorootconsudo. Los administradores de paquetes como Fink y MacPorts construyen con sus propios usuarios sin privilegios y luego los instalan comoroot. Homebrew no tiene ese mecanismo.brew.sharchivo se revierte después de modificarlo y luego ejecutar unbrewcomando. Entonces puedo corrersudo brew whateverybrew whateveren conjunto muy bien. Mibrew --versionsalida es así: para su informaciónHomebrew 1.2.1-98-g803f9cbf7b-dirty Homebrew/homebrew-core (git revision d3d6; last commit 2017-05-28), modifiqué mibrew.sharchivo para comentar todas las líneas en lacheck-run-command-as-rootfunción y coloqué una solareturndeclaración en la parte superior de la función.Respuestas:
Después de realizar el cambio en el script, intente configurar el indicador inmutable en brew.sh.
No he probado Como regla general, no doy raíz a las aplicaciones cuyos desarrolladores me ruegan que no lo haga.
fuente
sudo brew installejecuta normalmente.Los usuarios típicos no deberían hacer esto, pero tú no eres típico, ¿verdad?
Dos cuestiones:
No puedes detener la raíz. Si insiste en usar root, entonces root puede sobrescribir
brew.shsin importar qué.No puedes parar
brew, después de todo, estás hablando de correrbrew.Entonces trabajaremos con eso. Vamos a configurar un alias para copiar y
brew.shluego ejecutarbrew.(Arregle las rutas para que coincida con su sistema).
Ahora todo lo que necesitas hacer es:
(Se convertirá en raíz, se copiará
brew.sh, luego se ejecutarábrewcomo raíz con argumentos, luegobrewse sobrescribirábrew.shy estará listo para hacerlo de nuevo)Nota: También puede poner
sudoel alias, pero de esta manera se siente mejor porque se le pedirá una contraseña cada vez.Por lo general, no puede usar
setuid(chmod u+s) para rootear en scripts de shell, por seguridad. Perl tiene un programa separadosuidperlque podría instalarse y podría aumentar los privilegios del usuario, pero tales soluciones son un poco profundas para una respuesta rápida.fuente