macOS-Sequoiaへ引っ越し – m4でUTM使って仮想マシン使う

m4シリーズでmacminiがやーっと発売になった。

久しぶりに物欲に襲われて、発売された当日にappleのサイトで予約販売でポチっとクリック。

発売日の午前中、荷物来た。

gvis-sequoia

去年からずーっと待ってたから長かったなぁ。
m3スキップしてm4になったからしゃあないか。

今年は配線も整理したから物理的な設置の分だけ手間が少しかかったし、仮想化の維持も想定と違って手間かかった。

結論(チョー速い)

とにかく起動も画面描画も速くなった。カクカクせんようになった。以下、macminiからwindowsとdockerのxrdpコンテナへのリモートデスクトップ接続。

gvis-sequoia

macmini本体の起動からマウス使い始めるまで20秒以内(実際もっと速く感じる)、仮想マシンの起動も同じぐらい。

去年までvmwareの中のmacでkubernetes(microk8s)動かしてたのを、仮想マシンの外に出してmacminiから直接起動に変更。

musicの曲データも親ホストのmacminiで維持するように変更。これでトホホな性能だった環境が改善された。

そのためにssd512GB・メモリ24GBにした。intelのときと違ってm4のチップには後付けでメモリ追加できんらしい。

⭐️印箇所を物理的に用意して、現行のsonomaからsequoiaへ移行アシスタントでデータ移す。

ただし、UTMはusbが使えんからiphoneのバックアップとmusicの8400曲はmacminiの中で扱う。

microk8sはbrewでインストールしなおして、linuxホストにtar.gzでスクリプトやらデータを保管してるから、コンテナの永続化領域は/dataへコピーしてきて利用。

+-macmini⭐️--------------------+
| +-utm----------------------+ |
| |  +-sequoia-------------+ | |
| |  |  vscode/cyberduck   | | |
| |  |  office/brew/rdp    | | |
| |  +---------------------+ | |
| +--------------------------+ |
|                              |
| +-music----------+           |
| | 8400(37GB)     |           |
| +----------------+           |
| +-microk8s-------+           |
| |                |           |
| +----------------+           |
| +-multipass-containerd-----+ |
| |  +-container-+           | |
| |  | kubernetes|           | |
| |  +-----------+ +-/data-+ | |
| |  +-container-+ |       | | |
| |  | Django    | |  d1   | | |
| |  +-----------+ +-------+ | |
| |  +-container-+ |       | | |
| |  | mariadb   | |  d2   | | |
| |  +-----------+ +-------+ | |
| |  +-container-+ |       | | |
| |  | xrdp-ubu24| |  d3   | | |
| |  +-----------+ +-------+ | |
| |  +-container-+ +-------+ | |
| |  | https     | |  d4   | | |
| |  +-----------+ +-------+ | |
| +--------------------------+ |
+------------------------------+

準備作業

配線の整理したり置き場作ったり、使うソフトウェアを書庫にダウンロードして準備もした。

物理的な準備

予約販売の注文する前、hdmiの分配器は元から使ってたけどusbの分配器がなかったから買っといた。

macminiのusbはタイプcしかないようになったから、本体への変換アダプタも足しといて、これで普段使ってるキーボードとマウスが使える。

予備のwindowsホストを売ってきて場所あけておき、電源コンセントとLAN線も刺せるように場所あけて配線キレイにしといた。

ついでにPCまわりとファンのホコリ全部除去したから年末の大掃除はやらんで済む。

梱包開いてから困ったことが1つ。

なんと、電源ボタンが前面でなく裏側についてる。

gvis-sequoia

なんで裏面やねん。

ガラストップのダイニングテーブルに置いて使うんやけど、ボタン押しにくい。

gvis-sequoia

製品のページ見ると、こんな画像解説があった。

gvis-sequoia

前面吸気で背面から熱逃すって言いたいんやろけど、底からやるんかいなぁ。

もー、めんどくさいなぁ。

しばらく考えて、熱逃がしやすくするのと電源ボタン押しやすくするために上げ底した。

gvis-sequoia

ガラスやから多少発熱してもこれで耐えれるやろ。

電源ボタンは押せるようになったけど、酒のアテ入れて使ってたガラス皿が1個使えんくなったやんけ・・・。

論理的な準備

別のlinuxホストでsamba動かしてるから、必要なソフトウェアをあらかじめ準備してファイルサーバに保管。

macos sequoiaのインストーラ作成

仮想マシンで動かすために用意したんやけど、vmwareやなくてUTM使うことにしたから結果として使わんかった。

sonomaのインストールでiso作ったときの方法をほぼそのまま同じことする。

去年のsonomaは4.51GBってソフトウェアアップデート画面にあったのが、今年のsequoiaは4.46GBってあるから、インストーラのサイズ指定は去年のと同じでええ。

やってみたときの様子はこんな感じ。

nari@gvis-mac ~ % hdiutil create -o /tmp/Sequoia -size 16G -volname Sequoia -layout SPUD -fs HFS+J
created: /tmp/Sequoia.dmg
nari@gvis-mac ~ % hdiutil attach /tmp/Sequoia.dmg -noverify -mountpoint /Volumes/Sequoia
/dev/disk2              Apple_partition_scheme          
/dev/disk2s1            Apple_partition_map             
/dev/disk2s2            Apple_HFS                       /Volumes/Sequoia
nari@gvis-mac ~ % sudo /Applications/Install\ macOS\ Sequoia.app/Contents/Resources/createinstallmedia --volume /Volumes/Sequoia --nointeraction
Erasing disk: 0%... 10%... 20%... 30%... 100%
Copying essential files...
Copying the macOS RecoveryOS...
Making disk bootable...
Copying to disk: 0%... 10%... 20%... 30%... 40%... 100%
Install media now available at "/Volumes/Install macOS Sequoia"
nari@gvis-mac ~ % hdiutil eject -force /Volumes/Install\ macOS\ Sequoia 
"disk2" ejected.
nari@gvis-mac ~ % hdiutil convert /tmp/Sequoia.dmg -format UDTO -o ~/Desktop/Sequoia
Driver Descriptor Map(DDM: 0)を読み込み中…
Apple(Apple_partition_map: 1)を読み込み中…
(Apple_Free: 2)を読み込み中…
disk image(Apple_HFS: 3)を読み込み中…
..................................................................................................
経過時間: 35.792s
速度: 457.7Mバイト/秒
節約率: 0.0%
created: /Users/nari/Desktop/Sequoia.cdr
nari@gvis-mac ~ % mv -v ~/Desktop/Sequoia.cdr ~/Desktop/Sequoia.iso 
/Users/nari/Desktop/Sequoia.cdr -> /Users/nari/Desktop/Sequoia.iso
nari@gvis-mac ~ % 

5分ほどでisoファイル完成。ファイルサーバに置いとこ。

仮想化でvmware使うときには必要なはずなんやけど、UTMでやるときはコレいらんねんな。

仮想化のための用意

vmware fusionの用意。

broadcomがvmware扱うようになったみたいで、いつものダウンロードで使ってた認証サイトがどっかいってしもた。

個人利用は無償になったらしいし、新サイトでアカウント作り直してダウンロードしとく。

VMware Fusion Pro: Now Available Free for Personal Use
VMware Desktop Hypervisor products Fusion and Workstation are used by millions of people every day to run virtual machin...

m4でもvmware動くんかなぁ。フリーズとかカーネルパニックとか発生しませんように。

って、インストールして動くのは動いたけど、やってみたらいきなりmacosがosの種類としてGUIから選べんかった。

サポートリストを見たら、ゲストOSの種類にsequoiaはあったんやけどなぁ。

くっそー、vmwareやめ。

USB使えんけど、前から気になってたutm使うことにする。

UTM
Securely run operating systems on your Mac

onyxの用意

テンポラリファイルとかをクリーンアップしてくれるソフトウェア。常用してるから準備対象。

Titanium Software | Operating System Utilities for Mac - OnyX
OnyX is a multifunction utility that you can use to verify the startup disk and the structure of its system files; run c...

前から思てるんやけど、ずっと使わせてもらってるからお金払いたい。

でも「寄付」って方法でクレジット情報入力するのは怖いからできん。

AppStoreとかで扱ってくれよな。

kensigntonのドライバ

これないとマウスがうまいこと動かんはず。丸い玉を転がして使う。

好みのボタンの利用レイアウト設定に必要。

Kensingtonカスタマイゼーションツール
KensingtonWorks™は、Kensington🄬トラックボール、マウスやプレゼンターを自分仕様にカスタマイズできるソフトウェアです。

その他

宅内LANのIPアドレスとか、dnsとか目視して再確認しとく。

箱あけて使い始める

こんな感じね。

gvis-sequoia

音楽データだけをまずは引っ越し

iphoneで音楽聞くためにミュージックだけ転送。

gvis-sequoia

たまたまやけど、ちょうど8400曲。30分ぐらいかかる。

ホンマは仮想マシンの中で維持したかったけど、UTM使うことにしたらUSB使えへんことに気づいたから、仮想マシンやなくて親ホストのmacminiで維持することにした。

gvis-sequoia

きっちり8400曲入った。

gvis-sequoia

どの曲でもええから、曲詳細見て崩れてへんか確認。

もちろん耳で音も聞く。

gvis-sequoia

FF6に出てくるセッツァーのテーマ曲、疾走感あってええなぁ。
windows側にもホームシェアで提供できてるのを確認。

gvis-sequoia

他にも目視と耳でプレイリストが維持できてることも確認した。

音楽データだけ移したつもりやったけど、エイリアス設定ができてるんやな。

gvis-sequoia

たぶんユーザフォルダの中にある.zshrc転送してくれたんやな。
まぁ困らんからええか。

なんでかgitのモジュールも来てるけど、brewはどっかいってるなぁ。

intelからm4への引っ越しやからプログラム類は使えんと思とかなアカン。

G3のmacbookをintelのmacminiに移した時もおんなじようなことあったかなぁ。

brewでパッケージ管理

試行錯誤したからちょっと曖昧やけど、brewのありかを見つけた。

そしたら最初こんなん出た。「CPUのタイプ違うぞコラァ|って怒られた。

/usr/local/Homebrew/Library/Homebrew/brew.sh: line 1024: /usr/local/Homebrew/Library/Homebrew/vendor/portable-ruby/current/bin/ruby: Bad CPU type in executable
/usr/local/Homebrew/Library/Homebrew/brew.sh: line 1024: /usr/local/Homebrew/Library/Homebrew/vendor/portable-ruby/current/bin/ruby: Undefined error: 0
Error: 'git' must be installed and in your PATH!
/usr/local/Homebrew/Library/Homebrew/brew.sh: line 1024: /usr/local/Homebrew/Library/Homebrew/vendor/portable-ruby/current/bin/ruby: Bad CPU type in executable
/usr/local/Homebrew/Library/Homebrew/brew.sh: line 1024: /usr/local/Homebrew/Library/Homebrew/vendor/portable-ruby/current/bin/ruby: Undefined error: 0

brew入れ直したらええんやけど、たぶん導入してたの全部入れ直しやな。

扱い方を書いておられる方がおられたので参考にさせてもらった。作者さんありがとう。

入れ直し開始。

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/uninstall.sh)"
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

手動でbrewパッケージ入れ直し完了できた。導入してるモジュールのリストを残してるから手動ですぐに入る。

これでmicrok8s入れられるようになったはず。

nari@gvis-mac script % brew list 
==> Formulae
ca-certificates    glances     libunistring    nmap        python@3.13 tree
gettext        liblinear   lua     openssl@3   readline    xz
git        libssh2     mpdecimal   pcre2       sqlite

==> Casks
nari@gvis-mac script % 

onyxでいつもキレイ

システムを含んで、ファイル類のクリーンアップに常用。

macOSのベータ版の後、本家がリリースされたら2週間で毎年使えるようになることが多い。

gvis-sequoia

もちろんちゃんと動いた。

仮想マシン環境の用意

OS壊して実験的なことをやりたいときに使う環境。

毎年の流れやとvmware使うんやけど、せっかく新しい機械使うんやし、前から挑戦してみたかったUTM使ってみる。

というか、vmware fusion使おうとしたらインストールOSにmacOS選べんかったしな。

UTMはちゃんとmacOS選べるで。

gvis-sequoia

CPUコア数とメモリとディスクサイズを指定して仮想マシン作ってみる。

gvis-sequoia

用意しといたISOファイルをマウントしたんやけど、UTMには要らんらしい。

gvis-sequoia

vmware使ってるときの発想やとOSインストール必要って思うんやけど、UTMの場合はipswってのを使うらしい。

解説してる方がおられた。作者さんありがとう。

IPSWとは、IPSWの作用、保存場所 - Tenorshare
IPSWファイルはiOSファームウェアとも呼ばれます。iOSデバイスの復元に不可欠なファイルです。本記事はIPSWとは、IPSWの保存場所やIPSWのダウンロードやIPSWを使ってiOSをダウングレート、復元するなどを紹介します。

iosのための仕組みみたいやけど、UTMではmacos稼働ホスト用意できるらしい。

仮想マシン作って右クリックすると、Finderに表示させることで保存先を特定できる。

gvis-sequoia

どんなファイル入ってるんかなって見たら、ディスク作成したときのサイズの.imgファイルができてるんやな。

gvis-sequoia

見た目は100GBってあるけど、tar/zipで圧縮すると実際のサイズまで縮んでくれるし、du -shc *とかしたら実際のサイズが見える。

仮想マシンをバックアップしたいときにはええことやね。

作った仮想マシンを起動してみると、さっきのipswをどこかから取ってきてmacOS使えるようにしてくれる。

gvis-sequoia

ここまで5分ぐらいしかかからんかった。
去年どっかで見たscary fastってこういう感じのことも言うてるんかも。

gvis-sequoia

練習で最初は100GBのディスクにしたけど、いったん150GBにして移行することにしよ。

sequoiaに魂入れる

データ転送行ってみよか。

gvis-sequoia

音楽データは仮想マシンでは扱わないようにしたから、転送するデータ量は減ったはず。

途中でフリーズしたみたいに見える瞬間があってアセった。

gvis-sequoia

ドキュメントとかアプリケーションあるから1時間ぐらいはかかった。

gvis-sequoia

microk8sのqemuマシン削除せずにやったから時間かかったんかもな。
終わってから消しといた。

$ sudo rm -fR /var/root/Library/Application\ Support/multipassd

アプリケーションの動作確認

リカバリすること前提やから、いきなり確認はせんのよ。

UTMのイメージ維持の確認

アプリとかデータの確認する前に、仮想マシンに魂入れ終わった状態でバックアップとる。

勇気を出して作った仮想マシンを削除し、リストアしたものを動作確認してくことで、仮想マシンの維持ができることがわかる。

システムが吹っ飛ぶような検証作業しても巻き戻せる。

まずは削除。

gvis-sequoia

linuxホストへバックアップしておいたzipファイルはおよそ100GB。

ディスク置き場に余裕のあるlinuxホストで展開する。

gvis-sequoia

zipの時間と同じぐらいunzipも時間かかるけど、30分強ぐらいか。

展開したものをmacmini側からsmbマウントして確認。

おお、展開できとるやん。

gvis-sequoia

gvis-sequoia.utmは単一ファイルやなくて実際はフォルダ。

これを、さっき確認したUTMのイメージ保管フォルダへコピーする。

nari@nariMac-mini Documents % pwd 
/Users/nari/Library/Containers/com.utmapp.UTM/Data/Documents
nari@nariMac-mini Documents % cp -pR /Volumes/nari/nariHTTP/temp/Users/nari/Library/Containers/com.utmapp.UTM/Data/Documents/gvis-sequoia.utm ./

コピー終わったらスンナリ起動できた。

gvis-sequoia

brewのパッケージもちゃんと蘇ってた。

gvis-sequoia

続いて転送データも含んで動作確認してみよか。

vscode

バックアップ取る前、練習でmsのサイトにあるzipをダウンロードしてアプリケーションフォルダにドラッグして動かそうとしたんやけど、なぜかエラーになって起動できんかった。

ドラッグだけで済むからシンプルでええねんけど、困ったなぁ。

vscodeの設定フォルダとか完全に抹消してみてもアカンかった。

そういえばbrewはGUIアプリもインストールできたはず。brewでパッケージ名探したらあるやん!!

visual-studio-code
Homebrew’s package index

仕方ないからbrew使ってインストールしたら動いた。

gvis-sequoia

プラグインも普段使うもの決まってるしメモあるからすぐに戻せた。

ちゃんとgitgraphも見えてるから、データ維持できとる。

gvis-sequoia

gitの履歴とか入ったデータフォルダは小さなファイルとか入ってるし、gitgraphで前にいじったブランチの情報が見えるってことはキチっとデータが復元できてるって考えてええはず。

officeの利用

昔作ったexcelとか見れるか。
office365はライセンス認証やり直したらちゃんと動く。

gvis-sequoia

なぜかintelからm4へ引っ越したのにちゃんと動くんやな。

どこまでも電波飛ばしてくるNHKみたいな粘着力でofficeも動いた。

power pointとかwordは自前文書がないから、そのうち確認してこ。

リモートデスクトップ – rdp

前はこんなアイコンのを使ってて、移行アシスタントで引っ越したあとそのまま使おうとしたら、最初接続できんかった。

gvis-sequoia

リモートデスクトップは刷新されるってどっかで見た覚えがあるなぁ。

アプリケーションのフォルダからいったん削除してみて、入ったのかこんなん。

gvis-sequoia

windows appっていう抽象的な名前になってて、リモートデスクトップ以外の用途にもなるんかな。

UTMの仮想マシンからも、macminiからもつながるようになった。

windowsでもlinuxのxrdpコンテナでもつながるやん。

gvis-sequoia

母艦のwindowsホストとmacminiで、画面切り替え機とUSB切り替え機接続して使うことにしたんやけど、結局はmacmini側からrdpしてwindowsも操作することにした。

gvis-sequoia

グラボを使ってsteamでゲームするときだけ、切り替えよっと。

ssh

macの中にあるターミナルでコマンドラインを使うには、フルディスクアクセスの権限を設定しとかなアカンのは覚えてたんやけど、windows側のtera termから接続したときにコマンドが使えんかった。

sequoiaのシステム設定の中にリモートログインってのがあって、フルディスクアクアセスの許可設定が別にあるんよ。

gvis-sequoia

設定なかなか思い出せんかった。

リモートユーザのフルディスクアクセスを許可しとかんと、teratermで接続できても、コマンド実行に制限がつく。

これでwindows側からmacminiに接続するtera termのマクロ書いとく。

include 'Y:_connect\connect\teraIni\gvis.ini'

; --- 接続 --------------
 conSTR = '192.168.1.35 /ssh /2 /auth=password /user=nari /passwd='
 strconcat conSTR gvis_macP
 strconcat conSTR ' /F='
 strconcat conSTR gvis_iPTH
 strconcat conSTR 'gray.INI '
 strconcat conSTR '/timeout='
 strconcat conSTR gvis_TOUT

; ---debug --------------
; messagebox conSTR 'info'

 connect conSTR
 if result <> 2 goto end

wait gvis_wS7
sendln "df -ahY"

wait gvis_wS7
sendln "w"

普通に繋がるんやけど、macのdf結果って見づらいなぁ。結局なんぼディスク使えるかが直感的にわからん。

gvis-sequoia

仮想マシン用のは前からマクロあるから、それも繋がるか確認。

gvis-sequoia

なんか、わけわからんマウントポイントがあるけど、また今度調べよっと。

cyberduckでクラウドのディスク参照

googleのドライブ接続してデータを維持しているのを、接続して使えるかどうか。

gvis-sequoia

キラキラ星の譜面ちゃんと見えるで。
6番目の変奏が自分は一番好き。

このアプリのおかげで、google cloudの中で動いてるコンテナの永続化領域を持って来れる。

負荷の具合

macosにはアクティビティモニタってのがあるんやけど、windowsみたいにCPUコアごとの利用率がわかるわけやないし、GPUとかニューラルエンジンの混み具合が視覚化されてるわけやない。

brewのパッケージにglancesってのがあって、pythonで動くシステムモニタも全部のコアは見せてくれへんかった。

gvis-sequoia

なんか視覚化できるものあるんかな。

日本語キーボード配列で使う

macminiは大丈夫なんやけど、UTMの中の仮想macosではキーボード配列がどうしても英語版になってまう。

カッコとかダブルクオートのキー位置がちゃうから記号類が入力やりにくい。

キーボード設定の画面で「キーボードの種類を変える」のボタンがあらへんのと、実行モジュール特定してキーボードアシスタントをコマンドラインから起動しようとしても動かんかった。

ちょっと調べるとKarabiner-Elementsってのを使ってJIS配列選ぶと日本語配列にできそうな感じ。

UTMの中のsequoiaにダウンロードしてインストールしたら、システム設定でログイン項目とバックグラウンド系の許可設定を付与して拡張機能を有効にした。

キーボードビューアで見ると配列が日本語になってるのがわかる。

gvis-sequoia

何を有効にするかはkarabinerが教えてくれるから、その通りにやればええ。

英語でのナビゲートやけど、なんとなく読めるからすぐに設定できる。

って、キーボードビューアにはバックスペースキーの左に「|」と「¥」が見えるけど、入力できんことに気づく。円マークはバックスラッシュな。

円マークはあんまり使わんけど、縦棒がないとps -ef | grep xxとかできへんようになる。キーのアサイン変えたろ。

ほとんど使わんキーやったら「無変換」とか「変換」って使いたかったんやけど、Karabiner-Elementsは反応してくれんかった。

他にも使わんPauseキーとかSclkとかやってみたけど、反応してくれへん。

あんまり使わんF5キーでええかな。キー押しながら、何て言う定義で「|」と「¥」が表示されるか確認したら「international3」でできるみたい。

gvis-sequoia

ターミナルの画面で入力できるか試したらできた。

gvis-sequoia

F5キー使う瞬間があったらキーあさいん変更したらええけど、めんどくさ。

残念なこと

どうしても解決できん問題が1つ残った。

UTMで動くsequoiaのapple id設定とicloud利用設定はできた。

けど、app storeとmusicのアカウント認証が通らん。

musicは最悪の場合はmacminiで音出したらええけど、前から思ってたcyberduckのappstoreからの購入ができん。
購入せんでもデータ移行アシスタントのおかげで今は使えてるけど残念。

悔しいけど使いながら調べよか。

apple virtualizationの制限でsequoia以前はicloudとかも使えんかったみたい。

ここまで書いて、macminiでのkuberntes(microk8s)はまた来週に書くつもりやったんやけど、軽く練習でmicrok8s動かしてみたらmultipass経由で作るlinuxノードがx86で作れん!!

m4やから、当たり前っていうたら当たり前なんかなぁ。uname -aとかやった答えがaarm64って戻ってくる。

UTMのギャラリーページ見たらarmやなくてx86のubuntuあったから、なんとなくmultipassでそのまま動かせそうな気がしてただけで、自分の確認ミス。

macとは完全に切り離してkubernetes考えなおすか。

タイトルとURLをコピーしました