macOS: aktualizace systému i aplikací jedním vrzem

Udržet Mac aktuální neni zas tak jednoduchá věc. Systém se aktualizuje na jednom místě, část aplikací přímo z App Storu, část zase po vlastní ose a vývojářské nástroje zase úplně jinak. Jakoby to nestačilo, ideálně si pak každý systém o aktualizaci řekne v jiný a zároveň nejméně vhodný okamžik.

Koláž screenshotů s aktualizacemi z různých zdrojů.

Aktualizační peklíčko: systém, App Store, Sparkle,…

Donutilo mě to tedy povypínat automatické aktualizace a poslepovat jednoduchý skript, který přibližně jednou za měsíc spustím po „zdravotním“ restartu systému a jen počkám, než se vše aktualizuje:

softwareupdate -ia && echo '✅ macOS updated!' && brew upgrade && echo '✅ Brew updated!' && brew cu -ay && echo '✅ Casks updated!' && brew cleanup

Co vše se příkazy aktualizuje?

softwareupdate -ia

Systémovinky jinak dostupné v Předvolby systému > Aktualizace softwaru. Cíleně běží jako první, protože navazující aktualizace si volí verzi v závislosti na verzi macOS. To bohužel zároveň vede k potřebě někdy spustit celý skript znovu, pokud aktualizace restartovala systém a první běh tak přerušila.

brew upgrade

Aktualizuje zejména vývojářské nástroje a samotné Homebrew. Nemá ale úplně ideálně podchycenou aktualizaci aplikací, takže je lepší doinstalovat brew-cask-upgrade a nechat jejich správu na dalším příkazu.

brew cu -ay

Postahuje nové verze aplikací, které si jinak aktualizace zajišťují po vlastní ose, většinou přes profláklý Sparkle. Jen je k tomu potřeba původní instalace nahradit těmi z Homebrew (instalují se jako tzv. „cask“) a zjistit, jestli s tím nemají problém. Třeba do Sketche je pokaždé nutné se znovu přihlásit, takže ho radši nadále aktualizuji ručně, když si o to řekne.

brew cleanup

Brew si různě odkládá starší verze aplikací, postahované instalační balíky a kdovíco ještě. Tohle je smaže.

Mezikroky

&& spojující příkazy akorát zajistí, že další proběhnou jen pokud předešlé úspěšně doběhnou a echo ✅ (...) používám jen pro vizuální oddělení jednotlivých kroků.

App Storovky se relativně spolehlivě aktualizují samy na pozadí, takže je neřeším. Teoreticky by to šlo přes mas-cli a kontrola nad aktuálností Macu by byla 100% z jednoho místa.