[心得] iPad UTM安裝Linux虛擬機跑Docker

看板MobileComm (行動通訊)作者 (內容農場殺手)時間1周前 (2024/09/04 10:02), 1周前編輯推噓20(2008)
留言28則, 23人參與, 1周前最新討論串1/1
分享如何在iPad善用UTM跑Linux虛擬機,執行Docker服務,並介紹外部SSH連線,以及UTM 與iOS共享資料夾的方法。 板上已經有大大分享過許多UTM的使者用報告,惟其多專注在Windows虛擬機方面,本篇我 將討論UTM搭配Linux虛擬機的用途。 緣由 UTM為基於QEMU開發的開源虛擬機軟體,提供macOS與iOS版本。UTM有在App Store上架, 該版本稱作「UTM SE」,不需要AltStore側載也不用越獄就能用,但缺點就是非常的慢。 iOS沒有越獄就無法使用Hypervisor,虛擬機執行效率十分低落。這導致UTM裝圖形介面完 全沒有實用性,宛如東南苦行山。即使是最輕量的Alpine Linux,開機到進XFCE4桌面10 分鐘,開啟Firefox一個YouTube網頁10分鐘還跑不出來...就算你的iPad處理器再強也沒 有多大用處。 https://i.imgur.com/JGVCgBe.jpg
不過,UTM跑純文字Linux虛擬機倒還湊合,每個指令的回應速度約5秒,所以是能夠跑一 些純文字工具的,例如ffmpeg(批次轉檔影片)、ImageMagick(批次轉檔照片)、 NodeJS、Python-pip、Rust,還有Docker服務。 只要設定資料夾共享,就能把iOS的檔案丟到虛擬機處理再取出來。 左邊是虛擬機內部的檔案管理員,右邊為iPad的檔案APP,共享資料夾的檔案會同步。 https://i.imgur.com/0xKafW0.jpg
此外,UTM的虛擬機可作為另一個APP「iSH Shell」的替代品。iSH Shell模擬了一個x86 的Alpine Linux環境,雖然啟動速度很快,但它是32位元又有一堆Bad System Call的bug ,故透過UTM安裝Linux虛擬機可獲得更完整的Linux環境,起碼QEMU對x86指令的支援度要 比iSH Shell好多了。 環境 - iPad Air 6 M2 - RAM 8GB - UTM SE 4.5.4 - Alpine Linux 3.20 安裝Alpine Linux 選用Alpine Linux是因為它體積小,開機速度快,約20分鐘就能完成系統安裝。如果要裝 Ubuntu Server也是可以啦,但是安裝時間較長。 1. 下載x86_64版本映像檔 https://alpinelinux.org/downloads/ 2. 安裝UTM APP,新增Linux虛擬機。RAM至少512MB,儲存空間至少8GB,CPU至少分配2核 心。 https://apps.apple.com/tw/app/utm-se-retro-pc-emulator/id1564628856 3. 將虛擬機開機,執行seupt-alpine指令稿,依照指示完成系統安裝。 4. 這樣就能跑Docker了: sudo apk add docker docker-cli-compose sudo addgroup $USER docker sudo rc-update add docker sudo rc-service docker start https://i.imgur.com/W5Evcm9.jpg
設定外部SSH存取 iSH Shell的終端機界面方便我們複製文字執行指令。 UTM虛擬機預設網路無法從外部存取。編輯Alpine Linux虛擬機網路設定,新增通訊埠轉 送,把虛擬機內部的22通訊埠導向localhost的2022通訊埠,這樣虛擬機的SSH服務才能從 外部連線。 https://i.imgur.com/ybyhBWY.jpg
UTM放在後台容易被iOS系統中止。如果是iPad的話使用「滑動置前」或「幕前調度」開啟 iSH Shell視窗即可保證兩個APP不會被系統中止。在iSH Shell的視窗,輸入ssh user@localhost -p 2022指令登入。 https://i.imgur.com/iQP25z7.jpg
iOS與UTM虛擬機共享資料夾 編輯UTM虛擬機,到共享資料夾啟用VirtFS (9Pfs),掛載iOS的「下載」資料夾給虛擬機 存取。 https://i.imgur.com/dISOutC.jpg
然後在虛擬機內執行指令,掛載iOS的資料夾: sudo mount share -t 9p /mnt -- 原創梗圖系列 https://i.imgur.com/Y10Cw4n.jpg
https://i.imgur.com/FqRAWTs.jpg
https://i.imgur.com/Y1pYVqm.png
https://i.imgur.com/UKvi40X.png
https://i.imgur.com/PdAKXa0.png
-- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.39.126.122 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/MobileComm/M.1725415328.A.537.html

09/04 10:15, 1周前 , 1F
推企鵝
09/04 10:15, 1F

09/04 10:17, 1周前 , 2F
JIT 開下去 UTM 速度快七到八倍,但是如果沒有漏洞
09/04 10:17, 2F

09/04 10:17, 1周前 , 3F
的情況下非常不實用,因為 app 划掉關掉之後就要重
09/04 10:17, 3F

09/04 10:17, 1周前 , 4F
新接電腦啟動 JIT,所以研究 SE 還是有用途在的
09/04 10:17, 4F
尤其iOS 17後啟動JIT的步驟麻煩得要命

09/04 10:47, 1周前 , 5F
原po這系列文章值得精華區收藏
09/04 10:47, 5F

09/04 11:41, 1周前 , 6F
這個太強了 很多東西可以從這篇延伸去搞
09/04 11:41, 6F

09/04 11:59, 1周前 , 7F
推 有趣、實用
09/04 11:59, 7F

09/04 12:06, 1周前 , 8F
硬核
09/04 12:06, 8F

09/04 12:45, 1周前 , 9F
09/04 12:45, 9F

09/04 13:05, 1周前 , 10F
可以跑docker 耶
09/04 13:05, 10F

09/04 13:14, 1周前 , 11F
09/04 13:14, 11F

09/04 13:36, 1周前 , 12F
推教學,雖然我不是用蘋果
09/04 13:36, 12F

09/04 14:38, 1周前 , 13F
推資料
09/04 14:38, 13F

09/04 15:51, 1周前 , 14F
09/04 15:51, 14F

09/04 16:18, 1周前 , 15F
09/04 16:18, 15F

09/04 16:38, 1周前 , 16F
09/04 16:38, 16F

09/04 17:18, 1周前 , 17F
推拓海 還能再戰幾年?
09/04 17:18, 17F
XFCE沒有很老吧

09/04 17:31, 1周前 , 18F
Hardcore
09/04 17:31, 18F

09/04 19:37, 1周前 , 19F
alpine還要裝20分鐘 效能是真的差
09/04 19:37, 19F
起碼比Ubuntu 1小時要快多了

09/04 20:21, 1周前 , 20F
看的過癮
09/04 20:21, 20F
※ 編輯: ivon852 (114.39.126.122 臺灣), 09/04/2024 21:21:19

09/04 23:06, 1周前 , 21F
推技術文!
09/04 23:06, 21F

09/05 00:25, 1周前 , 22F
玩這個算自虐嗎?
09/05 00:25, 22F

09/05 01:21, 1周前 , 23F
問一下樓主的iPad是17.0嗎
09/05 01:21, 23F

09/05 01:21, 1周前 , 24F
最近17.0有方法可以裝巨魔
09/05 01:21, 24F

09/05 01:21, 1周前 , 25F
就可以用完整版UTM了
09/05 01:21, 25F
來不及了,出廠就是17.6

09/05 04:32, 1周前 , 26F
09/05 04:32, 26F

09/05 14:35, 1周前 , 27F
09/05 14:35, 27F

09/06 02:55, 1周前 , 28F
09/06 02:55, 28F
※ 編輯: ivon852 (36.236.196.26 臺灣), 09/07/2024 18:05:31
文章代碼(AID): #1crx-WKt (MobileComm)
文章代碼(AID): #1crx-WKt (MobileComm)