© Matteo Corti, 2018-2026
Updates a macOS system. Following software packages are analyzed and automatically updated
- Apple products
- Apple Store apps (requires mas)
- Microsoft products
- Adobe products
- Products supported by MacUpdater (requires MacUpdater with a professional license)
- Perlbrew and installed CPAN modules
- Ruby dependencies
- Homebrew and installed packages
- MacPorts and installed ports
- Steam games
Usage: update.sh [OPTIONS]
Options:
--adobe update Adobe products
--apple update Apple products
--brew update Homebrew packages
-c,--clear clear the terminal screen before updating
--emacs update emacs packages
-h,--help,-? this help message
--macupdater update with MacUpdater
--mas update Apple Store applications
--msupdate update Microsoft products
-n,--name show machine name
--no-adobe do not update Adobe products
--no-apple do not update Apple products
--no-brew do not update Homebrew packages
--no-emacs do not update emacs packages
--no-macupdater do not update with MacUpdater
--no-mas do not update Apple Store applications
--no-msupdate do not update Microsoft products
--no-perl do not update Perl and CPAN modules with Perlbrew
--no-ruby do not update ruby
--no-steam do not update steam
--perl update Perl and CPAN modules with Perlbrew
-q,--quiet minimal output
--ruby update ruby
--steam update Steam
-v,--verbose verbose output
Report bugs to https://github.com/matteocorti/update.sh/issues
The following environment variables can be used to control each update:
If set forces the update:
ADOBE
APPLE
BREW
EMACS
MAC_UPDATER
MAS
MSUPDATE
PERL
RUBY
STEAM
If set skips the update:
NO_ADOBE
NO_APPLE
NO_BREW
NO_EMACS
NO_MAC_UPDATER
NO_MAS
NO_MSUPDATE
NO_PERL
NO_RUBY
NO_STEAM
Each configuration can also be stored in a configuration file ${HOME}/.updates.sh.rc
For example:
NO_MSUPDATE=1
NO_RUBY=1
Report bugs to https://github.com/matteocorti/update.sh/issues