Обновления несут установщик: bj-installer — компонент ядра, refresh-system переписывает службы и скрипты; мастер предлагает обновиться сразу после ввода ключа
Правки установки приезжают обновлением с сервера лицензий, образ ISO пересобирать не нужно. Прежний установщик обновлений bj-installer не знает — он откладывается и ставится после перезапуска bj-server (ensureSplitModules). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014FsEKyJrYF69Cj9ZXzFLRi
This commit is contained in:
@@ -32,6 +32,10 @@ type Component struct {
|
||||
var Components = []Component{
|
||||
{Name: "bj-server", Title: "Ядро bj: переводы M2M, DEPO, QUIK МНП, ЛК ЕСИА", Path: "/opt/bj/bj-server", Unit: "bj-server", Exec: true, Core: true, Feature: "updates"},
|
||||
{Name: "bj-component-install", Title: "Установщик обновлений", Path: "/usr/local/sbin/bj-component-install", Exec: true, Core: true, Feature: "updates"},
|
||||
// Установщик несёт системные файлы (службы systemd, служебные скрипты): после его обновления
|
||||
// они переписываются командой «bj-installer refresh-system» — правки установки приезжают
|
||||
// обновлением, образ ISO пересобирать не нужно.
|
||||
{Name: "bj-installer", Title: "Установщик и системные файлы (службы, скрипты)", Path: "/usr/local/sbin/bj-installer", Exec: true, Core: true, Feature: "updates"},
|
||||
{Name: "crypto-service.jar", Title: "Криптосервис", Path: "/opt/bj/crypto-service.jar", Unit: "bj-crypto", Feature: "updates"},
|
||||
{Name: "bj-lk", Title: "Личный кабинет клиента", Path: "/opt/bj/bj-lk", Unit: "bj-lk", Exec: true, Feature: "web-cabinet"},
|
||||
{Name: "bj-npr", Title: "Риск-монитор НПР / УДС", Path: "/opt/bj/bj-npr", Unit: "bj-npr", Exec: true, FromCore: true, Feature: "npr"},
|
||||
|
||||
@@ -153,6 +153,14 @@ func InstallStaged(staging string, opt InstallOptions) (res InstallResult) {
|
||||
return fail("включение служб %s: %v: %s", strings.Join(newUnits, ", "), err, strings.TrimSpace(string(out)))
|
||||
}
|
||||
}
|
||||
for _, j := range jobs {
|
||||
if j.c.Name == "bj-installer" && opt.Root == "" {
|
||||
// новые службы и скрипты из обновлённого установщика; перезапуск служб — отдельно ниже
|
||||
if out, err := exec.Command(j.c.Path, "refresh-system").CombinedOutput(); err != nil {
|
||||
return fail("обновление системных файлов (bj-installer refresh-system): %v: %s", err, strings.TrimSpace(string(out)))
|
||||
}
|
||||
}
|
||||
}
|
||||
if err := SaveInstalled(installedPath, installed); err != nil {
|
||||
return fail("запись установленных версий: %v", err)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user