Сервер как и операционная система Gentoo Linux на которой он базируется постоянно совершенствуется, добавляются новые функции, исправляются ошибки.
Для удобства пользователей сервер не имеет фиксированных версий и поддерживает принцип скользящего обновления Rolling Release
Обновление сервера ПАК Астра состоит из двух независимых частей:
Полное обновление операционной системы - сложный процесс, требующий базовых навыков администрирования Unix-систем.
При использовании в качестве платформы рекомендованного дистрибутива Gentoo Linux полная документация по обновлению находится в соответствующем разделе описания операционной системы Обновление Gentoo.
Для быстрого обновления в большинстве случаев достаточно провести типовое обновление командами:
emerge --sync emerge -1 portage emerge --update --deep --newuse world perl-cleaner --all emerge @preserved-rebuild emerge --depclean revdep-rebuild -v -- --ask eclean-dist -d
С версией базы данных старше 97 (27.09.18) необходимо обновить коннектор СУБД на MariaDB.
emerge --sync echo "=dev-db/mariadb-connector-c-3.0.6 ~x86" >>/etc/portage/package.accept_keywords emerge --sync emerge dev-db/mariadb-connector-c
Перезапустить сервисы d3srv, e3srv и выполнить удаление старого коннектора.
emerge --unmerge mysql-connector-c
Помимо обновления сервисов рекомендуется следить за обновлениями ядра операционной системы и также периодически обновлять его.
Общая информация по обновлению рекомендованной операционной системы Gentoo Linux содержится на соответствующей странице документации операционной системы Обновление ядра
Типовое обновление ядра образов сервера ПАК Астра обычно может быть проведено следующими командами:
emerge gentoo-sources cd /usr/src/linux make oldconfig make make modules make install make modules_install lilo
Перед обновлением сервисов ПАК Астра необходимо исключить их автоматический перезапуск и вручную остановить работающие сервисы.
Так как сервер использует систему автоматического восстановления работоспособности сервисов и периодически перезапускает остановленные (или упавшие) сервисы, то для гарантированной остановки сервисов необходимо сначала перевести их в режим отключенных по умолчанию следующими командами терминала администратора:
rc-update delete d3srv default rc-update delete e3srv default rc-update delete d-sh default rc-update delete d-dozor default rc-update delete d-sia default
После этого можно остановить запущенные ранее сервисы, выполнив команды:
/etc/init.d/d3srv stop /etc/init.d/e3srv stop /etc/init.d/d-sh stop /etc/init.d/d-dozor stop /etc/init.d/d-sia stop
Следующим обязательным шагом необходимо обновить схему базы данных. Схема базы данных должна соответствовать установленной версии сервисов. В противном случае могут возникнуть ошибки доступа к базе данных.
Обновление структуры базы данных до текущей версии (в том числе если она не существует) производится из консоли администратора сервера.
Перед установкой (обновлением) БД в любом месте файловой системы, например в домашнем каталоге текущего пользователя:
cd ~
необходимо создать рабочую папку:
mkdir db_update
и перейти в нее:
cd db_update
Далее следует убедиться что она пуста (например от предыдущих обновлений) или просто очистить ее:
rm *
игнорируя предупреждения об отсутствующих файлах, если они вдруг возникнут:
rm: cannot remove '*': No such file or directory
Следующим шагом необходимо загрузить одним архивом все файлы обновлений БД с сервера разработчика:
wget http://dev.opasnost.net/update/server/db/current.tar
и распаковать их:
tar -xf current.tar
далее следует запустить скрипт обновления, указав в качестве параметра имя пользователя администратора БД, например:
./db_update.sh root
на запрос пароля, ввести пароль администратора БД:
Dozor DB update script MYSQL User Password:
В случае если БД не существует, то будет выдан запрос пароля пользователя, для входа в «АРМ Администратор Сервера» для создания всех остальных организаций и их администраторов, пароль необходимо ввести дважды (при вводе вводимые символы не отображаются):
Current DB version is 0 Enter new Server Administrator Password: Repeat new Server Administrator Password:
По завершении процесса создания (обновления) БД убедиться в отсутствии ошибок выполнения запросов, например:
Applying update for version 1 Applying update for version 2 Applying update for version 3 … Applying update for version N Database updated for version N
После обновления базы данных, в случае отсутствия ошибок, необходимо произвести обновление исполняемых файлов сервисов ПАК Астра.
Перед обновлением сервисов необходимо убедиться что сервисы остановлены.
Для установки сервисов ПАК Астра необходимо перейти в папку исполняемых файлов сервисов ПАК Астра:
cd /var/lib/dozor
Затем загрузить архив, содержащий прекомпилированные исполняемые образы сервисов с сервера обновлений, предварительно удалив предыдущую версию (если существует):
rm current.tar.gz wget http://dev.opasnost.net/update/server/bin/current.tar.gz
и распаковать их из архива в текущую директорию:
tar -xzpf current.tar.gz --xattrs
установить принадлежность пользователю, от имени которого запускаются данные сервисы:
chown dozor:dozor *
В некоторых случаях обновленные сервисы необходимо дополнительно сконфигурировать путем редактирования соответствующих файлов конфигурации.
После успешного обновления сервисов ПАК Астра необходимо их вновь запустить.
После успешной установки (обновления) требуется запустить сервисы, выполнив команды:
/etc/init.d/d3srv start /etc/init.d/e3srv start /etc/init.d/d-sh start /etc/init.d/d-dozor start # по необходимости /etc/init.d/d-sia start # по необходимости
После запуска необходимо убедиться, что все сервисы функционируют нормально, не произошло сбоев из-за несовместимости версий БД и т.п. Для этого необходимо ввести команду:
rc-status
и проанализировать ее результат, все интересующие нас сервисы должны быть в состоянии «started»:
d3srv [ started ] e3srv [ started ] d-sh [ started ]
После того как все сервисы функционируют необходимо добавить их в список автоматического запуска (перезапуска), выполнив следующие команды:
rc-update add d3srv default rc-update add e3srv default rc-update add d-sh default rc-update add d-dozor default # по необходимости rc-update add d-sia default # по необходимости
В случае когда после обновления некоторые сервисы не запускаются, а ответ на rc-status
выдается сообщение о падении сервиса, например:
d3srv [ crashed ] d-sh [ crashed ]
необходимо провести диагностику ошибок запуска путем вывода журнала соответствующего сервиса.
Для приведенного выше примера необходимо вывести последние строки журнала, содержащие информацию об ошибке:
tail /var/lib/dozor/log/d3srv.log
и проанализировать вывод, например:
12:12:31 23.11.2017 [7408] Starting build 2569... Configuration error: Invalid value for server.port
А также:
tail /var/lib/dozor/log/d-sh.log
12:12:33 23.11.2017 [7497] Starting build 508... Configuration error: Can't parse line 10 of config file
Обычно все ошибки имеют подробное описание и сами себя объясняют.