multipass的使用记录

关于multipass

官网
https://multipass.run/

文档

https://multipass.run/docs

介绍

Ubuntu VMs on demand for any workstation

Get an instant Ubuntu VM with a single command. Multipass can launch and run virtual machines and configure them with cloud-init like a public cloud. Prototype your cloud launches locally for free.

启动的是类似云的一个Ubuntu虚拟机

在Windows上需要搭建Windows的虚拟机?

跨平台

下载并安装Windows版

到官网下载Windows版

https://multipass.run/

Github上的所有版本

https://github.com/canonical/multipass/releases/

1.8.0版

https://github.com/canonical/multipass/releases/download/v1.8.0/multipass-1.8.0+win-win64.exe

下载速度感人。

安装

需要选择虚拟方案,multipass本身不提供虚拟化

在这里插入图片描述

需要特权
在这里插入图片描述

相关文件


D:\Test>tree /F "C:\Program Files\Multipass"
C:\PROGRAM FILES\MULTIPASS
│  Uninstall.exe
│
├─bin
│  │  concrt140.dll
│  │  dbghelp.dll
│  │  libcrypto-1_1-x64.dll
│  │  libgcc_s_sjlj-1.dll
│  │  libglib-2.0-0.dll
│  │  libgthread-2.0-0.dll
│  │  libiconv-2.dll
│  │  libintl-8.dll
│  │  libssl-1_1-x64.dll
│  │  libssp-0.dll
│  │  msvcp140.dll
│  │  msvcp140_1.dll
│  │  msvcp140_2.dll
│  │  msvcp140_atomic_wait.dll
│  │  msvcp140_codecvt_ids.dll
│  │  multipass.exe
│  │  multipass.gui.exe
│  │  multipassd.exe
│  │  multipass_wt.ico
│  │  PocoFoundation.dll
│  │  PocoZip.dll
│  │  qemu-img.exe
│  │  Qt5Core.dll
│  │  Qt5Gui.dll
│  │  Qt5Network.dll
│  │  Qt5Widgets.dll
│  │  ssh.dll
│  │  sshfs_server.exe
│  │  vcruntime140.dll
│  │  vcruntime140_1.dll
│  │
│  └─platforms
│          qwindows.dll
│
└─fonts
        UBUNTU-LICENCE.txt
        UbuntuMono-R.ttf

服务


D:\Test>tasklist | findstr /i multipass
multipassd.exe              143644 Services                   0     28,916 K

D:\Test>sc query multipass

SERVICE_NAME: multipass
        TYPE               : 10  WIN32_OWN_PROCESS
        STATE              : 4  RUNNING
                                (STOPPABLE, NOT_PAUSABLE, ACCEPTS_SHUTDOWN)
        WIN32_EXIT_CODE    : 0  (0x0)
        SERVICE_EXIT_CODE  : 0  (0x0)
        CHECKPOINT         : 0x0
        WAIT_HINT          : 0x0

# 默认自动启动,可以改为手动
D:\Test>sc qc multipass
[SC] QueryServiceConfig 成功

SERVICE_NAME: multipass
        TYPE               : 10  WIN32_OWN_PROCESS
        START_TYPE         : 2   AUTO_START
        ERROR_CONTROL      : 1   NORMAL
        BINARY_PATH_NAME   : "C:\Program Files\Multipass\bin\multipassd.exe" /svc --verbosity debug
        LOAD_ORDER_GROUP   :
        TAG                : 0
        DISPLAY_NAME       : Multipass Service
        DEPENDENCIES       :
        SERVICE_START_NAME : LocalSystem

命令

help命令

D:\Test>multipass help
Usage: multipass [options] <command>
Create, control and connect to Ubuntu instances.

This is a command line utility for multipass, a
service that manages Ubuntu instances.

Options:
  -?, -h, --help  Displays help on commandline options.
  --help-all      Displays help including Qt specific options.
  -v, --verbose   Increase logging verbosity. Repeat the 'v' in the short
                  option for more detail. Maximum verbosity is obtained with 4
                  (or more) v's, i.e. -vvvv.

Available commands:
  alias     Create an alias
  aliases   List available aliases
  delete    Delete instances
  exec      Run a command on an instance
  find      Display available images to create instances from
  get       Get a configuration setting
  help      Display help about a command
  info      Display information about instances
  launch    Create and start an Ubuntu instance
  list      List all available instances
  mount     Mount a local directory in the instance
  networks  List available network interfaces
  purge     Purge all deleted instances permanently
  recover   Recover deleted instances
  restart   Restart instances
  set       Set a configuration setting
  shell     Open a shell on a running instance
  start     Start instances
  stop      Stop running instances
  suspend   Suspend running instances
  transfer  Transfer files between the host and instances
  umount    Unmount a directory from an instance
  unalias   Remove an alias
  version   Show version details

get和set配置命令

get获取配置

D:\Test>multipass get -h
Usage: multipass get [options] <key>
Get the configuration setting corresponding to the given key.

Keys:
  client.apps.windows-terminal.profiles
  client.gui.autostart
  client.gui.hotkey
  client.primary-name
  local.bridged-network
  local.driver
  local.privileged-mounts

Options:
  -?, -h, --help  Displays help on commandline options.
  --help-all      Displays help including Qt specific options.
  -v, --verbose   Increase logging verbosity. Repeat the 'v' in the short
                  option for more detail. Maximum verbosity is obtained with 4
                  (or more) v's, i.e. -vvvv.
  --raw           Output in raw format. For now, this affects only the
                  representation of empty values (i.e. "" instead of "<empty>").

Arguments:
  key             Path to the setting whose configured value should be
                  obtained.

可用的好像就这么几个?

D:\Test>multipass get client.apps.windows-terminal.profiles
primary

D:\Test>multipass get client.gui.autostart
false

D:\Test>multipass get client.gui.hotkey
Ctrl+Alt+U

D:\Test>multipass get client.primary-name
primary

D:\Test>multipass get local.driver
virtualbox

D:\Test>multipass get local.privileged-mounts
false

set命令


D:\Test>multipass set -h
Usage: multipass set [options] <key>=<value>
Set, to the given value, the configuration setting corresponding to the given key.

Keys:
  client.apps.windows-terminal.profiles
  client.gui.autostart
  client.gui.hotkey
  client.primary-name
  local.bridged-network
  local.driver
  local.privileged-mounts

Options:
  -?, -h, --help  Displays help on commandline options.
  --help-all      Displays help including Qt specific options.
  -v, --verbose   Increase logging verbosity. Repeat the 'v' in the short
                  option for more detail. Maximum verbosity is obtained with 4
                  (or more) v's, i.e. -vvvv.

Arguments:
  keyval          A key-value pair. The key specifies a path to the setting to
                  configure. The value is its intended value.

find命令查找镜像

命令的帮助

D:\Test>multipass help find
Usage: multipass find [options] [<remote:>][<string>]
Lists available images matching <string> for creating instances from.
With no search string, lists all aliases for supported Ubuntu releases.

Options:
  -?, -h, --help      Displays help on commandline options.
  --help-all          Displays help including Qt specific options.
  -v, --verbose       Increase logging verbosity. Repeat the 'v' in the short
                      option for more detail. Maximum verbosity is obtained with
                      4 (or more) v's, i.e. -vvvv.
  --show-unsupported  Show unsupported cloud images as well
  --format <format>   Output list in the requested format.
                      Valid formats are: table (default), json, csv and yaml

Arguments:
  string              An optional value to search for in [<remote:>]<string>
                      format, where <remote> can be either ‘release’ or ‘daily’.
                      If <remote> is omitted, it will search ‘release‘ first,
                      and if no matches are found, it will then search ‘daily‘.
                      <string> can be a partial image hash or an Ubuntu release
                      version, codename or alias.

查看镜像list。可用的比较少

D:\Test>multipass find
Image                       Aliases           Version          Description
core                        core16            20200818         Ubuntu Core 16
core18                                        20211124         Ubuntu Core 18
18.04                       bionic            20220131         Ubuntu 18.04 LTS
20.04                       focal,lts         20220207         Ubuntu 20.04 LTS
21.10                       impish            20220201         Ubuntu 21.10
appliance:adguard-home                        20200812         Ubuntu AdGuard Home Appliance
appliance:mosquitto                           20200812         Ubuntu Mosquitto Appliance
appliance:nextcloud                           20200812         Ubuntu Nextcloud Appliance
appliance:openhab                             20200812         Ubuntu openHAB Home Appliance
appliance:plexmediaserver                     20200812         Ubuntu Plex Media Server Appliance
anbox-cloud-appliance                         latest           Anbox Cloud Appliance
charm-dev                                     latest           A development and testing environment for charmers
docker                                        latest           A Docker environment with Portainer and related tools
minikube                                      latest           minikube is local Kubernetes

launch命令创建并启动实例

D:\Test>multipass launch -h
Usage: multipass launch [options] [[<remote:>]<image> | <url>]
Create and start a new instance.

Options:
  -?, -h, --help       Displays help on commandline options.
  --help-all           Displays help including Qt specific options.
  -v, --verbose        Increase logging verbosity. Repeat the 'v' in the short
                       option for more detail. Maximum verbosity is obtained
                       with 4 (or more) v's, i.e. -vvvv.
  -c, --cpus <cpus>    Number of CPUs to allocate.
                       Minimum: 1, default: 1.
  -d, --disk <disk>    Disk space to allocate. Positive integers, in bytes, or
                       with K, M, G suffix.
                       Minimum: 512M, default: 5G.
  -m, --mem <mem>      Amount of memory to allocate. Positive integers, in
                       bytes, or with K, M, G suffix.
                       Minimum: 128M, default: 1G.
  -n, --name <name>    Name for the instance. If it is 'primary' (the
                       configured primary instance name), the user's home
                       directory is mounted inside the newly launched instance,
                       in 'Home'.
  --cloud-init <file>  Path to a user-data cloud-init configuration, or '-' for
                       stdin
  --network <spec>     Add a network interface to the instance, where <spec> is
                       in the "key=value,key=value" format, with the following
                       keys available:
                        name: the network to connect to (required), use the
                       networks command for a list of possible values, or use
                       'bridged' to use the interface configured via `multipass
                       set local.bridged-network`.
                        mode: auto|manual (default: auto)
                        mac: hardware address (default: random).
                       You can also use a shortcut of "<name>" to mean
                       "name=<name>".
  --bridged            Adds one `--network bridged` network.
  --timeout <timeout>  Maximum time, in seconds, to wait for the command to
                       complete. Note that some background operations may
                       continue beyond that. By default, instance startup and
                       initialization is limited to 5 minutes each.

Arguments:
  image                Optional image to launch. If omitted, then the default
                       Ubuntu LTS will be used.
                       <remote> can be either ‘release’ or ‘daily‘. If <remote>
                       is omitted, ‘release’ will be used.
                       <image> can be a partial image hash or an Ubuntu release
                       version, codename or alias.
                       <url> is a custom image URL that is in http://, https://,
                       or file:// format.

创建实例

D:\Test>multipass launch --name ubuntu20 21.10
launch failed: The Hyper-V Windows feature is disabled. Please enable by using the following
command in an Administrator Powershell and reboot:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All

刚刚安装的时候不是选了VirtualBox了吗??

D:\Test>multipass get local.driver
virtualbox

难道这个是一定要Hyper-V才行的??

https://multipass.run/docs/installing-on-windows

第一次启动实例需要再设置!!

D:\Test>multipass set local.driver=virtualbox

D:\Test>multipass get local.driver
virtualbox
D:\Test>multipass launch --name ubuntu20 21.10
One quick question before we launch … Would you like to help
the Multipass developers, by sending anonymous usage data?
This includes your operating system, which images you use,
the number of instances, their properties and how long you use them.
We’d also like to measure Multipass’s speed.

Send usage data (yes/no/Later)? yes
Thank you!
Retrieving image: 4%

报错了

[2022-02-26T15:34:35.322] [error] [ubuntu20] Could not unregister VM: VBoxManage.exe: error: Could not find a registered machine named 'ubuntu20'
VBoxManage.exe: error: Details: code VBOX_E_OBJECT_NOT_FOUND (0x80bb0001), component VirtualBoxWrap, interface IVirtualBox, callee IUnknown
VBoxManage.exe: error: Context: "FindMachine(Bstr(VMName).raw(), machine.asOutParam())" at line 150 of file VBoxManageMisc.cpp

launch failed: Could not generate a new UUID: Process operation timed out

再次尝试

D:\Test>multipass launch --name ubuntu20 21.10
Creating ubuntu20 \

D:\Test>multipass launch --name ubuntu20 21.10
Starting ubuntu20 \

D:\Test>multipass launch --name ubuntu20 21.10
Waiting for initialization to complete /

D:\Test>multipass launch --name ubuntu20 21.10
Launched: ubuntu20

list命令查看实例

D:\Test>multipass list
Name                    State             IPv4             Image
ubuntu20                Running           N/A              Ubuntu 21.10

info命令查看实例信息


D:\Test>multipass info ubuntu20
Name:           ubuntu20
State:          Running
IPv4:           N/A
Release:        Ubuntu 21.10
Image hash:     73fe1785c60e (Ubuntu 21.10)
Load:           0.01 0.06 0.03
Disk usage:     1.3G out of 4.7G
Memory usage:   129.6M out of 971.5M
Mounts:         --

stop和start

D:\Test>multipass stop ubuntu20

D:\Test>multipass start ubuntu20
Starting ubuntu20 |

# 卡住了。。
D:\Test>multipass list
Name                    State             IPv4             Image
ubuntu20                Starting          --               Ubuntu 21.10

D:\Test>multipass start ubuntu20

D:\Test>multipass info ubuntu20
Name:           ubuntu20
State:          Running
IPv4:           N/A
Release:        Ubuntu 21.10
Image hash:     73fe1785c60e (Ubuntu 21.10)
Load:           0.20 0.07 0.02
Disk usage:     1.4G out of 4.8G
Memory usage:   115.5M out of 971.5M
Mounts:         --

D:\Test>multipass list
Name                    State             IPv4             Image
ubuntu20                Running           N/A              Ubuntu 21.10

networks查看网络


D:\Test>multipass networks -h
Usage: multipass networks [options]
List host network devices (physical interfaces, virtual switches, bridges)
available to integrate with using the `--network` switch to the `launch`
command.

Options:
  -?, -h, --help     Displays help on commandline options.
  --help-all         Displays help including Qt specific options.
  -v, --verbose      Increase logging verbosity. Repeat the 'v' in the short
                     option for more detail. Maximum verbosity is obtained with
                     4 (or more) v's, i.e. -vvvv.
  --format <format>  Output list in the requested format.
                     Valid formats are: table (default), json, csv and yaml

查看网络,调用powershell,显示的是宿主机的实体网络

D:\Test>multipass networks
Name            Type      Description
WLAN            wifi      Qualcomm WCN685x Wi-Fi 6E Dual Band Simultaneous (DBS) Network Adapter
��̫��           ethernet  Realtek PCIe GbE Family Controller

创建带有网络的实例

采用桥接

D:\Test>multipass set local.bridged-network=WLAN

D:\Test>multipass get local.bridged-network
WLAN

创建过程

D:\Test>multipass launch --name ubuntua --network bridged 21.10
Creating ubuntua \

D:\Test>multipass launch --name ubuntua --network bridged 21.10
Configuring ubuntua -

D:\Test>multipass launch --name ubuntua --network bridged 21.10
Starting ubuntua \

D:\Test>multipass launch --name ubuntua --network bridged 21.10
Waiting for initialization to complete -

查看

D:\Test>multipass launch --name ubuntua --network bridged 21.10
Launched: ubuntua

D:\Test>multipass list
Name                    State             IPv4             Image
ubuntu20                Running           N/A              Ubuntu 21.10
ubuntua                 Running           192.168.31.60    Ubuntu 21.10

D:\Test>multipass info ubuntua
Name:           ubuntua
State:          Running
IPv4:           192.168.31.60
Release:        Ubuntu 21.10
Image hash:     73fe1785c60e (Ubuntu 21.10)
Load:           0.31 0.15 0.05
Disk usage:     1.3G out of 4.7G
Memory usage:   136.3M out of 971.5M
Mounts:         --

# 主机ping不同
D:\Test>ping 192.168.31.60

Pinging 192.168.31.60 with 32 bytes of data:
Reply from 192.168.31.56: Destination host unreachable.
Reply from 192.168.31.56: Destination host unreachable.
Reply from 192.168.31.56: Destination host unreachable.
Reply from 192.168.31.56: Destination host unreachable.

Ping statistics for 192.168.31.60:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),

exec命令执行一次性命令


D:\Test>multipass exec -h
Usage: multipass exec [options] <name> [--] <command>
Run a command on an instance

Options:
  -?, -h, --help  Displays help on commandline options.
  --help-all      Displays help including Qt specific options.
  -v, --verbose   Increase logging verbosity. Repeat the 'v' in the short
                  option for more detail. Maximum verbosity is obtained with 4
                  (or more) v's, i.e. -vvvv.

Arguments:
  name            Name of instance to execute the command on
  command         Command to execute on the instance

可以ping外网

D:\Test>multipass exec ubuntua ping baidu.com
PING baidu.com (220.181.38.148) 56(84) bytes of data.
64 bytes from 220.181.38.148 (220.181.38.148): icmp_seq=1 ttl=51 time=45.2 ms
64 bytes from 220.181.38.148 (220.181.38.148): icmp_seq=2 ttl=51 time=50.6 ms
^C
--- baidu.com ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 45.201/47.890/50.580/2.689 ms

默认使用了VirtualBox设置的其他网卡?


D:\Test>multipass exec ubuntua -- ip -br a
lo               UNKNOWN        127.0.0.1/8 ::1/128
enp0s3           UP             10.0.2.15/24 fe80::5054:ff:fe1e:c616/64
enp0s8           UP             192.168.31.60/24 fe80::5054:ff:fe1b:2e9b/64

D:\Test>multipass exec ubuntua -- ip route
default via 10.0.2.2 dev enp0s3 proto dhcp src 10.0.2.15 metric 100
default via 192.168.31.1 dev enp0s8 proto dhcp src 192.168.31.60 metric 200
10.0.2.0/24 dev enp0s3 proto kernel scope link src 10.0.2.15
10.0.2.2 dev enp0s3 proto dhcp scope link src 10.0.2.15 metric 100
192.168.31.0/24 dev enp0s8 proto kernel scope link src 192.168.31.60
192.168.31.1 dev enp0s8 proto dhcp scope link src 192.168.31.60 metric 200

shell命令打开交互式shell



D:\Test>multipass shell -h
Usage: multipass shell [options] [<name>]
Open a shell prompt on the instance.

Options:
  -?, -h, --help       Displays help on commandline options.
  --help-all           Displays help including Qt specific options.
  -v, --verbose        Increase logging verbosity. Repeat the 'v' in the short
                       option for more detail. Maximum verbosity is obtained
                       with 4 (or more) v's, i.e. -vvvv.
  --timeout <timeout>  Maximum time, in seconds, to wait for the command to
                       complete. Note that some background operations may
                       continue beyond that. By default, instance startup and
                       initialization is limited to 5 minutes each.

Arguments:
  name                 Name of the instance to open a shell on. If omitted,
                       'primary' (the configured primary instance name) will be
                       assumed. If the instance is not running, an attempt is
                       made to start it (see `start` for more info).

测试


D:\Test>multipass shell ubuntua
Welcome to Ubuntu 21.10 (GNU/Linux 5.13.0-28-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage

  System information as of Sat Feb 26 16:03:36 CST 2022

  System load:  0.0               Processes:               90
  Usage of /:   27.2% of 4.67GB   Users logged in:         0
  Memory usage: 17%               IPv4 address for enp0s3: 10.0.2.15
  Swap usage:   0%                IPv4 address for enp0s8: 192.168.31.60


0 updates can be applied immediately.


The list of available updates is more than a week old.
To check for new updates run: sudo apt update

Last login: Sat Feb 26 16:01:46 2022 from 10.0.2.2
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.

ubuntu@ubuntua:~$ hostname
ubuntua
ubuntu@ubuntua:~$ ip -br a
lo               UNKNOWN        127.0.0.1/8 ::1/128
enp0s3           UP             10.0.2.15/24 fe80::5054:ff:fe1e:c616/64
enp0s8           UP             192.168.31.60/24 fe80::5054:ff:fe1b:2e9b/64

mount挂载宿主机文件夹


D:\Test>multipass mount -h
Usage: multipass mount [options] <source> <target> [<target> ...]
Mount a local directory inside the instance. If the instance is
not currently running, the directory will be mounted
automatically on next boot.

Options:
  -?, -h, --help                   Displays help on commandline options.
  --help-all                       Displays help including Qt specific options.
  -v, --verbose                    Increase logging verbosity. Repeat the 'v'
                                   in the short option for more detail. Maximum
                                   verbosity is obtained with 4 (or more) v's,
                                   i.e. -vvvv.
  -g, --gid-map <host>:<instance>  A mapping of group IDs for use in the mount.
                                   File and folder ownership will be mapped from
                                   <host> to <instance> inside the instance. Can
                                   be used multiple times.
  -u, --uid-map <host>:<instance>  A mapping of user IDs for use in the mount.
                                   File and folder ownership will be mapped from
                                   <host> to <instance> inside the instance. Can
                                   be used multiple times.

Arguments:
  source                           Path of the local directory to mount
  target                           Target mount points, in <name>[:<path>]
                                   format, where <name> is an instance name, and
                                   optional <path> is the mount point. If
                                   omitted, the mount point will be the same as
                                   the source's absolute path

准备宿主机的文件

D:\Test>mkdir mount
D:\Test>echo test-mount > mount\file.txt
D:\Test>type mount\file.txt
test-mount

挂载

D:\Test>multipass exec ubuntua -- sudo mkdir /mountfile

D:\Test>multipass mount D:\Test\mount ubuntua:/mountfile
mount failed: Mounts are disabled on this installation of Multipass.

See https://multipass.run/docs/set-command#local.privileged-mounts for information
on how to enable them.

启用挂载

https://multipass.run/docs/set-command#local.privileged-mounts


D:\Test>multipass set local.privileged-mounts=true

D:\Test>multipass mount D:\Test\mount ubuntua:/mountfile
mount failed: cannot connect to the multipass socket
Please ensure multipassd is running and 'localhost:50051' is accessible


D:\Test>sc query multipass

SERVICE_NAME: multipass
        TYPE               : 10  WIN32_OWN_PROCESS
        STATE              : 4  RUNNING
                                (STOPPABLE, NOT_PAUSABLE, ACCEPTS_SHUTDOWN)
        WIN32_EXIT_CODE    : 0  (0x0)
        SERVICE_EXIT_CODE  : 0  (0x0)
        CHECKPOINT         : 0x0
        WAIT_HINT          : 0x0

D:\Test>netstat -nt | findstr 50051
  TCP    [::1]:50051            [::1]:63922            ESTABLISHED     InHost
  TCP    [::1]:63922            [::1]:50051            ESTABLISHED     InHost

# 再执行一次
D:\Test>multipass mount D:\Test\mount ubuntua:/mountfile
Enabling support for mounting -

D:\Test>multipass exec ubuntua -- cat /mountfile/file.txt
test-mount


D:\Test>multipass info ubuntua
Name:           ubuntua
State:          Running
IPv4:           192.168.31.60
Release:        Ubuntu 21.10
Image hash:     73fe1785c60e (Ubuntu 21.10)
Load:           0.02 0.01 0.00
Disk usage:     1.3G out of 4.7G
Memory usage:   135.5M out of 971.5M
Mounts:         D:/Test/mount => /mountfile
                    UID map: -2:default
                    GID map: -2:default

删除

purge删除已删除的实例的配置

delete删除某个实例


D:\Test>multipass purge -h
Usage: multipass purge [options]
Purge all deleted instances permanently, including all their data.

Options:
  -?, -h, --help  Displays help on commandline options.
  --help-all      Displays help including Qt specific options.
  -v, --verbose   Increase logging verbosity. Repeat the 'v' in the short
                  option for more detail. Maximum verbosity is obtained with 4
                  (or more) v's, i.e. -vvvv.


D:\Test>multipass delete -h
Usage: multipass delete [options] <name> [<name> ...]
Delete instances, to be purged with the "purge" command,
or recovered with the "recover" command.

Options:
  -?, -h, --help  Displays help on commandline options.
  --help-all      Displays help including Qt specific options.
  -v, --verbose   Increase logging verbosity. Repeat the 'v' in the short
                  option for more detail. Maximum verbosity is obtained with 4
                  (or more) v's, i.e. -vvvv.
  --all           Delete all instances
  -p, --purge     Purge instances immediately

Arguments:
  name            Names of instances to delete

测试

D:\Test>multipass list
Name                    State             IPv4             Image
ubuntu20                Running           N/A              Ubuntu 21.10
ubuntua                 Running           192.168.31.60    Ubuntu 21.10

# 没有实际删除
D:\Test>multipass purge

D:\Test>multipass list
Name                    State             IPv4             Image
ubuntu20                Running           N/A              Ubuntu 21.10
ubuntua                 Running           192.168.31.60    Ubuntu 21.10

D:\Test>multipass delete ubuntu20

D:\Test>multipass list
Name                    State             IPv4             Image
ubuntu20                Deleted           --               Not Available
ubuntua                 Running           192.168.31.60    Ubuntu 21.10

# 类似于先用delete删除实例,在用purge删除配置
D:\Test>multipass purge

D:\Test>multipass list
Name                    State             IPv4             Image
ubuntua                 Running           192.168.31.60    Ubuntu 21.10

其他

切换到hyper-v

https://multipass.run/docs/using-virtualbox-in-multipass-windows

multipass set local.driver=hyperv

实例和下载的镜像所在路径

https://multipass.run/docs/using-virtualbox-in-multipass-windows

这个是设置在VirtualBox里显示的

实例比较那个啥,居然是存放到这个地方。。。能修改?

D:\Test>dir /b C:\Windows\System32\config\systemprofile\AppData\Roaming\multipassd\virtualbox\vault\instances
ubuntu20
ubuntua

镜像没找到存的位置。。

实例配置文件所在

这个好像没有命令获取,只能直接读取文件

D:\Test>type "C:\Windows\System32\config\systemprofile\AppData\Roaming\multipassd\virtualbox\vault\multipassd-instance-image-records.json"
{
    "ubuntu20": {
        "image": {
            "aliases": [
            ],
            "current_release": "",
            "id": "73fe1785c60edeb506f191affff0440abcc2de02420bb70865d51d0ff9b28223",
            "initrd_path": "",
            "kernel_path": "",
            "original_release": "21.10",
            "path": "C:/Windows/system32/config/systemprofile/AppData/Roaming/multipassd/virtualbox/vault/instances/ubuntu20/ubuntu-21.10-server-cloudimg-amd64.vdi",
            "release_date": "20220201"
        },
        "last_accessed": 16458609662360704,
        "query": {
            "persistent": false,
            "query_type": 0,
            "release": "21.10",
            "remote_name": ""
        }
    },
    "ubuntua": {
        "image": {
            "aliases": [
            ],
            "current_release": "",
            "id": "73fe1785c60edeb506f191affff0440abcc2de02420bb70865d51d0ff9b28223",
            "initrd_path": "",
            "kernel_path": "",
            "original_release": "21.10",
            "path": "C:/Windows/system32/config/systemprofile/AppData/Roaming/multipassd/virtualbox/vault/instances/ubuntua/ubuntu-21.10-server-cloudimg-amd64.vdi",
            "release_date": "20220201"
        },
        "last_accessed": 16458621540467386,
        "query": {
            "persistent": false,
            "query_type": 0,
            "release": "21.10",
            "remote_name": ""
        }
    }
}

总体感觉

不是真正的虚拟机,需要借助VirtualBox或者Hyper-V

功能比较简单,没有镜像管理功能,不能自己创建镜像

定位管理器的感觉

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值