К статье
Практический материал

Администрирование · 9 мин

Как обновить платформу 1С на сервере Linux

Пошаговая инструкция по обновлению платформы 1С:Предприятие на сервере Linux: подготовка, установка пакетов, переключение версий, проверка и откат.

Обновление платформы 1С:Предприятие на сервере под управлением Linux отличается от привычной установки на Windows: здесь нет графического мастера, дистрибутив распространяется в виде пакетов DEB или RPM, а управление службой сервера 1С выполняется через systemd или скрипты инициализации. Ошибка в последовательности действий может остановить работу пользователей или привести к несовместимости версий сервера и клиентов.

Процедура в целом безопасна, если соблюдать три правила: обновляться в нерабочее время, иметь резервную копию кластера и баз данных, а также согласовать версию платформы с требованиями конфигурации. Ниже разобран полный цикл — от подготовки до проверки результата и отката.

Инструкция ориентирована на распространённые дистрибутивы: Debian/Ubuntu (пакеты .deb) и CentOS/Red Hat/ALT Linux (пакеты .rpm). Команды приведены для обоих семейств там, где они различаются.

Подготовка: что проверить до обновления

Прежде всего определите текущую версию платформы и требуемую целевую. Конфигурации 1С часто указывают минимально совместимую версию платформы — устанавливать релиз ниже этого порога нельзя, а слишком свежий релиз без тестирования тоже рискован. Текущую версию можно посмотреть командой /opt/1cv8/current/x86_64/rac --version или в консоли кластера.

Проверьте, что новая версия совместима с используемой СУБД (PostgreSQL, MS SQL) и её клиентскими библиотеками. Также убедитесь, что на диске достаточно свободного места: дистрибутив занимает несколько сотен мегабайт, а обновление баз в режиме конфигуратора может потребовать дополнительного пространства под временные файлы.

Согласуйте с пользователями окно обслуживания. Во время обновления служба сервера будет остановлена, сеансы разорвутся, а незавершённые транзакции откатятся. Заранее завершите регламентные задания и выгнать активные сеансы можно через консоль кластера или утилиту rac.

Резервное копирование перед обновлением

Минимальный набор для отката: дамп каждой информационной базы средствами СУБД (например, pg_dump для PostgreSQL) и копия каталога реестра кластера srvinfo. В srvinfo хранится список баз, настройки кластера и рабочих процессов — его потеря означает необходимость пересоздавать регистрацию всех баз вручную.

Дополнительно полезно сохранить список установленных пакетов 1С, чтобы при откате быстро вернуть прежние версии: dpkg -l | grep 1c для Debian-подобных систем или rpm -qa | grep 1c для RPM-систем. Сохраните вывод в файл вместе с дампами.

Порядок резервного копирования
  1. 1
    Остановите регламентные задания и завершите активные сеансы пользователей
  2. 2
    Сделайте дамп баз данных средствами СУБД (pg_dump, mysqldump)
  3. 3
    Скопируйте каталог srvinfo в отдельное место
  4. 4
    Сохраните список установленных пакетов 1С и текущую версию платформы
  5. 5
    Проверьте, что копии читаются и лежат вне обновляемого сервера

Получение и распаковка дистрибутива

Дистрибутив платформы для Linux скачивается с портала 1С по действующей подписке и поставляется архивом tar.gz, внутри которого лежат пакеты: server (сервер), ws (веб-сервисы), дополнительные компоненты и библиотеки. Загрузите архив на сервер, например через scp, и распакуйте во временный каталог.

Обратите внимание на разрядность: для 64-битных систем нужны пакеты x86_64. Смешивание 32-битных и 64-битных компонентов на одном сервере приводит к ошибкам загрузки библиотек. Также проверьте целостность архива по контрольной сумме, если она опубликована рядом с дистрибутивом.

bash
tar -xzf deb64_8_3_xx_xxxx.tar.gz -C /tmp/1c_dist && ls /tmp/1c_dist

Установка новой версии платформы

На Debian и Ubuntu установка выполняется командой dpkg -i с перечислением нужных пакетов, на RPM-системах — rpm -Uvh, который обновляет уже установленные пакеты. Устанавливать нужно как минимум пакет сервера; пакеты ws и дополнительных языков — по необходимости.

Новая версия ставится в отдельный каталог вида /opt/1cv8/x86_64/8.3.xx.xxxx, а символическая ссылка /opt/1cv8/current (или конфигурация службы) определяет, какая версия считается активной. Это упрощает откат: достаточно вернуть ссылку на прежний каталог.

bash
dpkg -i /tmp/1c_dist/1c-enterprise*-server_*.deb || rpm -Uvh /tmp/1c_dist/1c-enterprise*-server-*.rpm

Если dpkg сообщает о неудовлетворённых зависимостях, выполните apt-get -f install — менеджер пакетов доустановит недостающие библиотеки из репозиториев дистрибутива. Часто требуются пакеты шрифтов, libicu и библиотеки для работы с изображениями.

Обновление службы агента сервера

После установки пакетов остановите службу агента сервера 1С, убедитесь, что процессы ragent, rmngr и rphost завершились, и запустите службу новой версии. В системах с systemd используются команды systemctl stop srv1cv8 и systemctl start srv1cv8 (имя юнита может отличаться в зависимости от версии пакета).

Если служба настроена через скрипт /etc/init.d, проверьте, что в нём указан путь к новой версии агента, либо что используется ссылка current. Запуск агента старой версии после установки новых пакетов — частая причина «ничего не обновилось».

Обновление информационных баз и клиентов

Сама по себе установка новой платформы не меняет информационные базы: они откроются в режиме совместимости. Если конфигурация требует обновления структуры базы под новую версию платформы, это выполняется через конфигуратор с последующим обновлением конфигурации базы данных. Эту операцию проводите сначала на тестовой копии базы.

Не забудьте про клиентские машины и веб-сервер. Тонкий и толстый клиенты должны соответствовать версии сервера — при существенном расхождении подключение будет отклонено. Если публикация баз идёт через Apache, переустановите пакет ws и заново выполните публикацию утилитой webinst новой версии, иначе веб-клиент продолжит обращаться к старым библиотекам.

Проверка результата и тестирование

После запуска службы проверьте версию агента: /opt/1cv8/current/x86_64/rac cluster list должен показать работающий кластер, а вывод версии — новый номер релиза. Затем подключитесь клиентом к каждой критичной базе и выполните типовые операции: проведение документа, формирование отчёта, запуск регламентного задания.

Изучите журнал службы и технологический журнал на предмет ошибок при старте рабочих процессов. Предупреждения о недостающих библиотеках или неправильных правах на каталоги лучше устранить сразу, пока сервер ещё не вернули в эксплуатацию.

Контрольные точки

Как проверить результат

Версия агента сервера
Норма

rac показывает новый номер релиза, кластер в списке

Тревожный признак

Выводится старая версия или служба не отвечает

Подключение клиента
Норма

Сеанс открывается, база доступна в обычном режиме

Тревожный признак

Ошибка несовместимости версий или отказ в соединении

Журналы службы
Норма

Нет ошибок загрузки библиотек и падений rphost

Тревожный признак

Повторяющиеся аварийные завершения процессов

Веб-доступ
Норма

Веб-клиент открывается и работает

Тревожный признак

Ошибка 500 или обращение к старой версии ws

Откат на предыдущую версию

Если после обновления обнаружились критические проблемы, откат выполняется в обратном порядке: остановите службу, верните символическую ссылку current на каталог прежней версии (или переустановите старые пакеты) и запустите службу. Каталоги старых версий установщик не удаляет автоматически, поэтому прежняя платформа обычно остаётся на диске.

Важное ограничение: если после обновления была выполнена конвертация структуры базы данных под новую версию, простой откат платформы может оказаться невозможен — старая платформа не всегда открывает базу нового формата. В этом случае восстанавливайте базу из резервной копии, сделанной до обновления.

Типичные ошибки
01
Обновление без дампа баз — при сбое конвертации данные теряются безвозвратно
02
Запуск службы старой версии после установки новых пакетов — кажется, что обновление не сработало
03
Забытый веб-сервер: пакет ws не обновлён, веб-клиенты ломаются или работают на старой версии
04
Рассинхронизация версий сервера и клиентов — пользователи не могут подключиться
05
Обновление в рабочее время без завершения сеансов — обрыв транзакций и жалобы пользователей
Итог

Что важно запомнить

Обновление платформы 1С на Linux сводится к установке новых пакетов и перезапуску службы, но безопасность процедуры определяется подготовкой: резервные копии баз и srvinfo, согласование версий с конфигурацией и клиентами, проверка результата до возврата сервера в работу.

Частые вопросы

Можно ли обновлять платформу без остановки сервера 1С?

Установить пакеты можно и при работающей службе, но активная версия не сменится до перезапуска агента. Полноценное обновление без остановки возможно только в схемах с несколькими серверами и поочередным выводом их из кластера, что требует соответствующей инфраструктуры.

Нужно ли удалять старые версии платформы?

Нет, сразу удалять не обязательно — каталоги версий не мешают друг другу, а наличие прежней версии упрощает откат. Удаляйте старые релизы после того, как новая версия стабильно проработала достаточное время, и оставляйте хотя бы одну предыдущую.

Что делать, если dpkg сообщает о неудовлетворённых зависимостях?

Выполните apt-get -f install — менеджер пакетов подтянет недостающие библиотеки из репозиториев. Если репозитории недоступны (сервер без интернета), заранее скачайте нужные зависимости на другой машине и перенесите их пакетами.

Как понять, какая версия платформы сейчас активна?

Посмотрите, куда указывает символическая ссылка /opt/1cv8/current, и выполните rac --version из каталога активной версии. Дополнительно версию видно в консоли кластера серверов 1С при подключении к агенту.

Обновится ли конфигурация автоматически вместе с платформой?

Нет. Платформа и конфигурация обновляются независимо. Установка новой платформы не меняет прикладное решение; обновление конфигурации выполняется отдельно через конфигуратор или средства автоматического обновления, если они настроены.

Что проверить, если после обновления не стартует служба сервера?

Смотрите вывод systemctl status и журнал службы: чаще всего причины — нехватка системных библиотек, неверные права на каталог srvinfo у пользователя, от имени которого работает агент, или конфликт портов с оставшимся процессом старой версии.