Saya saat ini menggunakan manajer paket Homebrew dan pertanyaan saya adalah: apakah mungkin untuk menulis skrip bash untuk mengeksekusi brew update
dan akhirnya brew upgrade
setiap kali membuka shell untuk pertama kalinya? Saya menggunakan ITerm saat ini.
13
~/.bash_profile
file. Anda harus memeriksa apakah hanya 1 sesi Terminal yang terbuka dan kemudian jalankanbrew update
. Periksa stackoverflow.com/questions/6172663/... untuk menentukan jumlah jendela Terminal.~/.bash_profile
dieksekusi secara otomatis pada awal sesi Terminal. Pemeriksaan ini diperlukan jika Anda perlu menjalankanbrew update
pada awal pertama. Jika Anda ingin menjalankan ini setiap kali jendela baru dibuka, melewatkan langkah ini dan menjalankanbrew update
di~/.bash_profile
.Jawaban:
Ini sangat mudah untuk dilakukan.
Untuk efisiensi (dan faktor keren), saya akan menggunakan alat seperti Lingon untuk meluncurkan skrip ini secara berkala menggunakan launchctl / launchd alih-alih setiap kali Anda memulai sebuah shell. Di MacBook saya, dibutuhkan 3 detik untuk memperbarui kedua kalinya (tidak ada pekerjaan yang dilakukan, set cache DNS, dll ...) dan butuh 10 detik untuk menjalankan pertama kali (tidak ada pekerjaan yang dilakukan) atau 15+ detik jika sebuah paket membutuhkan untuk diunduh atau dikompilasi.
Mungkin sekali sehari atau satu jam sekali - berlari di latar belakang sudah cukup mengingat waktu untuk mengeksekusi?
Anda bisa membuat skrip sederhana
/usr/local/bin/brewup
yang memanggil bir pada gilirannya dan mencatat hasilnya ke log sistemSaya baru saja menelepon tempat pembuatan bir ketika saya akan membuat teh atau ketika saya memulai dan membiarkannya berjalan di latar belakang.
sumber
launchd
kelebihancron
adalah lebih tahan, lebih ramah daya, dan menangani interval tidur / terlewat secara lebih alami.t
flag. Saya menggunakannya sehingga saya dapat menemukan pesan-pesan ini di lautan log dengan mudahgrep
ataulog
perintah dan predikat / istilah pencarian.Ada alat yang disebut homebrew-autoupdate yang akan melakukan ini untuk Anda. Itu dapat secara otomatis berjalan
brew update
di latar belakang setiap 24 jam (dapat dikonfigurasi) untuk memastikan bahwa Anda selalu memiliki data homebrew baru ketika Anda pergi untuk menginstal / meningkatkan paket.Untuk menginstalnya jalankan
brew tap domt4/autoupdate
danbrew autoupdate --start 43200
konfigurasikan untuk memutakhirkan secara otomatis setiap 12 jam (43200 detik).sumber
Saya lebih suka memperbarui Homebrew saat start-up. Saya memiliki skrip
brew-update.sh
di~/Applications
:Script ini dijalankan saat start-up menggunakan
launchd
. Untuk itu, saya milikibrew-update.plist
di~/Library/LaunchAgents
:Perhatikan bahwa itu mungkin tidak diperbarui secara andal ketika Anda, katakanlah, memiliki MacBook dan hanya membuka dan menutup tutupnya. Namun, itu berfungsi dengan baik untuk iMac saya sehingga saya secara teratur mematikan dan memulai. Beritahu saya jika berhasil!
sumber