Multipass — разворачиваем Ubuntu быстро.

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

Добавить комментарий 0