Wie kann ich Betriebssystem-Updates über das Terminal einspielen?

Terminal Icon

Ich habe über diesen Vorgang zwar schon einmal geschrieben, aber da mir die Frage zwischenzeitlich öfter gestellt wurde: Natürlich kann man Betriebssystem-Updates auch in Mavericks immer noch über das Programm Terminal.app durchführen. Nur eben keine Updates für im App Store gekaufte Programme, was aber irgendwie nahe liegt, oder?

Wenn wir also über den App Store im Dock Updates angezeigt bekommen, dann ist es am einfachsten diese auch einfach über den App Store einzuspielen. Das hat den Vorteil, dass wir uns nicht als Administrator ausweisen müssen. (Warum man nicht als Administrator arbeiten sollte, habe ich in dem Beitrag OS X Security: Nicht als Administrator arbeiten ausführlich dargelegt.) Wenn dieses Update allerdings eine gewisse Dringlichkeit mit sich bringt (Security), und wir uns um mehr als einen Rechner kümmern müssen, dann artet das Ganze schnell in Management by Turnschuh™ aus. In diesem Fall hilft es, wenn wir wissen wie man Betriebssystem-Updates per Terminal-Verbindung einspielt.

Meine Empfehlung lautet nach wie vor, zuerst die Berechtigungen zu reparieren, wer das für unnötig erachtet, selbst schuld. Wenn wir im Terminal als “normaler User” angemeldet sind, dann müssen wir uns zuerst zum Administrator machen:

su - [Name des Admin-Accounts]

Danach das Passwort des Admin-Accounts eingeben und wir sind in der Terminal-Session Administrator.

Als nächstes repariere ich zuerst die Berechtigungen (und lasse mich auf keine philosophischen Diskussionen darüber ein 😉 ).

sudo diskutil repairPermissions /

Dieses erste sudo verlangt übrigens wieder nach dem Admin-Passwort. Wenn die Reparatur abgeschlossen ist, können wir uns an die Updates machen:

sudo softwareupdate -l

Gibt uns eine Liste der verfügbaren Betriebssystem-Updates. Es ist empfehlenswert, alle Betriebssystem-Updates installieren zu lassen:

sudo softwareupdate -ai

Wobei das a für “alle für diesen Rechner anwendbaren Updates” steht, und das i für “installieren”.

Falls eines der Betriebssystem-Updates einen Neustart benötigt, dann wird uns dies nach dem Abschluss der Installation angezeigt. Über die Command-Line geht das am schnellsten so:

sync; sync; sudo reboot

Die zwei sync-Befehle kann man zwar als “Voodoo” abtun, aber geschadet haben sie mir bis jetzt noch nie. 😉 Wer jetzt in Versuchung gerät schnell in einem Terminal man sync aufzurufen, der Befehl weist das System an alle so genannten “dirty Buffers” auf die jeweilige Festplatte zu schreiben. Da reboot diesen System-Call ebenfalls aufruft, sollten auch laufende Programme von gewissen Herstellern mitbekommen haben, dass das System jetzt durchstarten wird. Aber ich schweife ab.

Nach der erfolgreichen Installation (und dem eventuellen Neustart), sollten wir noch nachsehen, ob weitere Betriebssystem-Updates, welche auf den gerade eingespielten aufbauen, vorhanden sind. Vorher empfiehlt es sich allerdings dafür zu sorgen, dass eventuell upgedatete “Receipts” berücksichtigt werden (wer jetzt “Berechtigungen reparieren” denkt hat eine Punktlandung durchgeführt). Updates enthalten durchaus auch so genannte “Receipts” für Teile des Betriebssystems, welche gar keine Updates erhalten haben. In diesen “Receipts” ist hinterlegt, welche Berechtigungen für Ordner und Dateien des jeweiligen Programms vom System erwartet werden.

Also zuerst noch einmal die Berechtigungen reparieren, und dann wieder sudo softwareupdate -l aufrufen. Wenn als Antwort No new software available. zurückkommt, dann ist die Arbeit getan; wenn nicht, dann geht das Ganze von vorne los. 😉

Speak Your Mind

*