Multipass是一个跨平台的轻量级Ubuntu虚拟机 ( VIM ) 管理器,可在Linux、Windows和macOS 上运行。它构建了云风格的Ubuntu VM,允许开发人员使用单个命令快速设置新的Ubuntu环境。作为开发工具,以下是使用Multipass的一些主要好处:
- 设置本地开发环境和测试可能非常耗时,但Multipass通过自动执行所有设置和拆卸来简化流程。
- 开发人员可以使用Multipass在任何机器上生成全新的、定制的Linux开发环境,并制作云安装原型。
- Multipass是Mac和Windows用户在其PC上获取Ubuntu命令行的最快方式。
- 新的Ubuntu用户可以使用Multipass作为沙箱来试验新功能,而不会弄乱他们的主机或不必双启动。
必须强调的是,Multipass通过在Linux上使用KVM 、在Windows上使用Hyper-V以及在macOS上使用HyperKit以低开销运行VM。VirtualBox也可以在Windows和macOS上使用。Multipass会自动检索和更新图像。
此外,Multipass拥有不断增长的图像库,允许您启动专用VM或通过其强大的cloud-init接口自定义的定制VM。在本文中,小编简单介绍在Linux操作系统上安装和使用Multipass虚拟机。
在Linux上安装Multipass
Multipass以snap包的形式提供,因此可以轻松安装在支持snap的最流行的Linux发行版上。要在服务器上安装Multipass,必须在系统上安装Snap,如果没有,首选需要为Linux发行版使用正确的命令集。
在Ubuntu上安装Multipass
$ sudo apt update $ sudo apt install snapd $ sudo snap install multipass
在Linux Mint上安装Multipass
$ sudo rm /etc/apt/preferences.d/nosnap.pref $ sudo apt update $ sudo apt install snapd $ sudo snap install multipass
在Debian上安装Multipass
$ sudo apt update $ sudo apt install snapd $ sudo snap install core $ sudo snap install multipass
在Fedora上安装Multipass
$ sudo dnf install snapd $ sudo ln -s /var/lib/snapd/snap /snap $ sudo snap install multipass
在RHEL上安装Multipass
$ sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm [RHEL 9] $ sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm [RHEL 8] $ sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm [RHEL 7] $ sudo dnf upgrade $ sudo subscription-manager repos --enable "rhel-*-optional-rpms" --enable "rhel-*-extras-rpms" $ sudo yum update $ sudo yum install snapd $ sudo systemctl enable --now snapd.socket $ sudo ln -s /var/lib/snapd/snap /snap $ sudo snap install multipass
在openSUSE上安装Multipass
$ sudo zypper addrepo --refresh https://download.opensuse.org/repositories/system:/snappy/openSUSE_Leap_15.2 snappy $ sudo zypper --gpg-auto-import-keys refresh $ sudo zypper dup --from snappy $ sudo zypper install snapd $ sudo systemctl enable --now snapd $ sudo snap install multipass
在Arch Linux上安装Multipass
$ git clone https://aur.archlinux.org/snapd.git $ cd snapd $ makepkg -si $ sudo systemctl enable --now snapd.socket $ sudo ln -s /var/lib/snapd/snap /snap $ sudo snap install multipass
在服务器上面安装Multipass后,可以使用它从命令行在本地运行Ubuntu实例,具体如以下部分所述。
查找可用的Ubuntu映像
运行以下Multipass命令以查看可用的multipass图像列表,可以从中下载和创建实例:
$ multipass find
下载Ubuntu镜像
确定要使用的Multipass映像后,使用launch
命令从中下载、创建和启动本地Ubuntu实例。本文示例演示如何使用Ubuntu 22.04映像:
$ multipass launch 22.04
launch failed: Another virtual machine manager is currently running. Please shut it down before starting a Multipass instance.
要继续,请关闭其它虚拟机,然后再次尝试运行multipass。如果启动命令成功,并且Ubuntu映像已下载,本地Ubuntu实例已创建并启动,该实例应该有一个由Multipass随机生成的名称。如下图所示,实例名称在本例中为validating-goat。新实例默认启动时具有1个 CPU、1GB内存和5GB存储空间。
列出所有可用实例
Multipass list
命令列出了所有创建的本地实例及其一些属性:
$ multipass list
可以使用info
命令显示有关实例的信息,例如其状态、IP地址、版本、图像哈希、CPU数量、负载、磁盘使用情况、内存使用情况和挂载,如以下屏幕截图所示:
$ multipass info validating-goat
在Ubuntu实例中打开Shell
要在正在运行的实例中启动shell(例如,validating-goat),请使用以下shell
命令:
$ multipass shell validating-goat
将shell启动到正在运行的实例后,可以在其上正常运行命令。例如,可以如图所示更新其上的apt包索引。
$ sudo apt update
启动或停止实例
要停止或启动实例,请分别使用以下命令:
$ multipass stop validating-goat $ multipass start validating-goat
删除本地实例
要删除本地实例,无论它是正在运行还是已停止,请使用delete
如图所示的命令。
$ multipass list $ multipass delete exalted-meerkat
使用自定义设置启动实例
此外,你还可以启动具有自定义规格(例如名称、CPU 数量、RAM大小和磁盘大小,如图所示)的实例。
$ multipass launch 22.04 --name tecmint-test --memory 1G --disk 10G --cpus 2 $ multipass info tecmint-test
在Ubuntu实例中运行Web服务器
现在看看如何使用本地Ubuntu实例,此示例显示如何安装和运行基本的NGINX Web服务器,如下所示:
$ multipass shell tecmint-test $ sudo apt update $ sudo apt install nginx
安装NGINX后,该服务应该会自动启动(这是Ubuntu及其衍生产品上的已知行为)。使用以下systemctl 命令确保它已启动并正在运行:
$ systemctl status nginx
现在使用您正在运行的实例的IP地址(可以从本地实例列表中获取)向NGINX发出请求并查看默认的欢迎网页,如以下截图所示:
在Linux上卸载Multipass
要从服务器上面删除Multipass,请运行以下命令:
$ sudo snap remove multipass
有关Multipass命令行选项的更多信息,请运行以下命令:
$ multipass -h
现在,你已经成功安装了Multipass,并且可以使用它在计算机上快速、高效和可靠地启动和管理Ubuntu实例。