11 月 9 日,Ubuntu 发行商 Canonical 宣布推出全新版本的虚拟机管理工具 Multipass,以支持在带有 M1 芯片的 Mac 上更快速的运行跨平台的 Linux。Canonical 称 Multipass 支持 M1 Mac 用户以一个命令启动虚拟机镜像来运行 Linux,整个过程只需 20s 左右。
(图片来源网络,侵删)
Canonical 表示 Ubuntu 是第一个将 M1 Mac 转变为 Linux 计算的平台。他们的产品经理 Nathan Hart 说:“我们希望开发者能比市场上其他的人更快地运行 Linux,Multipass 已经实现这一目标”。
虚拟化工具,赋能 Apple Silicon
M1 芯片自发布后就一直有“低功耗、高性能”的特点,但直到现在,M1 用户还没有很多运行 Linux 的选择。VirtualBox 和 VMware 等流行的工具都处于预览阶段或暂不支持新架构。PD 支持新架构但需要手动配置、管理和维护。Multipass 就是 Canonical 提供的解决办法。
Multipass 的优势是无需切换“上下文”进程(可以保持运行状态的机制),就可以在虚拟机(VM)中运行应用程序,也可以从主机(M1 Mac)终端上运行虚拟机中的应用程序。
Docker 桌面替代新选择
根据官方博客介绍,Multipass 最新版本 1.8.0 中包含一个“aliases”功能。aliases 可以允许允许 Multipass 用户将虚拟机中的命令连接到主机操作系统上的命令。允许用户在接近原生状态下使用任何 Linux 程序。aliases 也被吹捧为 Docker 桌面的替代品。
“对于那些只需要在少数情况下使用 Linux 环境的人来说,这是一个 xx 的转变。这些用户现在可以直接从主机终端运行虚拟机内的软件,而不是切换上下文来访问他们需要的软件。aliases 可以让用户对任何 Linux 程序运行有近似原生的体验。例如,对于希望在 Windows 和 Mac 上运行 Docker 的开发者来说,aliases 可以成为 Docker 桌面的替代品。”
Multipass 现在支持每个主要的计算平台,无论是跨平台的 Mac、Windows 还是 Linux,Multipass 都可以为你提供统一的 Linux 开发环境体验。
对标 WSL?路还很长
Multipass 新功能发布后,不少网友表示,这不就是 Mac 版的 WSL 吗,简称“MSL”(macOS Subsystem for Linux)从运行逻辑上来说,“MSL”的确与 WSL 非常像。WSL 全称 Windows Subsystem for Linux,简单说就是 Linux 版的 Windows 子系统,支持在 Windows 10 和 Windows Server 2019 上原生运行 Linux 二进制可执行文件,目前已经迭代到 WSL 2,主要功能如下。
无缝集成体系结构
传统的独立 VM 一般启动较慢,消耗资源多,需要花时间去配置和管理。WSL 2 本身的特性就是 Windows 与 Linux 之间的无缝集成。启动时间短、资源占用少、无需 VM 配置和管理是基础优势(WSL 2 的 VM 是在幕后管理运行)。
完整的 Linux 内核
WSL 2 中的 Linux 内核根据最新的稳定版分支(基于 kernel.org 上提供的源代码)构建。此内核针对 WSL 2 进行了调整,优化了了大小和性能,以保证在 Windows 上提供更好的 Linux 体验。此内核的安全修复补丁更新跟随 Windows 更新,无需单独管理。
系统兼容性
正如上面所说的 WSL 2 有了自己的 Linux 内核,具有完全的系统调用兼容性。Linux 二进制文件使用系统调用来执行访问文件、请求内存、创建进程等功能。除了更新跟随系统能达到立即可用以外,还可以在 WSL 内部运行一组全新应用,例如 Docker 等。
文件 IO 性能
WSL 2 在文件密集型操作如 Git 克隆、npm 安装、apt 更新升级等上的速度都有明显的提升。
Multipass 则处于起步阶段,主要功能有支持 M1 Mac、aliases、Xfce Terminal、更好的 GUI 体验、跨平台体验。目前 Multipass 在功能完成度易用性等方面与 WSL 仍有较大差距,期待不久的将来 Multipass 可以完善的更好。
参考链接:
https://ubuntu.com/blog/canonical-transforms-linux-on-mac