Actualmente estoy usando el administrador de paquetes Homebrew y mi pregunta es: ¿es posible escribir un script de bash para ejecutar brew update
y eventualmente brew upgrade
cada vez que abra un shell por primera vez? Estoy usando iTerm en este momento.
13
~/.bash_profile
archivo. Deberá verificar si solo 1 sesión de Terminal está abierta y luego ejecutarlabrew update
. Consulte stackoverflow.com/questions/6172663/… para determinar el número de ventanas de Terminal.~/.bash_profile
se ejecuta automáticamente al inicio de la sesión de Terminal. Esta verificación es necesaria si necesita ejecutarbrew update
el primer inicio. Si Usted desea ejecutar esto cada vez que se abre una nueva ventana, omita este paso y ejecutarbrew update
en~/.bash_profile
.Respuestas:
Esto es muy fácil de hacer.
Por eficiencia (y factor interesante), usaría una herramienta como Lingon para lanzar este script periódicamente usando launchctl / launchd en lugar de cada vez que inicie un shell. En mi MacBook, tarda 3 segundos en actualizarse la segunda vez (sin trabajo, conjunto de caché DNS, etc.) y tarda 10 segundos en ejecutarse la primera vez (sin trabajo) o más de 15 segundos si un paquete necesita para ser descargado o compilado.
Tal vez una vez al día o una vez por hora: ¿sería suficiente correr en segundo plano dados esos tiempos para ejecutar?
Puede crear un script simple
/usr/local/bin/brewup
que llame a su vez y registre los resultados en el registro del sistemaSolo llamo a la preparación cuando estoy a punto de ir a hacer té o cuando empiezo y dejo que se ejecute en segundo plano.
fuente
launchd
Overcron
son que es más resistente, más amigable con el poder y maneja los intervalos de sueño / falta más naturalmente.t
bandera. Lo uso para poder encontrar estos mensajes en el mar de registros con un término fácilgrep
olog
comando y predicado / búsqueda.Hay una herramienta llamada homebrew-autoupdate que hará esto por usted. Puede ejecutarse automáticamente
brew update
en segundo plano cada 24 horas (configurable) para garantizar que siempre tenga datos caseros nuevos cuando vaya a instalar / actualizar paquetes.Para instalarlo, ejecutar
brew tap domt4/autoupdate
ybrew autoupdate --start 43200
configurarlo para que se actualice automáticamente cada 12 horas (43200 segundos).fuente
Prefiero actualizar Homebrew al inicio. Tengo un script
brew-update.sh
en~/Applications
:Este script se ejecuta al inicio usando
launchd
. Para eso, tengobrew-update.plist
en~/Library/LaunchAgents
:Tenga en cuenta que es posible que no se actualice de manera confiable cuando, por ejemplo, tiene un MacBook y solo abre y cierra la tapa. Sin embargo, funciona bien para mi iMac que apago y enciendo regularmente. ¡Déjame saber si funciona!
fuente