Einen gebrauchten Mac mini einbinden, der zwei macOS-Versionen hinterher war
Die Maschine war in Ordnung. Sechzehn Gigabyte, ein Apple M4, sauber gelöscht. Sie lief aber mit macOS 15.6.1, und das Xcode, das wir jedem Kunden mitgeben, startet unter 26.2 nicht. Hier steht, wie Sie das erkennen und welche Teile des Upgrades nicht offensichtlich sind. Am Ende steht die Liste, die wir jetzt vor dem Kauf eines gebrauchten Macs abarbeiten.
Das Minimum direkt aus Xcode ablesen
Raten Sie nicht anhand der Release Notes. Xcode nennt seine Untergrenze in seiner eigenen Property List.
$ /usr/libexec/PlistBuddy -c "Print :LSMinimumSystemVersion" \
/Applications/Xcode.app/Contents/Info.plist
26.2Eine Maschine darunter lässt sich sauber einbinden und scheitert dann beim ersten Kunden-Build. Unser Einrichtungsskript prüft das jetzt vor allem anderen. Es bricht ab und nennt den genauen Befehl, um eine neuere Version zu laden.
Die Softwareaktualisierung zeigt nur die neueste Hauptversion
Unter macOS 15 boten die Systemeinstellungen macOS 27 an und sonst nichts. Die älteren Hauptversionen gibt es noch. Sie müssen sie aber auf der Kommandozeile beim Namen nennen.
$ softwareupdate --list-full-installers * Title: macOS 27 Golden Gate, Version: 27.0, Build: 26A428 * Title: macOS Tahoe, Version: 26.7, Build: 25G229 * Title: macOS Tahoe, Version: 26.6.2 ... * Title: macOS Sequoia, Version: 15.8 ... $ softwareupdate --fetch-full-installer --full-installer-version 26.7
Die Liste hängt vom Modell ab. Führen Sie sie also auf der betreffenden Maschine aus. Bei unserer wurde nur 27 angeboten. Also haben wir 27 bewusst genommen, nicht aus Bequemlichkeit. Bei einer Flotte ist dieser Unterschied wichtig.
Bevor eine Flottenmaschine eine neue Hauptversion bekommt
Jede Homebrew-Formel, die wir installieren, hatte schon ein Bottle für die neue Version. Deshalb dauerte die Einrichtung so lange wie immer und nicht einen Nachmittag mit Ruby-Kompilieren.
Was die Einrichtung prüft, bevor die Maschine in den Verkauf geht
Mit der bestandenen Versionsprüfung fängt die Arbeit an, sie endet dort nicht. Bevor eine Maschine jemandem angeboten wird, muss sie vier Dinge beweisen. Jedes davon wird gemessen statt angenommen.
- Ein echter Desktop. Ein VNC-Client holt einen Framebuffer und zählt Farben. Über hunderttausend verschiedene Farben sind ein Desktop. Zwei sind ein schwarzer Bildschirm.
- Ein echtes Kompilat.
xcrun swiftcbaut ein Programm mit dem Kundenkonto und führt es aus. - Eine angemeldete Sitzung.
whozeigt eine Konsolenzeile für das Kundenkonto. - Fließende Telemetrie. Der Hub sieht die Maschine, ihre macOS-Version und ihre Sitzung im Flotten-Dashboard.
Unsere hat alle vier unter macOS 27 bestanden. Deshalb ist sie im Verkauf, nicht wegen der Versionsnummer.
Der Schreck, der kein Bug war
Die ersten zwei Starts nach der Einrichtung meldeten sich nicht automatisch an. Bei einer brandneuen macOS-Hauptversion sieht das wie eine Regression aus. Fast hätten wir es als eine gemeldet. Es war keine.
Beim ersten Start wurde ein frisch kopiertes Xcode mit 3,8 GB indexiert, bei einer Load Average über 160. Die Anmeldung wurde nicht rechtzeitig fertig, und macOS setzte lastLoginPanic in den loginwindow-Einstellungen. Dieses Flag lässt die automatische Anmeldung auch beim nächsten Start ausfallen. Flag löschen und auf einer ruhigen Maschine neu starten funktionierte. Mit demselben Passwort und denselben Skripten, mit 8 und mit 32 Zeichen.
sudo defaults delete /Library/Preferences/com.apple.loginwindow lastLoginPanic sudo shutdown -r now
Dass es nicht am neuen OS lag, bewies eine Gegenprobe. Wir führten denselben Diagnosebefehl auf einer gesunden Maschine eine Hauptversion darunter aus und bekamen denselben Fehler. Diese Geschichte und vier ähnliche stehen in Prüfungen, die nicht fehlschlagen können.
Was Sie beim Kauf eines gebrauchten mini prüfen sollten
Nichts davon ist CI-spezifisch. Das sollten Sie prüfen, bevor Sie für irgendeinen gebrauchten Mac Geld übergeben. Wir haben nur mehr Gründe als die meisten, es beim ersten Mal richtig zu machen. Die Maschine geht nämlich innerhalb einer Stunde an einen Kunden.
Fragen
- Wie installiere ich eine macOS-Version, die die Softwareaktualisierung nicht anzeigt?
- Führen Sie softwareupdate --list-full-installers aus. Das zeigt jede Version, die Apple für dieses Modell anbietet. Dann führen Sie softwareupdate --fetch-full-installer --full-installer-version 26.7 mit der gewünschten Version aus. Das Installationsprogramm landet in /Applications.
- Läuft Xcode 26.6 unter macOS 27?
- Ja. LSMinimumSystemVersion in der Info.plist von Xcode ist 26.2. Das ist eine Untergrenze, keine feste Version. Es startet und baut unter 27.
- Sollte ich auf einer CI-Maschine einfach das neueste macOS nehmen?
- Nur mit Absicht. Eine Maschine mit einer anderen Hauptversion als der Rest der Flotte zerstört die Reproduzierbarkeit für CI-Kunden. Prüfen Sie zuerst, ob es Homebrew-Bottles für die neue Version gibt. Sonst wird jede Installation aus dem Quellcode kompiliert.
- Was sollte ich vor dem Kauf eines gebrauchten Mac mini prüfen?
- Seriennummer und Modell, Arbeitsspeicher, die echte Festplattengröße und die macOS-Version. Außerdem, dass FileVault, Aktivierungssperre und Wo ist? aus sind und keine MDM-Registrierung besteht. Unserer wurde mit 500 GB verkauft und hatte 256.
Rechnen Sie selbst nach mit dem Kostenrechner oder mieten Sie einen Runner.