提到「在手机上运行 Linux」,很多人会想到安卓上的 Termux,但其实 iPhone 和 iPad 也有自己的方案。iSH 和 UTM 就是其中最有代表性的两个工具:前者能在 App Store 直接下载,用一个轻量级的 Linux 用户空间满足命令行需求;后者则是一套完整的虚拟机,能在设备上跑起带图形界面的完整 Linux 发行版。本文分别介绍两者的安装与配置,并说明如何根据自己的需求选择。
为什么在 iPhone 上运行 Linux

对于开发者、学生和技术爱好者来说,在随身携带的 iPhone 上拥有一个 Linux 环境有很多实际用途:随时随地运行脚本、编译代码、练习 Linux 命令行、搭建临时 Web 服务器,甚至进行简单的网络测试。iOS 本身是封闭的,默认不提供终端和包管理工具,而 iSH 和 UTM 恰好填补了这个空白。更重要的是,它们都运行在沙盒环境中,即便误操作也不会损坏手机的主系统,是学习 Linux 的安全场所。
iSH 是什么:x86 模拟与系统调用翻译

iSH 是一款开源工具,它的独特之处在于采用 x86/x86_64 指令模拟加系统调用翻译的方式工作:它把 Linux 的系统调用翻译成 iOS 能理解的等价操作,从而在 iPhone 上跑起一个完整的 Alpine Linux 用户空间。由于不依赖 JIT 动态代码执行,它得以通过苹果的审核,成为少数能直接在 App Store 上架的终端类应用。在 iSH 里执行 uname -a,你会看到类似 Linux localhost 4.20.69-ish x86_64 的输出,说明它模拟的是一个 x86_64 的 Linux 环境。
安装 iSH 与基础命令

安装 iSH 非常简单:打开 App Store,搜索「iSH Shell」(图标是一个白色终端窗口配黑色提示符符号,开发者显示为 Theron Tarigo),下载安装即可。首次启动后,你会直接看到一个 Alpine Linux 的欢迎信息和 bash 提示符,默认以 root 身份运行,因此无需使用 sudo。建议先执行下面的命令更新系统:
apk update && apk upgrade
这一步会更新软件包索引并升级所有组件,通常耗时 2~5 分钟。随后可以安装常用的工具,例如 vim、git、curl、wget、python3、nodejs 和 bash。如果遇到「permission denied」错误,多半是误用了 sudo——iSH 默认就是 root,直接执行命令即可。
更换国内镜像源与安装常用工具

iSH 默认的 Alpine 软件源位于国外,国内用户常常会遇到下载缓慢甚至超时的问题。把软件源更换为国内镜像,通常能让下载速度提升 10~20 倍。常见的镜像源包括中科大镜像和阿里云镜像,编辑 /etc/apk/repositories 文件,把默认的源地址替换为对应镜像地址即可,然后重新执行 apk update。更换源之后,再安装软件包就会顺畅很多。你甚至可以用它安装 nmap 等网络工具来测试网络。需要注意的是,iSH 安装的是 Alpine 仓库版本的工具,功能和版本可能与桌面发行版略有差异。
文件系统与实用技巧

iSH 的文件系统是一个「混合体」:它的 Linux 根目录 / 是一个虚拟文件系统,而通过 /mnt 目录可以访问 iOS 的文件,方便在 iOS 和 Linux 环境之间交换文件。日常使用中,几个快捷键能明显提升效率:Ctrl+C 中断当前命令、Ctrl+L 清屏、Ctrl+A 跳到行首、Ctrl+E 跳到行尾、上下方向键浏览历史命令。如果遇到无法输入的情况,可以到 iOS 的 设置 > 通用 > 键盘 里关闭第三方键盘;遇到网络超时,可以尝试手动设置 DNS。
UTM 是什么:完整的 QEMU 虚拟机
如果说 iSH 是一个「轻量级的 Linux 终端」,那么 UTM 就是一台「真正的虚拟机」。UTM 基于 QEMU 构建,能够运行完整的操作系统,包括带图形界面的 Linux 发行版,甚至其他操作系统。它支持两种模式:模拟(Emulation)可以在 Apple Silicon 设备上模拟 x86、ARM 等架构,但速度较慢;虚拟化(Virtualization)则利用 ARM64 原生指令,性能高得多。不过,由于 UTM 的完整功能依赖 JIT 和动态代码执行,它无法上架 App Store,需要通过侧载的方式安装。
侧载 UTM 并创建 Linux 虚拟机
安装 UTM 最常用的方式是使用 AltStore 或 TrollStore 进行侧载。以 AltStore 为例,大致流程如下:
- 从 UTM 官网获取适用于 iOS 的 .ipa 安装包。
- 在电脑上安装 AltStore,并通过数据线连接 iPhone,用 Apple ID 完成签名和安装(个人开发者账号签名的应用通常 7 天需要重签一次)。
- 安装完成后,在 iPhone 上信任该开发者证书。
虚拟机系统方面,建议下载轻量级发行版的 ARM64(AArch64) 镜像,例如 Debian 或 Alpine 的 ARM 版本。打开 UTM,点击「+」新建虚拟机,选择 Virtualize 模式以获得更好性能,操作系统类型选择 Linux,然后在驱动器中导入下载好的镜像文件,并根据设备性能分配内存(iPhone 建议从 2GB 起步,iPad Pro 可以分配 4GB 以上)和 CPU 核心数。之后就是标准的 Linux 安装流程,如果需要图形界面,可以在安装时选择 XFCE 或 LXQt 这类轻量桌面环境。安装完成后,移除虚拟光驱里的 ISO,即可直接启动进入你的移动 Linux 桌面。
iSH 与 UTM 如何选择
两者的定位差异明显,选择时可以对照下面的要点:
- 安装难度:iSH 直接在 App Store 下载,开箱即用;UTM 需要侧载,涉及签名和重签,门槛更高。
- 图形界面:iSH 只有命令行;UTM 支持完整的图形桌面。
- 性能:iSH 的 x86 模拟性能有限,适合轻量任务;UTM 的虚拟化模式性能更高,但耗电也更明显。
- 适用场景:日常敲命令、学 Linux、跑脚本选 iSH 足够;需要完整桌面环境或运行图形程序则选 UTM。
简单来说,如果你只是想随时有一个能用的 Linux 终端,iSH 是最省心的选择;如果你需要一台真正的「口袋里的 Linux 电脑」,那么 UTM 更合适,只是要接受侧载带来的麻烦。两者的共同点是,它们都让 iPhone 拥有了远超系统默认的「折腾」空间。