# Обновление

# Онлайн-обновление Мониторинга

## Описание

Обновление Мониторинга до последней стабильной версии через интернет с помощью install-скрипта.

## Предусловия

- Сервер имеет доступ в интернет
- Права sudo на сервере

## Шаги

### Стандартное обновление

Команда обновления мониторинга до стабильной версии:

	sudo curl -L https://download.printum.io/box/monitoring/install.sh | sudo -E bash

Скрипт автоматически скачает дистрибутив стабильной версии, проверит целостность по чек-сумме (sha512) и выполнит обновление.

### Обновление с шифрованием конфигурационного файла

Если при установке использовалось шифрование `.env`-файла, добавьте переменную `ENV_VAULT_PASSWORD`:

Установка по hostname: 
    
    sudo curl -L https://download.printum.io/box/monitoring/install.sh | sudo -E MON_HOSTNAME=<hostname> ENV_VAULT_PASSWORD=<password> bash -s agent

Установка по IP: 

    sudo curl -L https://download.printum.io/box/monitoring/install.sh | sudo -E IP_ADDRESS=<ip> ENV_VAULT_PASSWORD=<password> bash -s agent

Во время обновления система запросит ввод пароля повторно.

**Важно:** переход с незашифрованного файла на зашифрованный в процессе обновления не поддерживается.

## Проверка

- Проверьте доступность личного кабинета Мониторинга.
- Убедитесь в корректности отображения данных устройств.

# Офлайн-обновление Мониторинга

## Описание

Обновление Мониторинга без доступа в интернет с использованием дистрибутива, полученного от технической поддержки.

## Предусловия

- Получены ссылки на дистрибутив и файл чек-суммы (sha512) от техподдержки
- Файлы переданы на сервер

## Шаги

### Стандартное обновление

Обновление запускается следующей командой:

    sudo -E ./install.sh

### Обновление с шифрованием конфигурационного файла

При обновлении ПринтМенеджера с включённым шифрованием конфигурационного файла необходимо указать переменную ENV_VAULT_PASSWORD=\<password>

    sudo ENV_VAULT_PASSWORD=<password> -E ./install.sh

Пример: `sudo ENV_VAULT_PASSWORD=passW0rd@ -E ./install.sh`

Система запросит ввод пароля повторно. Переход с незашифрованного на зашифрованный в процессе обновления не поддерживается.

## Проверка

- Проверьте доступность личного кабинета Мониторинга.
- Убедитесь в корректности отображения данных.

# Онлайн-обновление ПринтМенеджера

## Описание

Обновление ПринтМенеджера до актуальной стабильной версии через интернет.

## Предусловия

- Сервер имеет доступ в интернет
- Права sudo на сервере

## Шаги

### Стандартное обновление

    sudo curl -L https://download.printum.io/distrib/printum-printmanager/install.sh | sudo -E bash

Скрипт скачает дистрибутив стабильной версии, проверит целостность (sha512) и выполнит обновление.

### Обновление с шифрованием конфигурационного файла

    sudo curl -L https://download.printum.io/distrib/printum-printmanager/install.sh | sudo -E PM_HOSTNAME=<ip> ENV_VAULT_PASSWORD=<password> bash

**Важно:** переход с незашифрованного на зашифрованный файл в процессе обновления не поддерживается.

## Проверка

- Проверьте доступность панели администратора ПринтМенеджера (`https://<ip>:8080/config/`).
- Убедитесь в корректности синхронизации с Мониторингом.

# Офлайн-обновление ПринтМенеджера

## Описание

Обновление ПринтМенеджера без доступа в интернет.

## Предусловия

- Получены ссылки на дистрибутив и файл чек-суммы от техподдержки
- Файлы переданы на сервер и проверена целостность

## Шаги

### Стандартное обновление

Аналогично офлайн-установке, но без переменной `PM_HOSTNAME`:

    sudo -E ./install.sh

### Обновление с шифрованием конфигурационного файла

    sudo ENV_VAULT_PASSWORD=<password> -E ./install.sh

Пример: `sudo ENV_VAULT_PASSWORD=passW0rd@ -E ./install.sh`

Система запросит ввод пароля повторно. Переход с незашифрованного на зашифрованный не поддерживается.

## Проверка

- Проверьте доступность панели администратора ПринтМенеджера.
- Проверьте синхронизацию с Мониторингом.

# Обновление в отказоустойчивой конфигурации

## Описание

Обновление системы, развёрнутой в конфигурации Active-Active с балансировщиком нагрузки (HAProxy) и несколькими серверами ПринтМенеджера.

## Порядок обновления

1. Обновите Мониторинг по инструкции «Онлайн-обновление Мониторинга» или «Офлайн-обновление Мониторинга».
2. Остановите ПМы на серверах. Для этого зайдите на каждый по ssh и выполните команды:
	```
    cd /opt/printmanager
	sudo docker-compose down
    ```
3. Последовательно обновите каждый сервер ПринтМенеджера командой обновления ПМ.
4. Проверьте, что панель администратора ПМ по адресу балансировщика после обновления стабильно доступна.

## Обновление с шифрованием конфигурационного файла

При включённом шифровании массовое развёртывание через скрипт массовой установки **не поддерживается**. Применяйте ручной порядок установки с добавлением переменной `ENV_VAULT_PASSWORD` для каждого сервера:

```
sudo -E ENV_VAULT_PASSWORD=<password> ./install.sh
```

## Проверка

Откройте панель администратора HAProxy и убедитесь, что все секции (`ftp`, `cups_1631`, `tcp_converter_7776/7777`, `admin_8010`, `admin_8080`) отображают зелёные строки серверов. Каждый из разделов должен иметь все зеленые строчки (кроме коричневых строк Frontend или Backend).

# Обновление Клиента ПМ на Linux

## Описание
Обновление клиентской части ПринтМенеджера на рабочих станциях Linux.

### Предусловия
- Получена ссылка на актуальный дистрибутив от техподдержки.
- УЗ пользователя, от которой выполняется обновление есть sudo-права на целевой рабочей станции.

## Шаги
1. Обратитесь в службу поддержки для получения ссылки на актуальный дистрибутив.
2. Скачайте новую версию клиента:

```
curl -O https://download.printum.io/distrib/printmanager-client/printmanager_client-linux-x.y.z.tar
```

3. Распакуйте архив и повторите шаги установки из раздела «Установка клиента ПМ»:

```
tar xvf printmanager_client-linux-x.y.z.tar
cd printmanager_client-linux-x.y.z
sudo -E ./install.sh
```

### Как проверить обновление
Выполните команду ниже для просмотра системных логов работы службы клиента ПМ:
```
sudo systemctl status printum-printmanager-client.service
```

- Служба должна быть активна.
- В системе должен присутствовать виртуальный принтер с именем Printum.

### Логи
```
sudo journalctl -u printum-printmanager-client.service
# или
cat /var/log/printum/printmanager_client.log
```

# Обновление Сетевого агента

## Описание

Обновление сетевого агента мониторинга на Linux или Windows.

## Обновление на Linux (офлайн)

1. Получите ссылку на последнюю версию дистрибутива от техподдержки.
2. Скачайте и выполните обновление:
````
tar xf agent-linux-x.x.tar.gz
cd printum-agent
sudo bash ./update.sh
````

## Обновление на Windows (офлайн)

1. Получите и скачайте архив `agent-win-x.x.x.zip` от техподдержки.
2. Распакуйте в удобную директорию, например `C:\Printum\agent-win-x.x.x`.
3. Откройте и настройте `config.env`:
    - `TOKEN=<GUID_network_agent>` — токен из Настройки → Интеграции → Сетевые агенты.
    - `BACKEND=http://<address_mon>:8000/`— IP-адрес сервера мониторинга. Важно указывать слэш (/) в конце: `http://<IP_M>:8000/.`

4. Откройте командную строку от имени администратора и выполните:
```
cd C:\Printum\agent-win-x.x.x
install.bat
````
## Проверка

В панели Мониторинга откройте список агентов. В колонке `version` должна быть целевая версия, в `updated_at` — актуальные дата и время.

# Обновление Локального агента

## Описание

Обновление локального агента для мониторинга заданий печати на Windows или Linux.

## Обновление локального агента на Linux
Скачайте обновленный дистрибутив и выполните команды.

    tar xf printum-jtm-linux-x.x.tar
    cd printum-jtm-linux-x.x
    ./install.sh

Чтобы проверить, что служба работает, выполните:

    systemctl status printum-jtm

## Обновление локального агента на Windows

Обновление ПО осуществляется аналогично установке, запустите командную строку
от имени администратора и выполните команду:

    msiexec /i printmanager_client-a.b.c-win.msi /qn /L install.log


При обновлении менять стандартный путь установки не нужно. Предварительно
удалять предыдущую версию не нужно. Установщик самостоятельно удалит
предыдущие версии продукта, сохранив настройки в файле `settings.yml`

# Обновление Клиента ПМ на Windows

## Описание

Обновить Клиент ПМ на рабочей станции Windows до актуальной версии.

### Предусловия

- Клиент ПМ ранее установлен на рабочей станции.
- Командная строка запущена от имени администратора.
- Получена ссылка на актуальную версию дистрибутива от технической поддержки.

### Что потребуется

- MSI-файл актуальной версии дистрибутива: `printmanager_client-a.b.c-win.msi`.

## Шаги обновления

#### Шаг 1. Получить и скачать актуальный дистрибутив

Обновление ПО осуществляется аналогично установке. Запросите у технической поддержки ссылку на актуальную версию дистрибутива и скачайте его на устройство.

#### Шаг 2. Запустить обновление

Запустите командную строку от имени администратора и выполните команду:

```
msiexec /i printmanager_client-a.b.c-win.msi /qn /L install.log
```

При обновлении менять стандартный путь установки не нужно. Предварительно удалять предыдущую версию не нужно. Установщик самостоятельно удалит предыдущие версии продукта, сохранив настройки в файле `settings.yml`.

## Обновление через групповые политики

Обновление через групповые политики проходит так же, как и установка. Воспользуйтесь разделом "Установка MSI пакета" со страницы [Установка клиента ПМ на Windows — групповые политики](https://wiki.printum.io/books/3-ustanovka/page/ustanovka-klienta-pm-na-windows-gruppovye-politiki-s7B).

Предварительно удалять предыдущую версию не нужно. Установщик самостоятельно удалит предыдущие версии клиента, сохранив настройки в файле `settings.yml`.

Для обновления настроек проверки HTTPS-сертификата замените содержимое файла сертификатов в папке с программой:

```
C:\Program Files\printum\printmanager_client\lib\certifi\cacert.pem
```

Содержимое файла должно соответствовать описанному в разделе "Настройка проверки HTTPS-сертификата для службы в Windows" страницы [Настройка SSL для служб Мониторинга](https://wiki.printum.io/books/6-obnovlenie-i-obsluzivanie/page/nastroika-ssl-dlia-sluzb-monitoringa).

## Ожидаемый результат

- Клиент ПМ обновлён до актуальной версии.
- Служба `Printum Optimize Service` запущена.
- Настройки из файла `settings.yml` сохранены.

## Как проверить обновление

- Открыть "Службы" и убедиться, что `Printum Optimize Service` в состоянии "Выполняется".
- Проверить версию установленного ПО в разделе "Установка и удаление программ".

## Связанные страницы

- [Удаление Клиента ПМ на Windows](https://wiki.printum.io/books/3-ustanovka/page/udalenie-klienta-pm-na-windows)

---