LINUX FU: простые виртуальные машины

Прочитано: 45 раз(а)


Не так давно мы рассмотрели возможность легкого создания контейнеров Docker из командной строки, чтобы вы могли просто развернуть виртуальную среду для разработки. Было бы неплохо, если бы вы могли сделать то же самое для виртуальных машин? Вы можете. Используя Multipass от Canonical, создателей Ubuntu, вы можете легко запускать виртуальные машины под Linux, Mac или Windows. Конечно, большинство рассматриваемых виртуальных машин являются вариациями Ubuntu, но есть несколько дополнительных образов, и вы можете создать свои собственные.

После его установки запуск нового экземпляра Ubuntu становится тривиальным. Если у вас есть заданная конфигурация, вы даже можете настроить предопределенные настройки с помощью файла YAML.

МОНТАЖ

Процесс зависит от платформы, но в Ubuntu установить Multipass так же просто, как:

sudo snap установить мультипасс

Вы должны быть уверены, что находитесь на компьютере, поддерживающем виртуальные машины. В /proc/cpuinfoфайле должен быть флаг vmxили svm(на самом деле их несколько, по одному на каждое ядро).

КАТАЛОГ

Вы можете увидеть все доступные изображения, запустив:

многопроходный поиск

Естественно, большинство образов являются версиями Ubuntu, хотя есть несколько других доступных устройств, таких как anbox и nextcloud.

Предположим, вы хотите провести тестирование на экземпляре Ubuntu bionic (18.04). Вы можете запустить экземпляр по умолчанию, введя команду:

многопроходный бионический запуск

Однако обычно вам нужно немного больше контроля, поскольку по умолчанию используется одно ядро ​​ЦП, гигабайт ОЗУ и 5 ГБ дискового пространства. Скажем, вам нужны 4 процессора, 6 ГБ ОЗУ и диск на 10 ГБ. Вы также можете указать имя виртуальной машины:

многопроходный запуск -c 4 -m 6G -d 10G -n hackaday-vm bionic

НА ХОДУ

Если у вас есть несколько виртуальных машин, вы можете посмотреть, как они работают:

многопроходный список

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

многопроходная остановка hackaday-vm
многопроходный запуск hackday-vm
многопроходная остановка hackaday-vm
многопроходный удалить hackaday-vm

ДОСТУП

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

Однако во многих случаях вам просто нужна оболочка в новую машину. Это просто:

многопроходная оболочка hackaday-vm

Если вы хотите поделиться данными, вы можете подключить папку хоста к виртуальной машине:

многопроходное монтирование ~/hackaday hackaday-vm

Если вы потеряете все из виду, вы можете спросить о конкретной машине:

многопроходная информация hackaday-vm

Имя: hackaday-vm
Состояние: работает
IPv4: 10.134.147.131
Релиз: Ubuntu 18.04.6 LTS
Хэш изображения: 5269cad5bc26 (Ubuntu 18.04 LTS)
Нагрузка: 0,78 0,41 0,16
Использование диска: 1,2 ГБ из 9,5 ГБ
Использование памяти: 143,2 Мб из 5,8 Гб.
Маунты: /home/alw/hackaday => /home/alw/hackaday
                   Карта UID: 0: по умолчанию
                   Карта GID: 0: по умолчанию

Это действительно настолько просто. Существуют и другие команды для запуска программ на машине или настройки сети. Также есть графический интерфейс, который находится в системном трее, но если вы не используете виртуальные машины как собственный пользователь, это не так полезно для вас.

КОНФИГУРАЦИЯ

Если у вас есть вещи, которые вам всегда нужно настраивать, вы можете автоматизировать это. Вы создаете файл yaml (известный как облачный файл инициализации ) и настраиваете такие вещи, как пользователи, пакеты, ключи ssh и тому подобное. Обратите внимание, что стандарт допускает несколько форматов, но, по-видимому, Multipass поддерживает только YAML.

Другая вещь, которую вы можете сделать, это использовать Packer для упаковки нового собственного образа. Это немного сложно, но вы можете прочитать документацию, чтобы узнать, как это сделать .

Вы когда-нибудь настраивали среду разработки, а через несколько лет обнаруживали, что она вся сломана из-за обновлений? С виртуальными машинами это никогда не повторится. Вы можете архивировать целые среды. Это может быть важно в рабочих средах, когда вам нужно вернуться к точному способу создания кода для решения проблемы. Это также чрезвычайно важно для критически важного для безопасности программного обеспечения, где вам иногда требуется иметь возможность создать точно такой же исполняемый файл и доказать, что вы можете это сделать. Виртуальные машины значительно упрощают эту задачу, а Multipass — это простой способ создания и использования по крайней мере некоторых типов виртуальных машин. Тот факт, что он работает на нескольких платформах, также является отличной особенностью.

Linux



Новости партнеров