Поиск по сайту:

Запускайте виртуальные машины Linux, macOS, Windows с помощью Quickemu

Используйте Quickemu для быстрого запуска виртуальных машин для Linux, macOS и Windows

В этом руководстве объясняется, что такое Quickemu и как создавать и запускать виртуальные машины настольных компьютеров Linux, macOS и Windows с помощью Quickemu в Linux.

Что такое Quickemu?

Quickemu — это программа командной строки для быстрого создания и запуска оптимизированных виртуальных машин настольных компьютеров Linux, macOS и Windows.

Вам не нужны права sudo или root для запуска виртуальных машин. Вы можете просто протестировать любые виртуальные машины Linux, macOS или Windows как обычный пользователь и сохранить конфигурации виртуальной машины в своем HOME-каталоге или на USB-накопителе.

Приложение Quickemu состоит из двух инструментов CLI, а именно quickemu и quickget.

Инструмент Quickget CLI загружает последнюю версию ISO-образа для вашей ОС. По умолчанию загруженные изображения сохраняются в вашем домашнем каталоге. Вы можете изменить его в другое место, например, на внешний USB-накопитель.

А инструмент Quickemu CLI использует QEMU для создания виртуальных машин и управления ими. Таким образом, виртуальные машины высоко оптимизированы и должны работать «из коробки» без какой-либо дополнительной настройки.

Возможности Quickemu

Quickemu поставляется с множеством готовых функций.

  • Поддерживается более 300 операционных систем.
  • Поддерживает как EFI (с SecureBoot или без него), так и устаревшую загрузку BIOS.
  • Полная поддержка SPICE с общим доступом к буферу обмена хоста и гостя.
  • Обеспечивает общий доступ к файлам для гостей Linux и Windows с помощью VirtIO-webdavd.
  • Обеспечивает общий доступ к файлам для гостей Linux и macOS с помощью VirtIO-9p.
  • Обеспечивает общий доступ к файлам Samba между гостями Linux, macOS и Windows.
  • Настраивает автоматическую переадресацию портов SSH для гостей.
  • Переадресация сетевых портов.
  • Поддержка полнодуплексного звука.
  • Смарт-карта, сквозное подключение USB-устройства.
  • Ускорение VirGL.
  • Поддержка Брайля.
  • Бесплатный и с открытым исходным кодом.

Установите Quickemu в Linux

Перед установкой Quickemu убедитесь, что процессор вашей системы поддерживает аппаратную виртуализацию (VT-X). В приведенном ниже руководстве мы задокументировали несколько различных способов определить, поддерживает ли система Linux виртуализацию.

Как узнать, поддерживает ли процессор технологию виртуализации (VT)

Если ваша система поддерживает аппаратную виртуализацию, продолжайте следующие шаги.

Quickemu — это новый проект, и на данный момент он упакован только для нескольких операционных систем.

Arch Linux:

Quickemu доступен в AUR. Если вы используете Arch Linux и его варианты, такие как EndeavourOS, Manjaro Linux, вы можете установить Quickemu с помощью помощников Paru или Yay.

paru -S quickemu

Или,

yay -S quickemu

NixOS:

Чтобы установить Quickemu в NixOS, запустите:

nix-env -i quickemu

Убунту:

Разработчик Quickemu создал специальный PPA для Ubuntu и ее производных, таких как Elementary OS, Linux Mint и Pop!_OS.

Чтобы установить Quickemu в Ubuntu и ее производных, выполните одну за другой следующие команды.

sudo apt-add-repository ppa:flexiondotorg/quickemu
sudo apt update
sudo apt install quickemu

Информацию о других дистрибутивах Linux см. в репозитории проекта на GitHub, указанном в конце.

Запускайте виртуальные машины Linux, MacOS и Windows с помощью Quickemu

Создание виртуальных машин и управление ими с помощью Quickemu — это всего лишь двухэтапный процесс.

Загрузите образ ОС, например Alpine Linux, с помощью Quickget CLI:

quickget alpine latest

Вы также можете скачать конкретную версию Alpine, как показано ниже:

quickget alpine 3.15

Будет создан файл конфигурации для выбранной ОС. Ему будет присвоено имя в зависимости от выбранной ОС.

alpine-latest/alpin 100%[===================>]  47.00M  3.52MB/s    in 14s     
Checking alpine-latest/alpine-virt-3.16.0-x86_64.iso with sha256sum... Good!
Making alpine-latest.conf

To start your Alpine Linux virtual machine run:
    quickemu --vm alpine-latest.conf

Загрузите ISO-образ Alpine Linux с помощью Quickget

Теперь запустите виртуальную машину Alpine Linux с помощью команды:

quickemu --vm alpine-latest.conf

Эта команда создаст и запустит виртуальную машину Alpine Linux через клиент Spicy GTK.

Запустите виртуальную машину Alpine Linux с помощью Quickemu

Обратите внимание, что это всего лишь живая система. Вам все равно придется установить ОС. Теперь вы можете начать установку Alpine OS как обычно.

Каждая виртуальная машина и связанные с ней файлы (ISO, Qcow2 и другие файлы конфигурации) хранятся в отдельном каталоге вашего HOME-каталога. Например, если вы создали виртуальную машину Alpine, используя последний образ Alpine, будет создан новый каталог с именем «alpine-latest», и файлы, связанные с виртуальной машиной, будут храниться в этом каталоге.

ls alpine-latest
alpine-latest-agent.sock  alpine-latest.pid    alpine-latest.sh               disk.qcow2
alpine-latest.log         alpine-latest.ports  alpine-virt-3.16.0-x86_64.iso  OVMF_VARS.fd

Как вы видите в приведенном выше выводе, ISO-файл моей виртуальной машины Alpine Linux, файл диска Qcow2 и другие файлы конфигурации, такие как .ports, .fd, .sock и т. д. сохраняются в каталоге ~/alpine-latest.

Доступ к виртуальным машинам с хоста через терминал

Всякий раз, когда вы запускаете виртуальную машину, Quickemu отображает следующую полезную информацию на терминале вашей хост-системы.

Quickemu 3.15 using /usr/bin/qemu-system-x86_64 v6.2.0
 - Host:     Ubuntu 22.04 LTS running Linux 5.15 (ubuntu2204)
 - CPU:      11th Gen Intel(R) Core(TM) i3-1115G4 @ 3.00GHz
 - CPU VM:   1 Socket(s), 1 Core(s), 1 Thread(s), 4G RAM
 - BOOT:     EFI (Linux), OVMF (/usr/share/OVMF/OVMF_CODE_4M.fd), SecureBoot (off).
 - Disk:     alpine-latest/disk.qcow2 (16G)
             Looks unused, booting from alpine-latest/alpine-virt-3.16.0-x86_64.iso
 - Boot ISO: alpine-latest/alpine-virt-3.16.0-x86_64.iso
 - Display:  SPICE, qxl-vga, GL (on), VirGL (off)
 - ssh:      On host:  ssh user@localhost -p 22220
 - SPICE:    On host:  spicy --title "alpine-latest" --port 5930 --spice-shared-dir /home/ostechnix/Public
 - WebDAV:   On guest: dav://localhost:9843/
 - 9P:       On guest: sudo mount -t 9p -o trans=virtio,version=9p2000.L,msize=104857600 Public-ostechnix ~/Public
 - Process:  Starting alpine-latest.conf as alpine-latest (11272)

Как вы видите, он отображает детали конфигурации как хоста, так и виртуальной машины, включая другие сведения, такие как доступ к виртуальной машине через SSH, доступ к общей папке через клиент SPICE и т. д. Вы можете использовать эти данные для доступа к виртуальной машине из вашей хост-системы. .

Например, если служба SSH настроена на порт 22220 на вашей виртуальной машине, вы можете получить доступ к виртуальной машине из системы хостов, как показано ниже.

ssh -P 22220 vm-user@localhost

Вы можете проверить файл .ports в каталоге виртуальной машины, чтобы узнать, к каким портам SSH и SPICE подключена виртуальная машина.

cat alpine-latest/alpine-latest.ports 
ssh,22220
spice,5930

Это может быть полезно, если вы хотите запустить виртуальные машины в автономном режиме.

Создавайте виртуальные машины с индивидуальной спецификацией (ядро ЦП, диск и память)

По умолчанию Quickemu распределяет количество ядер процессора, а также размер диска и оперативной памяти в зависимости от характеристик вашего хост-компьютера. Вы можете переопределить это поведение по умолчанию, используя следующие параметры.

  • cpu_cores="2" — укажите количество ядер ЦП (например, 2 ядра), выделенных виртуальной машине.
  • ram="4G" — укажите объем оперативной памяти (например, 4 ГБ), который необходимо выделить виртуальной машине.
  • disk_size="20G" – укажите размер диска (например, 20 ГБ), который необходимо выделить виртуальной машине.

Чтобы создать виртуальную машину с двумя ядрами ЦП, 4 ГБ ОЗУ и жестким диском емкостью 20 ГБ, отредактируйте файл конфигурации виртуальной машины:

nano alpine-latest.conf

Добавьте следующие строки:

cpu_cores="2"
ram="4G"
disk_size="20G"

Создайте виртуальную машину пользовательской конфигурации с помощью Quickemu

Теперь запустите виртуальную машину, используя обновленный файл конфигурации:

quickemu --vm alpine-latest.conf

Создать ярлык на рабочем столе для виртуальных машин

Вместо того, чтобы вводить всю команду, вы можете создать ярлык на рабочем столе для вашей виртуальной машины, как показано ниже.

quickemu --vm alpine-latest.conf --shortcut

Эта команда создаст ярлык для виртуальной машины Alpine в папке ~/.local/share/applications/.

ls ~/.local/share/applications/
alpine-latest.desktop

Для виртуальной машины также создается пункт меню для виртуальной машины. С этого момента вы можете запускать виртуальную машину из панели управления или меню.

Ярлык на рабочем столе для виртуальных машин

Запуск виртуальных машин с помощью SPICE Client

Запуск виртуальных машин с протоколом SPICE предоставит вам следующие преимущества.

  • Делитесь буфером обмена между хостом и гостем.
  • Обмен файлами между хостом и гостем.
  • Включите сквозное подключение USB.

Убедитесь, что клиент spicy установлен, и выполните следующую команду, чтобы

quickemu --vm alpine-latest.conf --display spice

Использовать существующие ISO-образы

Иногда вы, возможно, уже загрузили файлы ISO. В этом случае вам не нужно использовать команду «quickget» для загрузки файла ISO. Вместо этого просто отредактируйте файл конфигурации вашей виртуальной машины:

nano alpine-latest.conf

Обновите правильный путь к файлу ISO (например, /home/ostechnix/Downloads/), как показано ниже:

[...]
iso="/home/ostechnix/Downloads/alpine-virt-3.16.0-x86_64.iso"

Теперь Quickemu будет использовать файл ISO, сохраненный в каталоге «Загрузки».

Запуск виртуальных машин в безголовом режиме

Убедитесь, что клиент spicy установлен.

Выполните следующую команду, чтобы запустить виртуальную машину со SPICE, но без подключенного дисплея:

quickemu --vm alpine-latest.conf --display none

Поскольку виртуальная машина запускается в безголовом режиме, доступ к ней можно получить только через SSH.

Предполагая, что служба SSH настроена на порт 22220 на вашей виртуальной машине, вы можете получить доступ к виртуальной машине из системы хостов, как показано ниже.

ssh -P 22220 vm-user@localhost

Вы можете проверить файл .ports в каталоге виртуальной машины, чтобы узнать, к каким портам SSH и SPICE подключена виртуальная машина.

cat alpine-latest/alpine-latest.ports 
ssh,22220
spice,5930

Настройка сети

Включить сетевой мост

Чтобы разрешить вашей виртуальной машине использовать предварительно настроенный сетевой мост, добавьте следующую строку в конфигурацию виртуальной машины:

bridge="br0"

Переадресация портов

Чтобы разрешить переадресацию портов, добавьте следующую строку в конфигурацию виртуальной машины:

port_forwards=("22:2200" "8800:80"

Здесь,

  • 22:2200 — порт 22 вашей хост-системы перенаправляется на порт 2200 вашей гостевой системы.
  • 8800:80 — порт 8800 вашей хост-системы перенаправляется на порт 80 вашей гостевой системы.

Quickemu позволяет вам выполнить некоторые другие настройки. Более подробную информацию можно найти на странице проекта на GitHub, указанной в конце.

Удалить виртуальную машину

Вы можете удалить виртуальную машину, если она больше не требуется, с помощью команды:

quickemu --vm alpine-latest.conf --delete-vm

Эта команда просмотрит всю виртуальную машину вместе с ее конфигурацией.

Quickgui — графический интерфейс для Quickemu

Quickemu и Quickget — программы командной строки. Не всем нравится режим командной строки. Тем, кто предпочитает графический интерфейс, а не интерфейс командной строки, обратите внимание на Quickgui, графический интерфейс Quickemu для создания, запуска и управления виртуальными машинами. Для получения более подробной информации обратитесь к следующему руководству.

Quickgui — графический интерфейс Quickemu для создания и запуска виртуальных машин

Отобразить справку

Чтобы просмотреть справку Quickemu, запустите:

quickemu --help

Usage
  quickemu --vm ubuntu.conf

You can also pass optional parameters
  --braille               : Enable braille support. Requires SDL.
  --delete-disk           : Delete the disk image and EFI variables
  --delete-vm             : Delete the entire VM and it's configuration
  --display               : Select display backend. 'sdl' (default), 'gtk', 'none', or 'spice'
  --fullscreen            : Starts VM in full screen mode (Ctl+Alt+f to exit)
  --ignore-msrs-always    : Configure KVM to always ignore unhandled machine-specific registers
  --screen <screen>       : Use specified screen to determine the window size.
  --shortcut              : Create a desktop shortcut
  --snapshot apply <tag>  : Apply/restore a snapshot.
  --snapshot create <tag> : Create a snapshot.
  --snapshot delete <tag> : Delete a snapshot.
  --snapshot info         : Show disk/snapshot info.
  --status-quo            : Do not commit any changes to disk/snapshot.
  --version               : Print version

Заключение

Quickemu предоставляет простой способ быстрого развертывания и запуска виртуальных машин настольных компьютеров Windows, macOS и Linux.

Отличительной особенностью Quickemu является возможность загрузки ISO-образа напрямую с помощью интерфейса командной строки Quickget. Я не думаю, включена ли эта функция в другие приложения виртуализации и гипервизоры.

Кроме того, использование Quickemu очень просто! Если вы ищете простой способ запуска оптимизированных виртуальных машин для Linux, macOS и Windows, Quickemu — идеальный выбор!

Ресурс:

  • Репозиторий Quickemu на GitHub

Статьи по данной тематике