В этой статье поговорим о том, что такое Virt-builder, как установить Virt-builder в Linux и как создавать образы виртуальных машин с помощью Virt-builder в Linux.
Что такое Virt-builder
Virt-builder — это инструмент командной строки, позволяющий легко и быстро создавать разнообразные образы виртуальных машин для локального или облачного использования. В нем также имеет множество возможностей для настройки образов. Вы можете установить новые приложения в образ виртуальной машины, задать имя хоста, установить пароль root, запустить команду или сценарий при первой загрузке гостевой виртуальной машины, добавить или отредактировать файлы в образе диска и многое другое. Все эти задачи можно выполнить из командной строки и не требуют прав root.
Virt-builder загружает чистые шаблоны ОС с цифровой подписью, поэтому вам не придется устанавливать ОС вручную. Все, что вам нужно сделать, это просто использовать графический интерфейс Virt-manager или инструмент командной строки Virt-install, чтобы мгновенно запустить виртуальные машины с помощью предопределенных шаблонов. Virt-builder предоставляет минимальные шаблоны ОС для популярных вариантов Linux и Unix. И самое интересное, что вы также можете создать свой собственный шаблон.
Создаем образы машин с помощью virt-builder
Создавать образы виртуальных машин с помощью Virt-builder довольно просто и понятно.
Список доступных шаблонов виртуальных машин
Сначала просмотрим доступные шаблоны ОС. Для этого запустим:
$ virt-builder --list
У вас должен получиться довольно внушительный список доступных образов.

Прежде чем создавать образ виртуальной машины, вы можете просмотреть примечания по установке гостевой ОС, чтобы узнать, что там находится.
Например, чтобы просмотреть примечания по установке scientificlinux-6, запустите:
$ virt-builder --notes scientificlinux-6

Создаем образ виртуальной машины.
Можно загрузить шаблоны ОС в определенный каталог, для этого создадим каталог:
$ mkdir virtbuilder $ cd virtbuilder/
Создадим ВМ с CentOS Stream 8 следующей командой:
$ virt-builder centosstream-8

Как видите, эта команда создала минимальный образ Debian 10. У него не будет учетных записей пользователей. Он будет иметь только случайный пароль root и минимально установленное программное обеспечение.
Имя созданного образа будет совпадать с именем шаблона. Его можно изменить, используя опцию -o:
$ virt-builder centosstream-8 -o image_name.img
По умолчанию, virt-builder использует формат .img. Но вы можете переконвертировать его в любой другой, например в qcow2, как показано ниже:
$ virt-builder centosstream-8 --format qcow2
По умолчанию Virt-builder построит образ, соответствующий архитектуре операционной системы хоста. Например, если ваша хостовая ОС является 64-разрядной, она создаст 64-разрядную виртуальную машину. Вы можете изменить это, опцией —arch
$ virt-builder centosstream-8 --arch i686
Хотите создать образ нестандартного размера? Это также возможно. Следующая команда создаст виртуальную машину размером 50 ГБ:
$ virt-builder centosstream-8 --size 50G
Установка пароля для root.
Как было сказано выше, при создании образа учетной записи пользователя root будет назначен случайный пароль. Если вы хотите установить определенный пароль для пользователя root, используйте опцию —root-password, как показано ниже:
$ virt-builder centosstream-8 --format qcow2 --root-password password:centos_pass

Приведенная выше команда создаст образ CentOS Stream 8 и назначит пароль для пользователя root как «centos_pass».
Вы также можете установить пароль из текстового файла:
$ virt-builder centosstream-8 --root-password file:/path/to/file/with/pass.txt
Чтобы отключить пароль root:
$ virt-builder centosstream-8 --root-password disabled
Блокировка root-аккаунта:
$ virt-builder centosstream-8 --root-password locked
Заблокировать учетную запись root и отключить у нее пароль.
$ virt-builder centosstream-8 --root-password locked:disabled
Чтобы назначить пароль root, но при этом заблокировать учетную запись root, используйте следующие параметры:
--root-password locked:file:FILENAME --root-password locked:password:PASSWORD
Создание пользователя
Для создания пользователей используется следующая команда:
$ virt-builder centosstream-8 --firstboot-command 'useradd -m -p "" user ; chage -d 0 user'
Приведенная выше команда создаст пользователя с именем «user» без пароля и заставит его установить пароль при первом входе в систему.
Установка hostname
Для установки hostname в разворачиваемой ВМ используется следующая команда:
$ virt-builder centosstream-8 --hostname hostname.local

Предварительная установка ПО.
Чтобы установить пакеты на виртуальную машину, запустите:
$ virtual-builder centosstream-8

Чтобы установить несколько пакетов, укажите их в кавычках, разделив запятыми, как показано ниже:
$ virt-builder centosstream-8 --install "vim,htop"
Обновить все пакеты в виртуальной машине:
$ virt-builder centosstream-8 --update
Если ваша виртуальная машина использует SELinux, то необходимо выполнить перемаркировку после установки или обновления пакетов:
$ virt-builder centosstream-8 --update --selinux-relabel
Кастомизация образов.
Virt-builder имеет множество возможностей для настройки образов. Например, вы можете запустить определенную команду/скрипт при первой загрузке виртуальной машины, используя команду:
$ virt-builder debian-12 --firstboot-command 'apt -y update'
Чтобы добавить строку в конфиг виртуальной машины, запустите:
$ virt-builder centos-8.2 --append-line '/etc/hosts:192.168.225.1 hostname.local'
Кэширование шаблонов.
По умолчанию, все шаблоны загружаются из сети при первом обращении к ним. Поскольку размер шаблонов большой, загруженные шаблоны будут кэшироваться в домашнем каталоге пользователя.
Вы можете распечатать подробную информацию о каталоге кэша и о том, какие шаблоны кэшируются в данный момент, используя следующую команду:
$ virt-builder --print-cache

Так же это можно убедиться в этом, заглянув в папку кэша:

Чтобы загрузить все доступные шаблоны в папку локального кэша, запустите:
$ virt-builder --cache-all-templates
Если вы не хотите кэшировать шаблон при создании изображения, используйте опцию —no-cache.
Чтобы удалить все кэшированные шаблоны, запустите:

Импорт образов дисков в гипервизор
Итак, вы загрузили желаемую ОС и настроили ее по своему вкусу. Что теперь? Просто импортируйте образ и запустите виртуальную машину, используя только что созданный образ диска с гипервизором. Вы можете его запустить на виртуальной машине KVM с использованием образа Qcow2 или на любом другом, используя также формат .img.
Virt-builder имеет сотни команд и опций. Здесь рассмотрены только основные из них. Для получения более подробной информации обратитесь к руководству.
$ man virt-builder
Was this helpful?
0 / 0