Хотим обновить приложение оффлайн БЕЗ какого либо онлайн подключения. Например zabbix agent.
Имеем:
# cat /etc/*rel*
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=22.04
DISTRIB_CODENAME=jammy
# zabbix_agentd -V
zabbix_agentd (daemon) (Zabbix) 7.0.18
Хотим обновить заббикс агента прямо из deb пакета без подключения к репозиториям заббикс.
Новую версию агента zabbix-agent_7.2.15-1+ubuntu22.04_amd64.deb разумеется надо сначала скачать и закинуть на сервер:
https://repo.zabbix.com/zabbix/7.2/stable/ubuntu/pool/main/z/zabbix/
или, скачать напрямую с соседненго компьютера по локальной сети:
scp USER@REMOTE_PC://tmp/zabbix-agent_7.2.15-1+ubuntu22.04_amd64.deb /tmp/
Делаем бекап конфигурации текущего zabbix агента:
mkdir /backup
cp -a /etc/zabbix /backup/zabbix_backup_$(date +%F)
Ставим новый zabbix агент напрямую из deb пакета:
dpkg -i /tmp/zabbix-agent_7.2.15-1+ubuntu22.04_amd64.deb
Получаем ошибку отсутствия зависимого пакета:
zabbix-agent зависит от libmodbus5 (>= 3.0.2), однако:
Пакет libmodbus5 не установлен.
Ставим отсутствующий пакет аналогично вручную.
В процессе заменяем файл конфигурации на дефолтный из новой версии:
==> Modified (by you or by a script) since installation.
==> Package distributor has shipped an updated version.
What would you like to do about it ? Your options are:
Y or I : install the package maintainer’s version
N or O : keep your currently-installed version
D : show the differences between the versions
Z : start a shell to examine the situation
The default action is to keep your current version.
*** zabbix_agentd.conf (Y/I/N/O/D/Z) [default=N] ? Y
Возвращаем параметры из старого файла конфигурации в новый и перезапускаем клиента уже новой версии:
systemctl restart zabbix_agent
Проверяем версию нового агента:
# zabbix_agentd -V