Software-Update

Software auf dem Mac aktuell halten

Vor ca. 1 Jahr bin ich von meinem MacBook (Jahrgang 2011) auf ein Dell XPS mit Ubuntu-Linux umgestiegen. Das Dell XPS läuft sehr gut und eignet sich sehr gut, um technische Dinge zu erledigen (Software entwickeln, Firmware auf Geräten flashen usw.). Bei der täglichen Arbeit mit und für Kunden gab es aber immer mal wieder Probleme. Angefangen von der Web-Konferenz-Software „Adobe Connect“ bis zum PulseSecure VPN-Client: Es gab immer mal wieder Probleme mit der Einrichtung, da die jeweilige Software (nicht vollständig) für Linux-Betriebssysteme zur Verfügung gestellt wurde.

Aus diesem Grund habe ich mir im Sommer wieder ein MacBook zugelegt. Es eignet sich sehr gut für die Entwicklung von Software und bietet auch eine gute Unterstützung für notwendige Software (z.B. Adobe Connect) an. Das MacBook nutze ich nun für die tägliche Arbeit mit und für Kunden. Die Entwicklung von Software sowie weitere technische Tasks führe ich überwiegend auf dem Dell XPS mit dem Ubuntu-Linux aus.

State of the art

Soweit zur Vorgeschichte, warum ich nun einen Artikel über Softwareaktualisierungen für MacOS schreibe. Als ich mir das MacBook gekauft habe, wollte ich es von Grund auf wartungsarm einrichten. Ich lege viel Wert auf die Installation aktueller Software-Updates. Alles, was über den AppStore von MacOS installiert wird, wird ja automatisch mit Updates versorgt. Es gibt jedoch viele Anwendungen, die lediglich über die Webseiten der Anbieter heruntergeladen werden können. Um diese Software zu aktualisieren, gibt es mehrere Möglichkeiten:

  1. Die Software hat einen integrierten Update-Mechanismus um prüft beim Start automatisch, ob es eine neue Software-Version gibt.
  2. Man besucht regelmäßig die Webseiten der Hersteller und lädt jeweils die aktuelle Software-Version herunter, um diese anschließend zu installieren.

Die Alternative 1 hat den Nachteil, dass man die Software erst aktiv starten muss, damit sie nach aktuellen Updates installiert. Möchte man z.B. Skype verwenden und jemanden anrufen, prüft Skype erst, ob es eine neue Version gibt. Entweder installiert man das Update direkt und verschiebt dadurch den Zeitpunkt des geplanten Anrufes oder man installiert das Update, nachdem man seinen Anruf getätigt hat (insofern man es nicht vergisst).

Die Alternative 2 setzt voraus, dass man sehr viel Zeit/Langeweile hat, um an einem Samstagnachmittag die Liste der installierten Software-Anwendungen durchzugehen und jeweils die Webseite zu besuchen.

Homebrew

Keine der beiden Alternativen erschien mir als gute Lösung. Ich möchte gerne einen Automatismus haben, um auch die nicht über den AppStore vertriebene Software einfach aktuell halten zu können. Aus der Software-Entwicklung kannte ich bereits die Anwendung Homebrew. Es handelt sich um eine Paketverwaltung für MacOS. Ich nutzte sie bereits, um Konsolenanwendungen (z.B. php oder git) zu installieren. Homebrew kann man einfach über den folgenden Terminal-Befehl installieren:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Anschließend können neue Anwendungen über brew install installiert werden (z.B. brew intall git, um git zu installieren). Während der Recherche nach der noch fehlenden 3. Alternative, bin ich auf die Homebrew-Erweiterung brew-cask gestoßen. Sie nutzt Homebrew, um Standard-Anwendungen mit grafischer Oberfläche zu installieren.

Um z.B. Skype zu installieren, braucht man nicht im AppStore oder auf der Microsoft-Webseite suchen, sondern lediglich den folgenden Befehl ausführen:

brew cask install skype

brew-cask lädt anschließend automatisch die aktuellste Skype-Version herunter und installiert diese. Zum aktuellen Zeitpunkt bietet brew-cask die Installation von ca. 2500 Anwendungen an. Eine vollständige Liste der unterstützten Anwendungen gibt es unter https://formulae.brew.sh/cask/. Es ist wirklich beeindruckend, wie viele Anwendungen unterstützt werden. Durch brew cask habe ich tatsächlich jede Software installieren können, die ich für die Arbeit auf meinem MacBook benötige.

Um die via brew-cask installierten Anwendungen aktualisieren zu können, müssen lediglich beiden folgenden Befehle ausgeführt werden:

brew update
brew cask upgrade --greedy

Der Parameter --greedy sorgt dafür, dass auch Software aktualisiert wird, die eigentlich einen integrierten Update-Mechanismus anbietet. Diesen möchten wir jedoch nicht nutzen, da brew-cask alle Updates installieren soll. Die Ausgabe sieht während des Updates-Prozesses wie folgt aus:

brew cask upgrade --greedy
 Updating Homebrew…
 ==> Upgrading 1 outdated packages:
 skype 8.52.0.145 -> 8.53.0.85
 ==> Upgrading skype
 ==> Satisfying dependencies
 ==> Downloading https://endpoint920510.azureedge.net/s4l/s4l/download/mac/Skype-8.53.0.85.dmg
 ################################################################## 100.0%
 ==> Verifying SHA-256 checksum for Cask 'skype'.
 ==> Backing App 'Skype.app' up to '/usr/local/Caskroom/skype/8.52.0.145/Skype.app'.
 ==> Removing App '/Applications/Skype.app'.
 ==> Moving App 'Skype.app' to '/Applications/Skype.app'.
 ==> Purging files for version 8.52.0.145 of Cask skype
 🍺  skype was successfully upgraded!

All-in-one Update

Um alle Updates mit nur einem „Klick“ herunterladen und installieren zu können, habe ich folgendes Skript unter /Users/<Benutzername>/bin/update-system.sh abgelegt.

# Update brew and its casks
brew update
brew upgrade
brew cask upgrade --greedy

# Update MacOS
sudo softwareupdate -i -a

Neben den brew-cask-Updates installiert es auch die MacOS-Betriebssystem-Updates. Es reicht somit ein Aufruf von ./bin/update-system.sh aus, um mein MacBook inkl. aller installierten Software-Anwendungen zu aktualisieren. Durch brew cask habe ich tatsächlich jede Software installieren können. Es gibt keine manuell installierte Software, sodass ich mit nur einem Befehl jede Software auf meinem MacBook aktualisieren kann. Das spart sehr viel Zeit und Nerven. So macht das Installieren von Updates Spaß 🙂

Ein Gedanke zu „Software auf dem Mac aktuell halten“

  1. Welcome to the linux-like side of live!
    Ich liebe Brew!

    Da sich mein Arbeitgeber leider bis heute nicht zu MacBooks in der Entwicklung breitschlagen lässt, hab ich eine super Alternative für Windows gefunden, falls es jemand interessiert:

    Chocolatey (ehemals Kickstarter Projekt)
    https://chocolatey.org/

    Eine `packages.config` und `choco install -y packages.config` und los geht die Reise.
    Docker, git, nodeJS, Browser, LaTeX … und alles mit einem Einzeiler updatebar – wie bei Brew!

    Da fühlt man sich auf Windows gleich etwas wohler. Jetzt fehlt nur die performante Integration des WSL2!

    Alles Gute – Gruß André

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.