From ca5d49266c7010f2154b5e10a7d7e2bed62e0d4d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=92=D0=B8=D0=BA=D1=82=D0=BE=D1=80?= Date: Sun, 27 Sep 2026 17:58:07 +0900 Subject: [PATCH] =?UTF-8?q?=D0=92=D0=B5=D1=80=D1=81=D0=B8=D1=8F=20=D0=B1?= =?UTF-8?q?=D1=8B=D0=BB=D0=B0=20=D0=BE=D0=B1=D0=BD=D0=BE=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=B0=20=D0=B4=D0=BE=200.12.5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 6 +++--- VERSION | 2 +- docs/IMAGE.md | 14 +++++++------- updates/versions.json | 13 +++++++++++++ 4 files changed, 24 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index dd9a0fc..0898205 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ **Virtuality** — простая замена Proxmox для дома и малого офиса. Один сервер, виртуальные машины и понятная панель в браузере на русском языке. Внутри — проверенные KVM, QEMU и libvirt, снаружи — интерфейс, в котором не нужна командная строка. -Текущая версия: **0.12.4** (файл `VERSION`, журнал изменений — `updates/versions.json`). +Текущая версия: **0.12.5** (файл `VERSION`, журнал изменений — `updates/versions.json`). Что умеет: @@ -76,7 +76,7 @@ sudo apt install -y xorriso git curl python3-pip git clone https://git.stackworks.ru/viktor/virtuality.git cd virtuality - make iso # dist/virtuality-0.12.4-ubuntu-26.04-amd64.iso + make iso # dist/virtuality-0.12.5-ubuntu-26.04-amd64.iso ``` Дальше: записать образ на флешку (Rufus, balenaEtcher или `dd`), загрузиться с неё, выбрать **Установить Virtuality**, ответить на три экрана установщика и дождаться перезагрузки. Через минуту после неё панель уже открывается в браузере — адрес показан на экране сервера. Все подробности, параметры сборки и полностью автоматическая установка — в [docs/IMAGE.md](docs/IMAGE.md). @@ -168,7 +168,7 @@ sudo VIRTUALITY_AUTH_USER=admin bash scripts/install_web_panel.sh # панел - Создание из установочного ISO: три шага — название и система, мощность (готовые профили «Мини», «Стандарт», «Мощная» или свои значения), сеть. - Тип системы для ISO: Linux, **Windows 11 / Server 2025** (UEFI и TPM 2.0 включаются сами), Windows 10 / Server 2019–2022, другая. Для Windows подбираются диск SATA и сетевая карта Intel — драйверы не нужны. - Создание из готового образа за минуту: образ конвертируется в qcow2, диск увеличивается до нужного размера, а cloud-init настраивает первый вход — пользователя, пароль и/или SSH-ключ. Пароль хранится только как хеш. При первой загрузке в машину ставится гостевой агент, поэтому панель видит её адрес в любой сети и выключает её корректно. -- Запуск, выключение, перезагрузка, принудительное выключение, автозапуск, удаление вместе с дисками. +- Запуск, выключение, перезагрузка, принудительное выключение, автозапуск, удаление вместе с дисками и пробросами портов (работающая машина сначала выключается). - Пауза и **спящий режим** (память сохраняется на диск сервера, после запуска машина продолжает с того же места). - Изменение процессора и памяти, порядок загрузки, привод CD/DVD (вставить или извлечь образ). - **Увеличение диска**, **клонирование** (точная копия с новым именем и своим адресом), заметки (название и описание), живая нагрузка процессора и памяти. diff --git a/VERSION b/VERSION index e01e0dd..43c2417 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.12.4 +0.12.5 diff --git a/docs/IMAGE.md b/docs/IMAGE.md index e01ff25..ef63994 100644 --- a/docs/IMAGE.md +++ b/docs/IMAGE.md @@ -44,8 +44,8 @@ make iso ARCH=arm64 # ARM64-серверы с UEFI `image/build-iso.sh` сам находит последний Ubuntu 26.04.x live-server ISO, скачивает его (около 3 ГБ), проверяет SHA256 и кладёт результат в `dist/`: ```text -dist/virtuality-0.12.4-ubuntu-26.04-amd64.iso -dist/virtuality-0.12.4-ubuntu-26.04-amd64.iso.sha256 +dist/virtuality-0.12.5-ubuntu-26.04-amd64.iso +dist/virtuality-0.12.5-ubuntu-26.04-amd64.iso.sha256 ``` Скачанный ISO Ubuntu кешируется в `.cache/iso` (или в `VIRTUALITY_ISO_CACHE`). Уже скачанный образ можно передать явно: @@ -109,7 +109,7 @@ make iso ISO_ARGS="--unattended --username sysadmin --password-hash '$(openssl p ## Что спрашивает установщик -Меню загрузки: **Установить Virtuality 0.12.4** (выбирается сам через 10 секунд), тот же пункт с новым ядром HWE, загрузка с другого диска, настройки UEFI, проверка памяти. +Меню загрузки: **Установить Virtuality 0.12.5** (выбирается сам через 10 секунд), тот же пункт с новым ядром HWE, загрузка с другого диска, настройки UEFI, проверка памяти. Сценарий `image/autoinstall.yaml` оставляет интерактивными только три экрана установщика Ubuntu: @@ -161,14 +161,14 @@ cat /var/log/virtuality/firstboot.log Сверьте контрольную сумму скачанного или собранного образа: ```bash -sha256sum -c virtuality-0.12.4-ubuntu-26.04-amd64.iso.sha256 +sha256sum -c virtuality-0.12.5-ubuntu-26.04-amd64.iso.sha256 ``` Убедиться, что образ загрузочный и содержит нужные файлы (то же делает CI): ```bash -xorriso -indev virtuality-0.12.4-ubuntu-26.04-amd64.iso -report_el_torito plain 2>/dev/null | grep UEFI -xorriso -osirrox on -indev virtuality-0.12.4-ubuntu-26.04-amd64.iso -extract /autoinstall.yaml autoinstall.yaml +xorriso -indev virtuality-0.12.5-ubuntu-26.04-amd64.iso -report_el_torito plain 2>/dev/null | grep UEFI +xorriso -osirrox on -indev virtuality-0.12.5-ubuntu-26.04-amd64.iso -extract /autoinstall.yaml autoinstall.yaml ``` --- @@ -182,7 +182,7 @@ xorriso -osirrox on -indev virtuality-0.12.4-ubuntu-26.04-amd64.iso -extract /au - **Linux**: balenaEtcher или `dd`, где `/dev/sdX` — устройство флешки (проверьте через `lsblk`): ```bash - sudo dd if=dist/virtuality-0.12.4-ubuntu-26.04-amd64.iso of=/dev/sdX bs=4M status=progress conv=fsync + sudo dd if=dist/virtuality-0.12.5-ubuntu-26.04-amd64.iso of=/dev/sdX bs=4M status=progress conv=fsync ``` Загрузитесь с флешки (меню загрузки — обычно F8, F11, F12 или Esc при включении), выберите **Установить Virtuality**. diff --git a/updates/versions.json b/updates/versions.json index 00a54fd..c4dd7b1 100644 --- a/updates/versions.json +++ b/updates/versions.json @@ -1,5 +1,18 @@ { "versions": [ + { + "version": "0.12.5", + "date": "2026-09-27", + "title": "Удаление машины в любом состоянии", + "summary": "Пункт «Удалить машину» теперь есть всегда, а не только у выключенной машины. Работающую или приостановленную машину панель сначала выключит, а подтверждение честно об этом предупреждает. Вместе с машиной удаляются её пробросы портов.", + "features": [ + "«Удалить машину» доступно в меню машины и в списке машин при любом состоянии", + "Работающая или приостановленная машина перед удалением выключается", + "Пока с машиной идёт копия, клон или другая задача, удалить её нельзя: панель просит дождаться завершения", + "Вместе с машиной удаляются её пробросы портов, чтобы они не вели на адрес, который достанется другой машине", + "Версия обновлена до 0.12.5" + ] + }, { "version": "0.12.4", "date": "2026-09-27",