比虚拟机更轻量,比 Docker 和 WSL 更简单的 Linux 环境

摄影:产品经理

产品经理的酒店早餐

有些同学使用 Windows 或者 macOS 系统,但需要开发 Linux 程序,此时一般来说有如下几种选择:

  1. 安装双系统

  2. 购买 Linux 服务器

  3. 安装虚拟机,然后在虚拟机里面安装 Linux 系统

  4. Windows 10系统自带的 WSL 子系统

  5. 安装 Docker,然后通过 Docker 启动一个 Linux 容器,再进入该容器进行操作

但以上5种方案,要不就太笨重,要不就太麻烦,要不就是太贵。用起来都不顺手。

这个时候,你还有第6个选择,那就是 Multipass [1] 。这个东西可以让你仅仅执行一行命令就获得一个真正的 Ubuntu 系统。

无论在Linux、Windows还是macOS ,安装Multipass 都非常简单。Windows 只需要从官方网站下载一个安装包双击就能安装。macOS 可以下载安装包,也可以使用 Homebrew 来安装。这里以 Homebrew 为例:

brew install --cask multipass

安装完成以后如下图所示:

接下来,在终端中输入一行命令创建一个 Linux 系统:

multipass launch --name ubuntu

回车以后,Multipass会以最新的 Ubuntu LTS 版本作为镜像创建一个 Ubuntu 环境。第一次运行可能要等半小时左右。如下图所示:

其中, --name ubuntu 后面的 ubuntu 是这个环境的名字,可以任意设定。也可以省略。

有了这个 Ubuntu 环境以后,怎么进入里面呢?实际上也只需要一行代码:

multipass shell ubuntu

运行效果如下图所示:

现在,你就已经进入了一个真正的 Ubuntu 里面了。接下来,在当前终端窗口做的任何操作都会在这个 Ubuntu 环境中运行。如下图所示:

如果你想把一些文件传递到这个Linux 环境中,那么你可以把宿主机的一个文件夹挂载到 Linux 中,这样所有复制到该文件夹里面的内容都会自动同步到Linux 中。挂载也只需要一条命令:

multipass mount 宿主机中一个已有的文件夹 ubuntu:目标文件夹

例如:

multipass mount ~/Projects/spider ubuntu:~

运行效果如下图所示:

左边是 Linux,右边是宿主机

现在,当你创建或者复制新的文件到 ~/Project/spider 文件夹里面时,这些文件就会自动同步到 Linux 中了。

有了 Multipass,开发跨系统的程序就方便多了。

最后,我们做一个小调查,如果你在使用 Linux,那么你的环境是怎么搭建的呢?

参考资料

[1]

Multipass: https://multipass.run/