分享最新优惠信息
购买主机更加划算

Multipass:在Linux系统中启动和运行虚拟Ubuntu实例

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

Multipass——查找Ubuntu镜像

下载Ubuntu镜像

确定要使用的Multipass映像后,使用launch命令从中下载、创建和启动本地Ubuntu实例。本文示例演示如何使用Ubuntu 22.04映像:

$ multipass launch 22.04
注意如果另一个虚拟机(例如VirtualBox)正在运行,则Multipass将不会运行,将显示以下错误消息。
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

 Multipass – 检查实例信息

在Ubuntu实例中打开Shell

要在正在运行的实例中启动shell(例如,validating-goat),请使用以下shell命令:

$ multipass shell validating-goat

Multipass——在实例中运行 Shell

将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

Multipass – 使用设置运行实例

在Ubuntu实例中运行Web服务器

现在看看如何使用本地Ubuntu实例,此示例显示如何安装和运行基本的NGINX Web服务器,如下所示:

$ multipass shell tecmint-test 
$ sudo apt update 
$ sudo apt install nginx

安装NGINX后,该服务应该会自动启动(这是Ubuntu及其衍生产品上的已知行为)。使用以下systemctl 命令确保它已启动并正在运行:

$ systemctl status nginx

检查Nginx状态

现在使用您正在运行的实例的IP地址(可以从本地实例列表中获取)向NGINX发出请求并查看默认的欢迎网页,如以下截图所示:

检查Nginx网页

在Linux上卸载Multipass

要从服务器上面删除Multipass,请运行以下命令:

$ sudo snap remove multipass

有关Multipass命令行选项的更多信息,请运行以下命令:

$ multipass -h

现在,你已经成功安装了Multipass,并且可以使用它在计算机上快速、高效和可靠地启动和管理Ubuntu实例。

未经允许不得转载:惠主机 » Multipass:在Linux系统中启动和运行虚拟Ubuntu实例