Mendaftarkan Mac mini bekas yang datang dua versi macOS tertinggal
Mesinnya baik-baik saja. Enam belas gigabyte, Apple M4, sudah dihapus bersih. Tapi ia memakai macOS 15.6.1, dan Xcode yang kami kirim ke setiap pelanggan tidak mau jalan di bawah 26.2. Berikut cara mengetahuinya, dan bagian upgrade yang tidak jelas terlihat. Di akhir ada daftar yang kini kami jalankan sebelum membayar Mac bekas.
Baca batas minimum dari Xcode itu sendiri
Jangan menebak dari catatan rilis. Xcode menyatakan batas bawahnya di property list miliknya sendiri.
$ /usr/libexec/PlistBuddy -c "Print :LSMinimumSystemVersion" \
/Applications/Xcode.app/Contents/Info.plist
26.2Mesin di bawah versi itu bisa terdaftar dengan mulus, lalu gagal di build pertama pelanggan. Script pendaftaran kami kini mengecek hal ini sebelum melakukan apa pun. Jika tidak lolos, script menolak dan menampilkan perintah persis untuk mengambil rilis yang lebih baru.
Software Update hanya menampilkan major terbaru
Dari macOS 15, System Settings hanya menawarkan macOS 27. Versi major yang lebih lama masih ada. Anda harus memintanya berdasarkan nama, dari command line.
$ 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
Daftarnya tergantung model, jadi jalankan di mesin yang bersangkutan. Di mesin kami hanya 27 yang ditawarkan. Jadi kami mengambil 27 dengan sengaja, bukan karena bawaan. Perbedaan itu penting di sebuah armada.
Sebelum memasang major baru di mesin armada
Setiap formula Homebrew yang kami pasang sudah punya bottle untuk rilis baru itu. Karena itu pendaftarannya memakan waktu seperti biasa, bukan satu sore mengompilasi Ruby.
Yang diverifikasi saat pendaftaran sebelum mesin dijual
Lolos cek versi adalah awal pekerjaan, bukan akhirnya. Sebelum mesin ditawarkan ke siapa pun, ia harus membuktikan empat hal. Masing-masing diukur, bukan diasumsikan.
- Desktop sungguhan. Klien VNC mengambil framebuffer dan menghitung warna. Lebih dari seratus ribu warna berbeda berarti desktop. Dua warna berarti layar hitam.
- Kompilasi sungguhan.
xcrun swiftcmembuat dan menjalankan binary sebagai akun pelanggan. - Sesi yang sudah login.
whomenampilkan baris console untuk akun pelanggan. - Telemetri mengalir. Hub melihat mesinnya, versi macOS-nya, dan sesinya di dashboard armada.
Mesin kami lulus keempatnya di macOS 27. Itulah alasan ia dijual, bukan nomor versinya.
Kepanikan yang ternyata bukan bug
Dua boot pertama setelah pendaftaran tidak auto-login. Di macOS major yang baru, itu terlihat seperti regresi, dan kami hampir menuliskannya sebagai regresi. Ternyata bukan.
Boot pertama sedang mengindeks Xcode 3.8 GB yang baru disalin, dengan load average di atas 160. Login tidak selesai tepat waktu, dan macOS mengatur lastLoginPanic di preferensi loginwindow. Flag itu membuatnya melewatkan auto-login di boot berikutnya juga. Menghapus flag itu lalu reboot di mesin yang sudah tenang berhasil. Password dan script-nya sama, baik dengan 8 maupun 32 karakter.
sudo defaults delete /Library/Preferences/com.apple.loginwindow lastLoginPanic sudo shutdown -r now
Yang membuktikan ini bukan karena OS baru adalah pembanding. Kami menjalankan perintah diagnostik yang sama di mesin sehat satu major di belakang, dan mendapat error yang sama. Cerita itu, dan empat cerita serupa, ada di cek yang tidak bisa gagal.
Yang perlu dicek saat membeli mini bekas
Tidak ada yang khusus untuk CI di sini. Ini yang sebaiknya dicek sebelum membayar Mac bekas apa pun. Kami hanya punya lebih banyak alasan untuk melakukannya dengan benar sejak awal. Karena mesinnya sampai ke pelanggan dalam satu jam.
Pertanyaan
- Bagaimana cara memasang versi macOS yang tidak muncul di Software Update?
- Jalankan softwareupdate --list-full-installers untuk melihat semua rilis yang ditawarkan Apple untuk model itu. Lalu jalankan softwareupdate --fetch-full-installer --full-installer-version 26.7 dengan versi yang Anda mau. Installer-nya masuk ke /Applications.
- Apakah Xcode 26.6 jalan di macOS 27?
- Ya. LSMinimumSystemVersion di Info.plist Xcode adalah 26.2, dan itu batas bawah, bukan versi yang dikunci. Xcode bisa dibuka dan membuat build di 27.
- Apakah sebaiknya saya langsung ambil macOS terbaru di mesin CI?
- Hanya jika disengaja. Satu unit di versi major yang berbeda dari armada lainnya merusak reproducibility bagi pelanggan CI. Pastikan dulu bottle Homebrew sudah tersedia untuk rilis baru itu. Kalau tidak, setiap instalasi dikompilasi dari source.
- Apa yang perlu dicek sebelum membeli Mac mini bekas?
- Serial dan model, RAM, ukuran disk sebenarnya, versi macOS, FileVault dan Activation Lock mati, Find My mati, dan tidak terdaftar di MDM. Punya kami dijual sebagai 500 GB, ternyata 256.
Hitung angka Anda sendiri dengan kalkulator atau sewa runner.