Комплексное обновление Termidesk

Комплексное обновление подразумевает, что компоненты «Универсальный диспетчер», «Шлюз», «Менеджер рабочих мест» были установлены на одном узле, т.е. ранее при установке были выбраны роли:

  • «Портал администратора»;
  • «Портал пользователя» (опционально);
  • «Менеджер рабочих мест».

Описание применимо к ферме Termidesk.

Перед обновлением рекомендуется удалить фонды и шаблоны, которые ранее были созданы для поставщика ресурсов «Static IP Machines».

Обновление Termidesk должно осуществляться с соблюдением условий:

  • обновление выполняется последовательно, с установкой промежуточных версий релизов. Например, если сейчас установлена версия 4.3, то порядок обновления до 5.1 будет следующим: 4.3 - 4.3.1 - 4.3.2 - 5.0 - 5.1;
  • обновление выполняется операцией установки поверх предыдущей версии. В противном случае, если ранее Termidesk был удален без удаления БД, при повторной установке может возникнуть ряд ошибок;
  • после начала процедуры обновления на Termidesk версии 5.1 запрещается производить операции удаления объектов на «Порталах» с предыдущими версиями Termidesk.

Если после удаления Termidesk (удаление БД при этом не производилось) возникла необходимость повторной установки программного комплекса, то после инсталляции может понадобиться снова ввести данные для доступа (пароль, токен доступа) в поставщике ресурсов.

Если в файлы запуска Termidesk вручную были внесены какие-либо изменения, то эти изменения при обновлении не сохраняются.

Перед любым обновлением Termidesk рекомендуется выполнить резервное копирование БД:

  • остановить службы Termidesk:
sudo systemctl stop termidesk-vdi termidesk-gateway termidesk-taskman termidesk-celery-beat termidesk-celery-worker
BASH
  • выполнить резервное копирование БД:
pg_dump -d <наименование БД> -h <IP-адрес_хоста> -p <порт> -U <пользователь> -W > <имя_файла_для_сохранения_БД.sql>
BASH

где:

-d <наименование БД> - имя БД. При стандартных настройках используется имя termidesk;

-h <IP-адрес_хоста> - IP-адрес узла, где расположена БД. Если БД устанавливалась локально, нужно указать localhost;

-p <порт> - порт для подключения к БД. При стандартных настройках используется 5432;

-U <пользователь> - имя пользователя для подключения. При стандартных настройках используется имя termidesk;

-W - запрос пароля для подключения к БД. При стандартных настройках при появлении запроса нужно указать ksedimret;

<имя_файла_для_сохранения_БД.sql> - имя и формат файла (sql) для сохранения БД.

Для комплексного обновления Termidesk нужно:

  • убедиться, что службы Termidesk были ранее остановлены;
  • удалить кеш файла ответов debconf командами:
sudo rm -f /var/cache/debconf/config.dat
sudo rm -f /var/cache/debconf/config.dat-old
BASH

где:

-f - ключ игнорирования несуществующих файлов;

sudo apt install -y termidesk-vdi
BASH

где:

-y - ключ для пропуска подтверждения установки.

  • в диалогах ввода параметров подключения к СУБД и RabbitMQ нажать экранную кнопку [OK];
  • в диалоге выбора ролей Termidesk нажать экранную кнопку [OK];

Диалоги настройки параметров отображаются в том случае, если ранее они не были заданы.

Поскольку роль «Менеджера рабочих мест» была разделена на две: «Менеджер рабочих мест» и «Менеджер рабочих мест (очереди)», то при обновлении на Termidesk версии 5.1 будет проверяться состояние служб termidesk-celery-beat и termidesk-celery-worker. Если службы были ранее включены, то в параметр NODE_ROLES конфигурационного файла /etc/opt/termidesk-vdi/termidesk.conf добавится значение CELERYMAN.

  • выполнить обновление компонента «Шлюз»:
sudo apt install -y termidesk-gateway
BASH

Если нужно выполнить обновление без подключения репозитория (при наличии deb-пакета) следует выполнить:

sudo apt install -y <путь к deb-пакету>
BASH

В случае, если при обновлении появляется сообщение о неразрешенных зависимостях, следует выполнить:

sudo apt install -f
BASH

где:

-f - ключ, указывающий, что нужно исправить зависимости пакетов.

После завершения обновления нужно:

  • проверить состояние служб Termidesk:
sudo systemctl -a | grep termidesk
BASH

где:

-a - ключ для вывода списка служб;

grep - утилита для поиска текста в выводе предыдущей команды.