From a6c3511349461172701372e1cc064e4c22b500f3 Mon Sep 17 00:00:00 2001 From: zuevav Date: Thu, 24 Sep 2026 20:14:10 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9E=D0=B1=D1=80=D0=B0=D0=B7:=20=D1=83=D1=81?= =?UTF-8?q?=D1=82=D0=B0=D0=BD=D0=BE=D0=B2=D0=BA=D0=B0=20=D0=B1=D0=B5=D0=B7?= =?UTF-8?q?=20=D0=B2=D0=BE=D0=BF=D1=80=D0=BE=D1=81=D0=BE=D0=B2=20(DHCP,=20?= =?UTF-8?q?=D0=B2=D0=B5=D1=81=D1=8C=20=D0=B4=D0=B8=D1=81=D0=BA)=20=D1=81?= =?UTF-8?q?=20=D0=BE=D0=B4=D0=BD=D0=B8=D0=BC=20=D0=BF=D0=BE=D0=B4=D1=82?= =?UTF-8?q?=D0=B2=D0=B5=D1=80=D0=B6=D0=B4=D0=B5=D0=BD=D0=B8=D0=B5=D0=BC=20?= =?UTF-8?q?=D1=81=D1=82=D0=B8=D1=80=D0=B0=D0=BD=D0=B8=D1=8F;=20=D0=BF?= =?UTF-8?q?=D1=80=D0=B8=D0=B2=D0=B5=D1=82=D1=81=D1=82=D0=B2=D0=B8=D0=B5=20?= =?UTF-8?q?=D0=BD=D0=B0=20=D0=BA=D0=BE=D0=BD=D1=81=D0=BE=D0=BB=D0=B8=20?= =?UTF-8?q?=D0=BD=D0=B5=20=D0=BF=D0=B5=D1=80=D0=B5=D1=80=D0=B8=D1=81=D0=BE?= =?UTF-8?q?=D0=B2=D1=8B=D0=B2=D0=B0=D0=B5=D1=82=D1=81=D1=8F=20=D0=B1=D0=B5?= =?UTF-8?q?=D0=B7=20=D0=BD=D1=83=D0=B6=D0=B4=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_014FsEKyJrYF69Cj9ZXzFLRi --- deploy/iso/build-iso-ubuntu.sh | 3 ++- deploy/iso/ubuntu/user-data.tmpl | 8 ++++---- deploy/linux/sbin/bj-welcome | 7 +++++-- 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/deploy/iso/build-iso-ubuntu.sh b/deploy/iso/build-iso-ubuntu.sh index e4702b4..9711991 100755 --- a/deploy/iso/build-iso-ubuntu.sh +++ b/deploy/iso/build-iso-ubuntu.sh @@ -88,7 +88,8 @@ xorriso -osirrox on -indev "$SRC" -extract /boot/grub/grub.cfg "$WORK/grub/grub. echo "loadfont unicode" echo "menuentry --hotkey=b 'Install Bridge&Join $VERSION (Ubuntu 22.04)' {" echo " set gfxpayload=keep" - echo " linux /casper/vmlinuz autoinstall ds=nocloud\;s=/cdrom/nocloud/ ---" + # без «autoinstall» в параметрах установщик один раз спросит подтверждение перед стиранием диска + echo " linux /casper/vmlinuz ds=nocloud\;s=/cdrom/nocloud/ ---" echo " initrd /casper/initrd" echo "}" # пункт с ядром HWE убираем — его файлы из образа удаляются diff --git a/deploy/iso/ubuntu/user-data.tmpl b/deploy/iso/ubuntu/user-data.tmpl index 0d22326..398d2e7 100644 --- a/deploy/iso/ubuntu/user-data.tmpl +++ b/deploy/iso/ubuntu/user-data.tmpl @@ -1,13 +1,13 @@ #cloud-config # Автоустановка Ubuntu 22.04 для образа Bridge&Join (deploy/iso/build-iso-ubuntu.sh). -# Спрашиваются только сеть (если DHCP нет — задать вручную) и диск (подтверждение стирания). +# Вопросов нет: сеть — DHCP (нет DHCP — установка идёт без сети: обновления и пакеты bj уже в образе), +# диск — весь первый диск целиком. Единственный вопрос — подтверждение «Continue with autoinstall?» +# перед стиранием диска: его задаёт установщик Ubuntu, потому что в меню загрузки нет параметра +# autoinstall (защита от случайной загрузки с образа на машине с данными). # Учётная запись root_bj (sudo) создаётся с неизвестным никому паролем — настоящие пароли # root_bj и user_bj задаёт bj-firstboot при первой загрузке и показывает один раз. autoinstall: version: 1 - interactive-sections: - - network - - storage locale: ru_RU.UTF-8 keyboard: layout: us,ru diff --git a/deploy/linux/sbin/bj-welcome b/deploy/linux/sbin/bj-welcome index 36c5142..8b5e3f4 100755 --- a/deploy/linux/sbin/bj-welcome +++ b/deploy/linux/sbin/bj-welcome @@ -20,12 +20,15 @@ if [ -r "$SETUP" ]; then import json,sys try: d=json.load(open(sys.argv[1])); l=d.get("license",{}) - print("да" if l.get("key") else "нет", l.get("last_msg","")[:60]) + # только устойчивое состояние: сообщение о продлении меняется каждые 15 минут, и экран + # перерисовывался бы (перезапуск входа на консоли) без нужды + print("да" if l.get("key") else "нет") except Exception: print("") PY ) fi { + printf '\033[H\033[2J' # очистить экран: при повторном показе приглашения текст не копится printf '\n ┌────────────────────────────────────────────────────────────────┐\n' printf ' │ Bridge&Join (bj) — шлюз переводов ценных бумаг M2M / НРД │\n' printf ' └────────────────────────────────────────────────────────────────┘\n' @@ -50,7 +53,7 @@ fi else printf ' Состояние: bj работает. Вход в веб-интерфейс:\n'; url /admin case "$lic" in - да*) printf ' Лицензия: %s\n' "${lic#да }";; + да*) printf ' Лицензия: ключ продукта введён (подробности — «Настройка → Лицензия»).\n';; *) printf ' Лицензия НЕ АКТИВИРОВАНА: введите ключ продукта в «Настройка → Лицензия».\n';; esac fi