J'utilise actuellement le gestionnaire de paquets Homebrew et ma question est: est-il possible d'écrire le script d'un bash afin de l'exécuter brew update
et éventuellement à brew upgrade
chaque ouverture d'un shell pour la première fois? J'utilise iTerm en ce moment.
13
~/.bash_profile
fichier. Vous devrez vérifier si une seule session Terminal est ouverte, puis exécuterbrew update
. Consultez stackoverflow.com/questions/6172663/… pour déterminer le nombre de fenêtres de terminal.~/.bash_profile
est automatiquement exécuté au début de la session Terminal. Cette vérification est nécessaire si vous devez exécuterbrew update
au premier démarrage. Si vous voulez exécuter ce à chaque fois une nouvelle fenêtre est ouverte, sauter cette étape et courirbrew update
dans~/.bash_profile
.Réponses:
C'est très simple à faire.
Pour l'efficacité (et le facteur cool), j'utiliserais un outil comme Lingon pour lancer ce script périodiquement en utilisant launchctl / launchd au lieu de chaque fois que vous démarrez un shell. Sur mon MacBook, il faut 3 secondes pour mettre à jour la deuxième fois (aucun travail effectué, ensemble de cache DNS, etc ...) et 10 secondes pour s'exécuter la première fois (aucun travail effectué) ou 15+ secondes si un package a besoin à télécharger ou à compiler.
Peut-être une fois par jour ou une fois par heure - courir en arrière-plan serait suffisant compte tenu de ces temps pour exécuter?
Vous pouvez créer un script simple
/usr/local/bin/brewup
qui appelle à son tour brew et enregistre les résultats dans le journal systèmeJ'appelle juste le brewup quand je suis sur le point d'aller faire du thé ou quand je commence et le laisse couler en arrière-plan.
la source
launchd
Overcron
est qu'il est plus résistant, plus économe en énergie et gère les intervalles de sommeil / manqués plus naturellement.t
drapeau. Je l'utilise pour trouver ces messages dans la mer de journaux avec un terme facilegrep
oulog
commande et prédicat / recherche.Il existe un outil appelé homebrew-autoupdate qui le fera pour vous. Il peut s'exécuter automatiquement
brew update
en arrière-plan toutes les 24 heures (configurable) pour vous assurer d'avoir toujours de nouvelles données homebrew lorsque vous allez installer / mettre à niveau des packages.Pour l'installer, exécutez-le
brew tap domt4/autoupdate
etbrew autoupdate --start 43200
configurez-le pour une mise à jour automatique toutes les 12 heures (43200 secondes).la source
Je préfère mettre à jour Homebrew au démarrage. J'ai un script
brew-update.sh
dans~/Applications
:Ce script est exécuté au démarrage à l'aide de
launchd
. Pour cela, j'aibrew-update.plist
en~/Library/LaunchAgents
:Notez qu'il peut ne pas se mettre à jour de manière fiable lorsque vous avez, par exemple, un MacBook et que vous ouvrez et fermez uniquement le couvercle. Cependant, cela fonctionne bien pour mon iMac que j'arrête et démarre régulièrement. Laisse moi savoir si ça fonctionne!
la source