Multipass — это кроссплатформенный менеджер виртуальных машин Ubuntu (VIM), работающий в Linux, Windows и macOS. Он создает виртуальные машины Ubuntu в облачном стиле, что позволяет быстро настроить новую среду Ubuntu с помощью одной команды.
Multipass задуман как инструмент для разработки и имеет следующие ключевые преимущества:
- Настройка локальной среды разработки и тестирования, могут занять много времени, но Multipass упрощает этот процесс, автоматизируя всю настройку и сворачивания.
- Разработчики могут использовать Multipass для создания новых, настраиваемых сред разработки Linux на любом компьютере и получают прототип облачной установки.
- Multipass — это самый быстрый способ для пользователей Mac и Windows получить командную строку Ubuntu на своем ПК.
- Новые пользователи Ubuntu могут использовать Multipass в качестве «песочницы», чтобы экспериментировать с новыми функциями, не портя свой хост-компьютер и не нуждаясь в двойной загрузке.
Крайне важно подчеркнуть, что Multipass запускает виртуальную машину с низким , используя KVM в Linux, Hyper-V в Windows и HyperKit в macOS. Скажете VirtualBox тоже можно использовать в Windows и macOS. Но Multipass автоматически получит и обновит любой образ Ubuntu для вас.
Кроме того, Multipass имеет растущую библиотеку образов, которые позволяют запускать специально созданные виртуальные машины или настроенные вами самостоятельно, через надежный интерфейс облачной инициализации.
В этой статье рассмотрим, как установить и использовать Multipass в операционной системе Linux.
Установка multipass в Linux.
Multipass доступен в виде пакета Snap, что упрощает установку практически в любой дистрибутив Linux. Для установки, достаточно воспользоваться следующей командой:
$ sudo snap install multipass
Если в вашей системе не установлен snap, можете воспользоваться следующим набором команд для установки, выбрав необходимы дистрибутив.
#Ubuntu $sudo apt install snap
#Linux Mint $ sudo rm /etc/apt/preferences.d/nosnap.pref $ sudo apt update $ sudo apt install snapd
#Debian $ sudo apt update $ sudo apt install snapd $ sudo snap install core
#Fedora $ sudo dnf install snapd $ sudo ln -s /var/lib/snapd/snap /snap
#RHEL-based $ 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
#openSUSE $ 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
#ArchLinux $ 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
После установки multipass на свой компьютер вы можете использовать его для локального запуска экземпляров Ubuntu из командной строки, как описано далее.
Поиск доступных образов Ubuntu.
Запустите следующую команду, чтобы просмотреть список доступных образов, которые вы можете загрузить и создать из них экземпляр Ubuntu:
$ sudo multipass find Image Aliases Version Description core core16 20200818 Ubuntu Core 16 core18 20211124 Ubuntu Core 18 core20 20230119 Ubuntu Core 20 core22 20230119 Ubuntu Core 22 20.04 focal 20230908 Ubuntu 20.04 LTS 22.04 jammy,lts 20230828 Ubuntu 22.04 LTS 23.04 lunar 20230829 Ubuntu 23.04 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 Blueprint Aliases Version Description anbox-cloud-appliance latest Anbox Cloud Appliance charm-dev latest A development and testing environment for charmers docker 0.4 A Docker environment with Portainer and related tools jellyfin latest Jellyfin is a Free Software Media System that puts you in control of managing and streaming your media. minikube latest minikube is local Kubernetes ros-noetic 0.1 A development and testing environment for ROS Noetic. ros2-humble 0.1 A development and testing environment for ROS 2 Humble.
Загрузка образа Ubuntu
После того, как вы определились какой образ Multipass вам необходим, используйте следующую команду, чтобы загрузить, создать и запустить из него локальный экземпляр Ubuntu. Например, запустим 20.04:
$ multipass launch 20.04 launch failed: Another virtual machine manager is currently running. Please shut it down before starting a Multipass instance.
С первого раза, у меня этого не получилось. Дело в том, что multipass не запустится, если в системе запущена другая виртуальная система. Отключаем другие виртуальные машины, в моем случае это был virtualbox. После его отключения все заработало без проблем.
$ multipass launch 20.04 Launched: shining-quail
При успешной работе multipass скачивается и разворачивается образ, которому назначается случайное имя. В данном случае: «shining-quail». Новый экземпляр разворачивается, по умолчанию, с 1 ядром процессора, 1Gb ОЗУ и 5Gb дискового пространства.
Список используемых образов.
Команда multipass list выводит список всех созданных локальных экземпляров и информацию о них:
multipass list Name State IPv4 Image shining-quail Running 10.179.254.132 Ubuntu 20.04 LTS
Для получения более детальной информации можно воспользоваться командой multipass info:
$ multipass info shining-quail Name: shining-quail State: Running IPv4: 10.179.254.132 Release: Ubuntu 20.04.6 LTS Image hash: 37f7e8954e2f (Ubuntu 20.04 LTS) CPU(s): 1 Load: 0.00 0.00 0.00 Disk usage: 1.5GiB out of 4.8GiB Memory usage: 138.9MiB out of 959.4MiB Mounts: --
Здесь можно увидеть состояние образа, его ip-адрес, какая версия Ubuntu используется, потребление ОЗУ, нагрузку системы и точки монтирования в ней.
Открытие оболочки.
Чтобы запустить оболочку в работающем экземпляре, используется команда multipass shell:
$ multipass shell shining-quail Welcome to Ubuntu 20.04.6 LTS (GNU/Linux 5.4.0-162-generic x86_64) * Documentation: https://help.ubuntu.com * Management: https://landscape.canonical.com * Support: https://ubuntu.com/advantage System information as of Tue Sep 12 10:29:41 MSK 2023 System load: 0.0 Processes: 103 Usage of /: 31.1% of 4.67GB Users logged in: 0 Memory usage: 19% IPv4 address for ens3: 10.179.254.132 Swap usage: 0% Expanded Security Maintenance for Applications is not enabled. 0 updates can be applied immediately. Enable ESM Apps to receive additional future security updates. See https://ubuntu.com/esm or run: sudo pro status New release '22.04.3 LTS' available. Run 'do-release-upgrade' to upgrade to it. To run a command as administrator (user "root"), use "sudo <command>". See "man sudo_root" for details. ubuntu@shining-quail:~$
После запуска оболочки в работающем экземпляре вы можете использовать в ней команды в обычном режиме. Например, вы можете обновить индекс пакета apt:
ubuntu@shining-quail:~$ sudo apt update Hit:1 http://archive.ubuntu.com/ubuntu focal InRelease Get:2 http://archive.ubuntu.com/ubuntu focal-updates InRelease [114 kB] Get:3 http://security.ubuntu.com/ubuntu focal-security InRelease [114 kB] Get:4 http://archive.ubuntu.com/ubuntu focal-backports InRelease [108 kB] Get:5 http://archive.ubuntu.com/ubuntu focal/universe amd64 Packages [8628 kB] Get:6 http://security.ubuntu.com/ubuntu focal-security/main amd64 Packages [2434 kB] Get:7 http://archive.ubuntu.com/ubuntu focal/universe Translation-en [5124 kB] ...
Запуск и остановка образа.
Чтобы остановить или запустить образ, используются следующие команды:
$ multipass stop shining-quail $ multipass start shining-quail
Удаление локального образа.
Чтобы удалить локальный экземпляр, независимо от того, работает он или остановлен, используйте следующую команду удаления:
$ multipasd delete shining-quail
Запуск образа с пользовательскими настройками.
Вы также можете запустить образ с необходимыми характеристиками (такими как имя, количество ЦП, размер ОЗУ и размер диска).
$ multipass launch 20.04 --name ubuntu-test --memory 2G --disk 10G --cpus 2 Launched: ubuntu-test $ multipass info ubuntu-test Name: ubuntu-test State: Running IPv4: 10.179.254.237 Release: Ubuntu 20.04.6 LTS Image hash: 37f7e8954e2f (Ubuntu 20.04 LTS) CPU(s): 2 Load: 0.23 0.24 0.10 Disk usage: 1.5GiB out of 9.6GiB Memory usage: 155.0MiB out of 1.9GiB Mounts: --
Запуска веб-сервера на нашем образе.
Давайте посмотрим, как можно использовать наш образ Ubuntu. Например, установим в него и запустим базовый веб-сервер NGINX:
$ sudo apt update Get:1 http://security.ubuntu.com/ubuntu focal-security InRelease [114 kB] Hit:2 http://archive.ubuntu.com/ubuntu focal InRelease Get:3 http://archive.ubuntu.com/ubuntu focal-updates InRelease [114 kB] Get:4 http://security.ubuntu.com/ubuntu focal-security/main amd64 Packages [2434 kB] Get:5 http://archive.ubuntu.com/ubuntu focal-backports InRelease [108 kB] Get:6 http://archive.ubuntu.com/ubuntu focal/universe amd64 Packages [8628 kB] Get:7 http://security.ubuntu.com/ubuntu focal-security/main Translation-en [381 kB] ... $ sudo apt install nginx
После установки NGINX служба должна запуститься автоматически. Убедимся, что она запущена и работает:
ubuntu@ubuntu-test:~$ systemctl status nginx ● nginx.service - A high performance web server and a reverse proxy server Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled) Active: active (running) since Tue 2023-09-12 11:00:27 MSK; 1min 17s ago Docs: man:nginx(8) Main PID: 3056 (nginx) Tasks: 3 (limit: 2317) Memory: 6.1M CGroup: /system.slice/nginx.service ├─3056 nginx: master process /usr/sbin/nginx -g daemon on; master_process on; ├─3057 nginx: worker process └─3058 nginx: worker process Sep 12 11:00:27 ubuntu-test systemd[1]: Starting A high performance web server and a reverse proxy server... Sep 12 11:00:27 ubuntu-test systemd[1]: Started A high performance web server and a reverse proxy server.
Теперь используйте IP-адрес вашего работающего экземпляра (который вы можете получить командой multipass info), чтобы сделать запрос к NGINX и просмотреть веб-страницу приветствия, установленную по умолчанию
Удаление multipass
Чтобы удалить Multipass с вашего компьютера, выполните следующую команду:
$ sudo snap remove multipass
Для получения дополнительной информации о параметрах командной строки Multipass выполните следующую команду:
$ multipass -h
Заключение.
В этой статье рассмотрели как установить и использовать инструмент multipass в вашей системе. Утилита полезная, в данный момент, является неплохой частичной заменой vagrant, который заблокирован на территории РФ. Правда, список образов ограничен только различными версиями образов Ubuntu, vagrant — штука помасштабней. Но в любом случае, утилита будет полезна многим. особенно, кто тесно связан с работой Ubuntu.
Was this helpful?
0 / 0