🐡

Mac Mini  M4 (16 GB) を CUI‑Only サーバー化 ― 実行優先度順の最小構成手順

に公開

Mac mini M4 (16 GB) → CUI‑only サーバー化 ― 実行優先度順の最小構成手順(リスト形式)

前提

  • macOS 13(Ventura)以降
  • すべてのコマンドは root で実行
  • 変更前に必ずバックアップ
  • 再起動で設定を反映

① ユーザー・セキュリティ設定(初期化)

  1. 専用管理アカウント作成

    sudo dscl . -create /Users/serveradmin
    sudo dscl . -create /Users/serveradmin UserShell /bin/bash
    sudo dscl . -create /Users/serveradmin RealName "Server Admin"
    sudo dscl . -create /Users/serveradmin UniqueID "$(dscl . -list /Users UniqueID | awk '{print $2}' | sort -nr | head -1 | awk '{print $1+1}')"
    sudo dscl . -create /Users/serveradmin PrimaryGroupID 80
    sudo dscl . -create /Users/serveradmin NFSHomeDirectory /Users/serveradmin
    sudo dscl . -passwd /Users/serveradmin <password>
    

    GUI なし専用ユーザーを作成し管理権限を持たせる。

  2. rootログイン有効化(必要なら)

    sudo systemsetup -setrootlogin on
    
  3. ログイン画面を最小化

    # macOS のログインウィンドウに表示されるユーザー一覧を非表示にする
    sudo defaults write /Library/Preferences/com.apple.loginwindow DisableUserList -bool true
    # ゲストアカウントを無効にする(ゲストでログインできなくなる)
    sudo defaults write /Library/Preferences/com.apple.loginwindow GuestEnabled -bool false
    
  4. SSH(リモートログイン)を有効化

    sudo systemsetup -setremotelogin on
    sudo launchctl enable system/com.openssh.sshd
    

② GUI/デスクトップ環境の完全停止(最重要)

  1. Finder・Dock・UIAgentを停止

    # Finder アプリ本体(デスクトップ上のアイコン、ファイルブラウズ)の起動を禁止する
    sudo launchctl disable user/$(id -u)/com.apple.Finder
    # Dock(アプリ起動アイコン、ウィンドウ管理)の起動を禁止する
    sudo launchctl disable user/$(id -u)/com.apple.Dock
    # システム全体の UI で必要なサービス(Apple メニュー、メニューバーの一部、Spotlight など)の起動を禁止する
    sudo launchctl disable user/$(id -u)/com.apple.coreservices.uiagent
    
  2. 画面共有(VNC)を無効化

    sudo launchctl bootout system/com.apple.screensharing
    sudo launchctl disable system/com.apple.screensharing
    
  3. AirPlay・AirDrop(シェアリング)を停止

    sudo launchctl bootout system/com.apple.airplayd
    sudo launchctl bootout system/com.apple.sharingd
    
  4. Bluetooth Audio を停止

    sudo launchctl bootout system/com.apple.BluetoothAudioAgent
    

③ ハードウェア・無線機能の停止

  1. Bluetooth を停止

    sudo launchctl bootout system/com.apple.blued
    sudo launchctl disable system/com.apple.blued
    
  2. Wi‑Fi をオフ

    sudo networksetup -setairportpower en0 off
    sudo launchctl bootout system/com.apple.airportd
    
  3. Spotlight インデックスを停止

    sudo mdutil -a -i off
    
  4. Time Machine を無効化

    sudo tmutil disable
    

④ Apple 連携サービスの停止

  1. iCloud / CloudKit を停止

    sudo defaults write /Library/Preferences/com.apple.cloudkit CloudKitSyncEnabled -bool false
    
  2. Apple Push Service を停止

    sudo launchctl bootout system/com.apple.ApplePushService
    sudo launchctl disable system/com.apple.ApplePushService
    
  3. AFP / SMB ファイル共有を停止

    sudo launchctl bootout system/com.apple.AppleFileServer
    sudo launchctl disable system/com.apple.AppleFileServer
    
  4. 自動アップデートチェックを止める

    sudo defaults write /Library/Preferences/com.apple.SoftwareUpdate AutomaticCheckEnabled -bool false
    

⑤ プリインストールアプリケーションの削除

  • Finderから以下のアプリをゴミ箱に入れるか、sudo rm -rf で削除する。
    sudo rm -rf /Applications/Numbers.app
    sudo rm -rf /Applications/Pages.app
    sudo rm -rf /Applications/Keynote.app
    sudo rm -rf /Applications/GarageBand.app
    sudo rm -rf /Applications/iMovie.app
    

⑥ 電源管理・ログ最適化

  1. スリープを無効化

    sudo pmset -a sleep 0 disablesleep 1
    
  2. ハイバネーションをオフ

    sudo pmset -a hibernatemode 0
    
  3. 時刻同期(NTP)

    sudo systemsetup -setusingnetworktime on
    sudo launchctl enable system/com.apple.timed
    

⑦ 最終チェック

  1. 再起動

    sudo shutdown -r now
    
  2. SSH 接続確認

    ssh serveradmin@<macmini-ip>
    
  3. GUI プロセスが起動していないか確認

    ps aux | grep -E 'Finder|Dock|MenuBar|Spotlight'
    
  4. サービスリスト確認

    launchctl list | grep -v com.apple
    

備考

  • サービス名が分からない場合は launchctl list | grep <名前> で確認し、無ければスキップ。
  • macOS バージョンによりサービス名やインターフェイス名が変わることがあります。

これで「CUI‑only」状態に近づき、不要なリソースをほぼ全て解放できます。必要に応じて追加・削除してください。

Discussion