支援 mac、iPhone、iPad,iPad終於可以寫code了!
為何要用虛擬機?
對於現在開發人員來說,客戶需求、應用程式甚至到第三方,會被侷限在特定的硬體、OS(作業系統)。
或許正式環境可以用$解決,但大多數的情形,應該也是只有一台硬體跟自己想辦法測試,那用虛擬機去模擬測試也是一個不錯的選擇。
Mac上使用虛擬機,有以下選擇:
- Parallels Desktop,付費、Windows支援度好
- Virtual Box,免費、Apple Silicon還在開發版本(2023/05/29)
- UTM,免費、本身支援Apple Silicon,連手持裝置都可以
為何選擇UTM?
主要原因,電腦為macbook pro M1,在嘗試使用Virtaul Box過程中,有發生幾次錯誤與閃退,以及開發上要三台ubuntu,練習kubenetes的基本安裝,最終選擇使用UTM。
當然還是要依照自己的資源與需求挑選適合的,甚至走GCP、AWS、Azure等雲端都是可以的選項,但,就是想先從免費的試看看。
安裝UTM
- UTM Mac 官網,直接點選Download下載即可。
- Mac App Store,付費,與直接下載的功能一樣,會自動更新外,也是支持團隊喝杯咖啡。
下載完成後,直接點選並將UTM icon 拖到 Applications資料夾中:
在應用程式中開啟,因為是外部下載的App,系統會再去認是否開啟:
完成之後會看到UTM的介面,代表安裝完成!
安裝Ubuntu
UTM在官方文件中,有多種系統的安裝教學,點擊 “瀏覽 UTM 資源庫”,可以看到可使用的列表,這邊選擇 Ubuntu 20.04 (arm64)-> Guide,就可以看到教學。
這邊會發現,資源庫跟教學的Ubuntu版號不同,依照教學的最新版號就可以了。
Ubuntu是每半年發布一次版本(一年兩次),所以22.04就是2022年上半的版本,下一個版本就會是22.10,以此類推,如果出現其他版本號,也可以注意看是否是官方的。
另外會看到大概每兩年有一版會有LTS版本(長期支援版本),支援會比一般版本在久一點,通常是為了企業能更穩定的使用。
接續教學文件,這邊選擇Ubuntu Server for ARM版本下載ios檔,不選擇DeskTop版本,因為需求為虛擬伺服器主機,沒有特別要GUI介面操作,盡量降低資源為主。
下載完成後,在UTM中點 “建立新虛擬機”,另外我們電腦與下載的ubuntu版本是ARM版本,可以選擇”虛擬化”較有完整的效能。
選擇Linux
選擇”瀏覽”找到剛剛下載的iso檔,加入後選下一步
再來調整這台模擬主機的資源,包含RAM、CPU,如果電腦硬體規格較低,可以將RAM調整到2G、CPU兩顆就好
硬碟空間建議至少20GB,先已安裝完成開啟就好
共享資料功能後續有需求,在參考教學開啟就好,現階段可以先下一步
最後定義這台主機的名稱,按下儲存就好
看到以下畫面,代表機器的設定檔完成,但還需要調整網路設定,點下右上角的選項,調整網路設定。
將網路模式切換到 “橋接模式”並按下儲存,這樣你的虛擬機才能透過自己的主機網路,連至外部網路,避免後續要更新或安裝時,無法連接至網路。
按下執行,會開始讀取iso檔案,出現畫面後選擇 Install Ubuntu Server
語系選擇依照需求調整,按下Enter
鍵盤設定依照需求調整,按下Enter
維持預設就好,按下Enter
網路會自動抓取,按下Enter
Configure proxy預設,按下Enter
Configure Ubuntu archive mirror預設,按下Enter
空間分割設定,以後安裝時也可以自訂空間分割,按下Enter
空間設定調整,可以不更動,按下Enter
設定使用者與主機名稱,可以依照自己的喜好設定,按下Enter
略過升級,按下Enter
是否安裝SSH,看個人需求,可以之後SSH登入操作虛擬機,按下Enter
額外安裝套件,也是看需求選擇,移動到Done,按下Enter進入安裝
安裝過程看資源大小與網路快慢,時間不一定讓他跑就可以了
安裝完成後,選擇 Reboot Now 重啟虛擬機
但這時候會發現一直卡在黑畫面很久,不是安裝失敗,記得剛剛設定虛擬機有預設掛載iso檔,所以重啟的時候會讀取iso檔卡住,這時候直接點擊虛擬機關閉,並清除iso檔後,重新啟動
重啟後會看到登入使用者介面,輸入剛剛自行設定的使用者名稱,在輸入密碼後,可以成功登入Ubuntu,也代表虛擬機已安裝完成!
後記
當初花費一天才安裝好一台,同時也要了解虛擬裝置設定與不同作業系統安裝的眉眉角角,一步一步也採了一些坑,補了一些知識。
而UTM操作直覺、方便、快速,但與Virtual Box是差不多的,可以選自己硬體相容性較好的就可以。
另外官網也有提到,目前還不支援GPU的虛擬化,就算裝了Windows的虛擬機,跑遊戲部分應該會遇到很多問題。