Существует множество программ и инструментов, доступных для развертывания виртуальных машин Ubuntu в целях тестирования и обучения.
Некоторые из них – Docker, LXD, LXC, Proxmox, VirtualBox и Vmware и т. д.
Я часто использую Virtualbox для тестирования различных приложений на нескольких дистрибутивах Linux.
Сегодня мы собираемся узнать еще об одной утилите под названием Multipass.
Являетесь ли вы обычным пользователем, разработчиком или системным администратором, вы можете создавать и запускать виртуальные машины Ubuntu с Multipass за считанные секунды в Linux.
Multipass – это утилита командной строки, разработанная командой Canonical для быстрого развертывания экземпляров Ubuntu на локальном компьютере.
Так как Multipass предоставляет вам новейшие экземпляры, вам не нужно тратить время на обновления при запуске!
Используя Multipass, вы можете запускать виртуальные машины Ubuntu и использовать их для тестирования вашего кода или приложения.
Вы можете запускать команды в виртуальных машинах непосредственно с локального хоста или входить в оболочку виртуальной машины и запускаться оттуда.
Также возможно монтировать каталог вашей хост-системы в экземпляры и обмениваться файлами и папками между хост-системой и виртуальными машинами.
Multipass поддерживает GNU / Linux, Mac OS и Windows.
Как установить Multipass на Linux
Multipass доступен в виде пакета Snap, поэтому его можно установить в любой операционной системе Linux, которая поддерживает Snapd.
Snap поставляется предварительно установленным во всех выпусках Ubuntu, начиная с версии 16.04 LTS, версий Ubuntu, Solus 3 и выше, ОС Zorin и т. д.
В других системах Linux вы можете установить Snapd, как описано в этой ссылке.
После установки Snapd установите Multipass с помощью команды:
$ sudo snap install multipass --classic
После успешной установки Multipass вы увидите следующий вывод:
multipass 1.0.2 from Canonical* installed
Как создавть и запускать виртуальные машины Ubuntu с Multipass на Linux
Запускать виртуальные машины Ubuntu с Multipass невероятно легко и просто.
Запустим виртуальную машину Ubuntu
$ multipass launch --name itisgood-instance
$ multipass launch -n itisgood-instance
Здесь itisgood-instance – это имя моей Ubuntu VM.
Вы можете называть виртуальные машины как хотите.
Приведенная выше команда загрузит свежий и минимальный экземпляр Ubuntu и запустит его автоматически.
Список виртуальных машин
Чтобы просмотреть список загруженных в данный момент виртуальных машин в вашей системе, выполните:
$ multipass list
Вывод:
Name State IPv4 Image itisgood-instance Running 10.39.86.203 Ubuntu 18.04 LTS
Выполняем команды в виртуальных машинах из локальной системы
$ multipass exec itisgood-instance -- lsb_release -a
Запустим оболочку Ubuntu VM
Вместо того, чтобы запускать команды из вашей локальной системы на Ubuntu VM, вы можете напрямую запустить ее SHELL и запустить команды или выполнить любое тестирование!
$ multipass shell itisgood-instance
Найтем доступные экземпляры виртуальных машин
$ multipass find
Image Aliases Version Description snapcraft:core core16 20200221 Snapcraft builder for Core 16 snapcraft:core18 20200221 Snapcraft builder for Core 18 core core16 20200213 Ubuntu Core 16 core18 20200210 Ubuntu Core 18 16.04 xenial 20200218.1 Ubuntu 16.04 LTS 18.04 bionic,lts 20200218 Ubuntu 18.04 LTS 19.10 eoan 20200129 Ubuntu 19.10 daily:20.04 devel,focal 20200226 Ubuntu 20.04 LTS
Как видите, доступны ядра Snapcraft, ядро Ubuntu, Ubuntu 16.04, 18.04, 19.10 и 20.04.
Чтобы запустить другие экземпляры, укажите имя образа, как показано ниже.
$ multipass launch --name ostechnix-instance 19.10
Как создать виртуальную машину с пользовательскими спецификациями (количество процессоров, размер жесткого диска и объем памяти)
Это тоже возможно!
Следующая команда поднимет виртуальную машину с 2 ЦП, 2 ГБ ОЗУ и объемом жесткого диска 20 ГБ.
$ multipass launch -c 2 -m 2G -d 20G -n itisgood-instance
Найти информацию о запущенных экземплярах VM
Информацию о запущенных экземплярах можно просмотреть с помощью следующей команды:
$ multipass info itisgood-instance Name: itisgood-instance State: Running IPv4: 10.39.86.203 Release: Ubuntu 18.04.4 LTS Image hash: 3c3a67a14257 (Ubuntu 18.04 LTS) Load: 0.08 0.02 0.01 Disk usage: 999.1M out of 4.7G Memory usage: 74.0M out of 985.1M
Приостановить экземпляры VM
Чтобы приостановить работающий экземпляр, запустите:
$ multipass suspend itisgood-instance
Убедитесь, что ВМ приостановлена:
$ multipass info itisgood-instance Name: itisgood-instance State: Suspended IPv4: -- Release: -- Image hash: 3c3a67a14257 (Ubuntu 18.04 LTS) Load: -- Disk usage: -- Memory usage: --
Запуск и остановка экземпляров виртуальных машин
Чтобы остановить работающую виртуальную машину, запустите:
$ multipass stop itisgood-instance
для запуска:
$ multipass stop itisgood-instance
Удалить виртуальные машины
Когда вы закончите с вашими экземплярами Ubuntu, вы можете удалить их, если они больше не нужны.
Сначала остановите виртуальную машину, которую хотите удалить.
$ multipass stop itisgood-instance
Затем удалите его с локального хоста с помощью команд:
$ multipass delete itisgood-instance
$ multipass purge
Получить помощь
Выполните следующую команду, чтобы просмотреть список доступных опций и подкоманд вместе с описанием.
$ 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 Display this help -v, --verbose Increase logging verbosity, repeat up to three times for more detail Available commands: 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 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 version Show version details
Чтобы просмотреть раздел справки для каждой подкоманды:
$ multipass help <sub-command>
Пример
$ multipass help launch