Установка через virt-manager
virt-manager — графический интерфейс для управления виртуальными машинами через libvirt. Selenite запускается в нём из готового образа qcow2: образ подключается как диск машины, и система загружается сразу, без установки.
Скачивание
Образы публикуются для каждого релиза под именем selenite-cloud-<версия>-amd64.qcow2. Список версий — на странице релизов.
VERSION=v0.1.0-beta.1
URL="https://altlinux.space/api/packages/alt-atomic/generic/selenite-release-assets/${VERSION}$/selenite-cloud-${VERSION}-amd64.qcow2"
wget "$URL"Рядом с образом лежит файл .sha256 с контрольной суммой. Убедитесь, что она совпадает с суммой скачанного файла:
curl -sSL "${URL}.sha256"
sha256sum "selenite-cloud-${VERSION}-amd64.qcow2"Требования к машине
| Параметр | Значение |
|---|---|
| Архитектура | x86_64 |
| Прошивка | BIOS (SeaBIOS) |
| ОЗУ | от 384 МБ, рекомендуется 1 ГБ |
| Диск | от 5 ГБ, рекомендуется 20 ГБ |
| Диск и сеть | VirtIO |
Прошивка
Образ загружается только через BIOS. Если машина создана с UEFI, загрузка не начнётся.
Диск в образе — 5 ГБ. Этого хватит для загрузки, но образы контейнеров и тома приложений быстро займут остальное место, поэтому увеличьте диск перед первым запуском. Корневой раздел расширится до размера диска автоматически.
В образ входит qemu-guest-agent: если включить гостевой агент в настройках машины, платформа виртуализации покажет её IP-адрес и сможет корректно её выключить.
Подготовка диска
Машина записывает данные прямо в файл образа, поэтому для каждой машины используйте отдельную копию. Для системного подключения libvirt (qemu:///system) положите её в стандартный каталог /var/lib/libvirt/images и сразу увеличьте до нужного размера:
sudo cp selenite-cloud-${VERSION}-amd64.qcow2 /var/lib/libvirt/images/selenite.qcow2
sudo qemu-img resize /var/lib/libvirt/images/selenite.qcow2 20GСоздание машины
- Выберите Файл → Создать виртуальную машину и убедитесь, что выбрано подключение QEMU/KVM.
- Отметьте Импорт образа диска и нажмите Вперёд.
- Укажите путь
/var/lib/libvirt/images/selenite.qcow2. В поле операционной системы выберите Generic Linux 2022 или новее. - Задайте объём памяти и число процессоров — например, 1024 МБ и 2 CPU.
- Введите имя машины, отметьте Проверить конфигурацию перед установкой и нажмите Готово.
- В окне настроек проверьте:
- Обзор → Прошивка — BIOS, а не UEFI;
- в настройках диска Шина диска — VirtIO;
- в настройках сетевой карты Модель устройства — virtio.
- Нажмите Начать установку. Машина загрузится с образа.
Первый запуск
После загрузки в консоли машины открывается панель управления. Адрес машины показан на экране Summary (F1).
Адрес также можно узнать через гостевой агент:
sudo virsh domifaddr selenite --source agentНа новой машине нет ни одного пользователя. В таком состоянии SSH-сервер Selenite работает в режиме первичной настройки: принимает подключение с любым ключом, но выполняет только команду provision.
Безопасность
Пока provision не выполнена, управление машиной может получить любой, у кого есть сетевой доступ к порту 23234. Выполните её сразу после первой загрузки и не открывайте порт наружу до этого момента.
Привязка SSH-ключа
ssh -p 23234 192.168.122.10 provisionSelenite сохранит ключ, с которым вы подключились, и создаст пользователя provisioner со встроенной ролью root. После этого режим первичной настройки выключается: подключиться можно только с этим ключом, а повторный provision вернёт ошибку.
Если ключей несколько, укажите нужный через -i:
ssh -p 23234 -i ~/.ssh/id_ed25519 192.168.122.10 provisionПроверьте, что доступ работает:
ssh -p 23234 192.168.122.10 machine infoПользователи и конфигурация
Пользователь provisioner нужен только для первого доступа. Постоянных пользователей, роли и остальные настройки опишите в конфигурации машины:
access:
users:
- name: alice
roles: [root]
keys:
- ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAA... alice@laptopssh -p 23234 192.168.122.10 machine config apply < config.ymlWARNING
machine config apply заменяет конфигурацию целиком, включая список пользователей. Если в access.users не окажется вашего ключа, вы потеряете доступ к машине.
Чтобы не указывать адрес и порт в каждой команде, настройте алиас в ~/.ssh/config — см. Подключение к машине.