Atualmente, estou usando o gerenciador de pacotes Homebrew e minha pergunta é: é possível escrever o script de um bash para executar brew update
e, eventualmente, brew upgrade
sempre que abrir um shell pela primeira vez? Estou usando o iTerm no momento.
13
~/.bash_profile
arquivo. Você precisará verificar se apenas 1 sessão do Terminal está aberta e depois executarbrew update
. Verifique stackoverflow.com/questions/6172663/… para determinar o número de janelas do Terminal.~/.bash_profile
é executado automaticamente no início da sessão do Terminal. Essa verificação é necessária se você precisar executarbrew update
na primeira inicialização. Se quiser executar este cada vez que uma nova janela é aberta, ignore este passo e correrbrew update
em~/.bash_profile
.Respostas:
Isso é muito fácil de fazer.
Para eficiência (e fator legal), eu usaria uma ferramenta como o Lingon para iniciar esse script periodicamente usando o launchctl / launchd em vez de cada vez que você inicia um shell. No meu MacBook, são necessários 3 segundos para atualizar a segunda vez (sem trabalho, conjunto de cache DNS, etc ...) e 10 segundos para executar na primeira vez (sem trabalho) ou mais de 15 segundos se um pacote precisar para ser baixado ou compilado.
Talvez uma vez por dia ou uma vez por hora - a execução em segundo plano seja suficiente, dado esses horários para execução?
Você pode criar um script simples
/usr/local/bin/brewup
que chame brew por sua vez e registre os resultados no log do sistemaEu ligo para a preparação quando estou prestes a fazer o chá ou quando eu começo e deixo correr em segundo plano.
fonte
launchd
excessocron
são que eles são mais resilientes, mais amigáveis com a energia e lidam com intervalos de sono / perda mais naturalmente.t
sinalizador. Eu o uso para encontrar essas mensagens no mar de logs com um termo fácilgrep
ou delog
comando e predicado / pesquisa.Existe uma ferramenta chamada homebrew-autoupdate que fará isso por você. Ele pode ser executado automaticamente
brew update
em segundo plano a cada 24 horas (configurável) para garantir que você sempre tenha dados atualizados de homebrew ao instalar / atualizar pacotes.Para instalá-lo, execute
brew tap domt4/autoupdate
ebrew autoupdate --start 43200
configure-o para atualizar automaticamente a cada 12 horas (43200 segundos).fonte
Prefiro atualizar o Homebrew na inicialização. Eu tenho um script
brew-update.sh
em~/Applications
:Este script é executado na inicialização usando
launchd
. Para isso, tenhobrew-update.plist
em~/Library/LaunchAgents
:Observe que ele pode não ser atualizado de maneira confiável quando você, por exemplo, possui um MacBook e apenas abre e fecha a tampa. No entanto, funciona bem para o meu iMac que eu desligo e inicio regularmente. Deixe-me saber se funciona!
fonte