Anos atrás, era possível executar brew
o root como chowning brew
to root, mas eles removeram esse recurso. Portanto, no Homebrew 1.1.6, eu costumava editar /usr/local/Homebrew/Library/Homebrew/brew.sh
para remover a verificação de raiz (a que dizia ser "extremamente perigosa") para poder executar brew
como raiz.
A versão mais recente do Homebrew ainda funciona com isso, mas continua revertendo o brew.sh
arquivo todas as vezes após a execução brew
, mesmo que eu chmod 500
o faça. Eu poderia escrever um script para alterá-lo e executar brew
automaticamente, mas não tenho certeza se isso sempre funcionará e não quero arriscar. Alguém encontrou um método diferente para executar o Homebrew como root?
sudo
o executa como root e me dá o mesmo erro "extremamente perigoso". Eu quero rodar como root porque, de outra forma, tem problemas ao instalar certos pacotes, especialmente se alguma coisa foi instalada não através do Homebrew (por exemplo, através pip
). Eu segui esse caminho muitas vezes. Além disso, ele não funciona corretamente para vários usuários sem soluções estranhas, a menos que eu instale tudo como root.
root
é arriscado. Mesmo construindo um pacote sem um gerenciador de pacotes, você constrói o pacote como um usuário sem privilégios (você mesmo) e depois instala o pacote como root
com sudo
. Os gerenciadores de pacotes, como Fink e MacPorts, constroem com seus próprios usuários sem privilégios e depois instalam como root
. O Homebrew não possui esse mecanismo.
brew.sh
arquivo está sendo revertido após modificá-lo e depois executar um brew
comando. Para que eu possa correr sudo brew whatever
e brew whatever
em conjunto muito bem. Minha brew --version
saída é assim: para sua Homebrew 1.2.1-98-g803f9cbf7b-dirty Homebrew/homebrew-core (git revision d3d6; last commit 2017-05-28)
informação, modifiquei meu brew.sh
arquivo para comentar todas as linhas da check-run-command-as-root
função e coloquei uma única return
instrução na parte superior da função.
brew
como root? Além disso,sudo
não é suficiente para seus propósitos?