← ブログ

macOSが2世代古いまま届いた中古Mac miniをフリートに登録する

2026年9月20日 · 7分で読めます

マシン自体は問題ありませんでした。メモリ16 GB、Apple M4、きれいに消去済み。ただしmacOSは15.6.1で、当社がすべてのお客様に提供しているXcodeは26.2未満では起動しません。その見分け方と、アップグレードのわかりにくい部分を説明します。最後に、中古のMacにお金を払う前に今は必ず確認している項目を載せています。

最小バージョンはXcode自身から読む

リリースノートから推測しないでください。Xcodeは自分のプロパティリストに下限を書いています。

$ /usr/libexec/PlistBuddy -c "Print :LSMinimumSystemVersion" \
    /Applications/Xcode.app/Contents/Info.plist
26.2

それより古いマシンは、登録は問題なく通り、お客様の最初のビルドで失敗します。現在、当社の登録スクリプトは何よりも先にこれを確認します。満たさない場合は登録を拒否し、新しいリリースを取得するための正確なコマンドを表示します。

ソフトウェアアップデートは最新のメジャーバージョンしか表示しない

macOS 15から開いたシステム設定は、macOS 27だけを提示しました。古いメジャーバージョンもまだ存在しています。コマンドラインから名前を指定して要求する必要があるのです。

$ 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

一覧はモデルによって違うので、対象のマシンで実行してください。当社のマシンでは27しか提示されなかったので、成り行きではなく意図して27を選びました。フリートでは、この違いが重要です。

フリートのマシンに新しいメジャーバージョンを入れる前に

当社がインストールするHomebrewのformulaには、どれもすでに新しいリリース向けのbottleがありました。そのため、Rubyのコンパイルで午後を潰すこともなく、登録はいつもどおりの時間で終わりました。

販売前に登録処理が検証すること

バージョンの確認に通るのは、作業の始まりであって終わりではありません。マシンを誰かに提供する前に、4つのことを証明する必要があります。どれも推測ではなく、測定で確かめます。

  • 本物のデスクトップ。VNCクライアントがフレームバッファを取得し、色の数を数えます。10万色を超えればデスクトップです。2色なら真っ黒な画面です。
  • 実際のコンパイル。xcrun swiftcで、顧客アカウントとしてバイナリをビルドし、実行します。
  • ログイン済みのセッション。whoに、顧客アカウントのconsoleの行が表示されます。
  • テレメトリが届いていること。ハブのフリートダッシュボードで、マシン、そのmacOSのバージョン、セッションが確認できます。

当社のマシンは、macOS 27でこの4つすべてに合格しました。販売しているのはそのためです。バージョン番号が理由ではありません。

バグではなかった騒ぎ

登録後の最初の2回の起動で、自動ログインが効きませんでした。出たばかりのmacOSメジャーバージョンでは、これはリグレッションに見えます。危うくそう報告するところでした。実際はそうではありませんでした。

最初の起動では、コピーしたばかりの3.8 GBのXcodeのインデックス作成が走り、ロードアベレージは160を超えていました。ログインが時間内に完了せず、macOSはloginwindowの設定にlastLoginPanicをセットしました。このフラグがあると、次の起動でも自動ログインをスキップします。負荷が落ち着いたマシンでこのフラグを消して再起動すると、うまくいきました。パスワードもスクリプトも同じで、8文字でも32文字でも動きました。

sudo defaults delete /Library/Preferences/com.apple.loginwindow lastLoginPanic
sudo shutdown -r now

新しいOSのせいではないと証明したのは、対照実験でした。1つ前のメジャーバージョンを入れた正常なマシンで同じ診断コマンドを実行すると、同じエラーが出たのです。この話と、似たような4つの話は失敗しようがない確認処理に書きました。

中古のminiを買うときに確認すること

どれもCIに限った話ではありません。どんな中古のMacでも、お金を払う前に確認すべきことです。当社には、最初から正しく確認する理由がほかより多いだけです。マシンは1時間以内にお客様の手に渡るからです。

よくある質問

ソフトウェアアップデートに表示されないmacOSのバージョンをインストールするには?
softwareupdate --list-full-installers を実行すると、そのモデル向けにAppleが提供しているリリースがすべて表示されます。次に softwareupdate --fetch-full-installer --full-installer-version 26.7 を、必要なバージョンを指定して実行します。インストーラは/Applicationsに置かれます。
Xcode 26.6はmacOS 27で動きますか?
動きます。XcodeのInfo.plistにあるLSMinimumSystemVersionは26.2ですが、これは下限であって固定ではありません。27でも起動し、ビルドもできます。
CI用のマシンには、とにかく最新のmacOSを入れればよいですか?
意図して選ぶ場合だけにしてください。フリートの中で1台だけメジャーバージョンが違うと、CIのお客様にとって再現性が損なわれます。まず新しいリリース向けのHomebrewのbottleがあるか確認してください。ないと、すべてのインストールがソースからのコンパイルになります。
中古のMac miniを買う前に何を確認すべきですか?
シリアル番号とモデル、メモリ、実際のディスク容量、macOSのバージョンです。さらに、FileVaultとアクティベーションロックがオフであること、「探す」がオフであること、MDMに登録されていないことも確認します。当社が買ったものは500 GBとして売られていましたが、実際は256でした。

自分の数字で試すなら 計算ツール へ。または ランナーを契約する。