#!/bin/bash # Первая загрузка сервера, установленного с образа Bridge&Join: на экране сервера спрашивает ключ # продукта и запускает bj-installer. После успешной установки служба выключается; адрес первичной # настройки и одноразовый код остаются на экране входа (/etc/issue.d/bj-setup.issue). set -u MARK=/var/lib/bj/.bj/installed-from-iso SERVER=https://lic.zetit.ru CHANNEL=stable [ -s /etc/bj/channel ] && CHANNEL=$(tr -d ' \n' < /etc/bj/channel) finish() { mkdir -p "$(dirname "$MARK")" && date -Iseconds > "$MARK" systemctl disable bj-firstboot.service >/dev/null 2>&1 } clear printf '\n Bridge&Join: установка на сервер\n ────────────────────────────────────────────────\n\n' printf ' Debian установлен. Осталось установить bj.\n' printf ' Нужен ключ продукта (BJ-XXXX-XXXX-XXXX): он есть в портале клиента %s/portal/\n\n' "$SERVER" for i in $(seq 1 60); do curl -fsS -m 5 -o /dev/null "$SERVER/healthz" && break [ "$i" = 1 ] && printf ' Жду сеть и связь с %s…\n' "$SERVER" sleep 2 done while true; do read -r -p " Ключ продукта (пусто — установить позже): " CODE CODE=$(printf '%s' "$CODE" | tr -d ' ' | tr '[:lower:]' '[:upper:]') if [ -z "$CODE" ]; then printf '\n Установка bj отложена. Позже выполните: sudo bj-installer install --code КЛЮЧ-ПРОДУКТА\n\n' finish sleep 3 exit 0 fi if /usr/local/sbin/bj-installer install --code "$CODE" --server "$SERVER" --channel "$CHANNEL"; then finish read -r -p " Нажмите Enter, чтобы перейти к экрану входа. " _ exit 0 fi printf '\n Установка не завершилась. Проверьте ключ продукта и сеть и попробуйте ещё раз.\n\n' done