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

2021-03-04 16:24:43 浏览数 (1)

摄影:产品经理

产品经理的酒店早餐

有些同学使用 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 为例:

代码语言:javascript复制
brew install --cask multipass

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

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

代码语言:javascript复制
multipass launch --name ubuntu

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

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

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

代码语言:javascript复制
multipass shell ubuntu

运行效果如下图所示:

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

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

代码语言:javascript复制
multipass mount 宿主机中一个已有的文件夹 ubuntu:目标文件夹

例如:

代码语言:javascript复制
multipass mount ~/Projects/spider ubuntu:~

运行效果如下图所示:

左边是 Linux,右边是宿主机

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

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

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

参考资料

[1]

Multipass: https://multipass.run/

0 人点赞