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

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

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

Как обновить платформу и конфигурацию 1С на Linux: подготовка, бэкап, установка пакетов, обновление базы PostgreSQL и проверка результата.

Обновление 1С на Linux отличается от привычного сценария для Windows: здесь нет графического установщика «по умолчанию», дистрибутивы поставляются в виде deb- или rpm-пакетов, а серверная часть часто работает в связке с PostgreSQL. Из-за этого попытка действовать «как обычно» приводит к конфликтам версий, незапускающемуся агенту сервера или несовместимости клиента и базы.

Процедура зависит от того, что именно вы обновляете: клиентскую платформу, сервер 1С:Предприятия, СУБД или саму конфигурацию. Чаще всего требуется комплекс: сначала обновляется платформа на сервере и клиентах, затем через конфигуратор обновляется конфигурация базы. Пропуск любого звена — типичная причина ошибок вида «несовместимая версия» при входе пользователей.

Ниже разобран рабочий порядок действий для deb- и rpm-based систем (Astra Linux, Debian, Ubuntu, ALT Linux, РЕД ОС и аналогичные), команды для установки, правила резервного копирования и способы проверить, что обновление прошло корректно.

Что нужно подготовить перед обновлением

Определите текущую версию платформы и конфигурации. Версию платформы на клиенте видно в окне «О программе», на сервере — через пакетный менеджер. Также уточните разрядность системы (x86_64 или другая) — дистрибутив 1С должен ей соответствовать.

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

bash
dpkg -l | grep 1c  # для deb-систем
rpm -qa | grep 1c  # для rpm-систем

Убедитесь, что у вас есть: дистрибутив новой платформы с официального портала 1С, дистрибутив обновления конфигурации (файл .cfu или полный .cf), права root или sudo на сервере, а также окно обслуживания — на время обновления пользователи не должны работать в базе.

Резервное копирование — обязательный шаг

Обновление конфигурации изменяет структуру базы данных, и откатить его «кнопкой» нельзя. Единственный способ вернуться к прежнему состоянию — восстановить резервную копию. Поэтому бэкап делается до любых действий с платформой и конфигурацией, а не после.

Для клиент-серверного варианта на PostgreSQL корректный способ — выгрузка средствами СУБД. Выгрузка через конфигуратор (файл .dt) тоже допустима, но на больших базах она заметно медленнее и чувствительнее к ошибкам. Для файловой базы достаточно скопировать каталог с файлом 1Cv8.1CD в отдельное место при остановленной работе пользователей.

bash
pg_dump -U postgres -Fc mybase > /backup/mybase_$(date +%F).dump

Обновление платформы 1С на Linux

Дистрибутив платформы для Linux скачивается с портала 1С в виде архива, содержащего набор пакетов: сервер, клиент, тонкий клиент, дополнительные компоненты. Распакуйте архив в отдельный каталог и устанавливайте только нужные пакеты — на сервер без GUI не нужен толстый клиент с графикой.

Установка на deb-based системах

Для Debian, Ubuntu, Astra Linux и подобных систем используется dpkg или apt. Установка новой версии ставит пакеты рядом или заменяет старые — в зависимости от того, как собран пакет конкретного релиза. Часто новая версия платформы устанавливается в отдельный каталог /opt/1cv8/<версия>, что позволяет держать несколько версий одновременно.

bash
cd /tmp/1c_distrib
sudo dpkg -i *.deb
sudo apt-get -f install  # доустановка зависимостей при необходимости

Установка на rpm-based системах

Для ALT Linux, РЕД ОС и других rpm-систем логика та же, но используется rpm или dnf/yum. Перед установкой проверьте зависимости — сервер 1С требует определённые версии библиотек, и на минимальной серверной установке их может не хватать.

bash
sudo rpm -Uvh <em>.rpm
# или
sudo dnf install ./</em>.rpm

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

Если у вас клиент-серверный вариант, после обновления пакетов сервера нужно перезапустить службу агента сервера 1С. Имя службы зависит от версии платформы, обычно это srv1cv8-<версия> или аналогичное. Проверьте список служб через systemctl, если точное имя неизвестно.

Порядок обновления сервера
  1. 1
    Остановите сеансы пользователей и завершите фоновые задания
  2. 2
    Сделайте резервную копию базы средствами СУБД
  3. 3
    Установите новые пакеты платформы
  4. 4
    Перезапустите службу агента сервера 1С
  5. 5
    Проверьте, что служба запущена и кластер доступен
  6. 6
    Обновите конфигурацию через конфигуратор
bash
sudo systemctl restart srv1cv8-8.3.24-1548
sudo systemctl status srv1cv8-8.3.24-1548

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

Обновление конфигурации базы данных

После обновления платформы запустите конфигуратор с толстого клиента (на Linux он доступен, если установлен соответствующий пакет) или с Windows-машины, подключившись к серверу. Откройте базу монопольно: для этого в консоли кластера заблокируйте сеансы или дождитесь выхода всех пользователей.

Для типовой конфигурации используйте «Конфигурация → Поддержка → Обновить конфигурацию» и укажите файл обновления .cfu. Для нетиповой (с доработками) потребуется объединение с анализом изменений — этот сценарий лучше выполнять на копии базы, чтобы оценить конфликты. После загрузки обновления выполните «Обновить конфигурацию базы данных» (F7) и дождитесь завершения реструктуризации.

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

Проверка результата и типичные ошибки

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

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

Служба сервера 1С
Норма

systemctl status показывает active (running), порт кластера слушается

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

Служба падает или не стартует — смотрите journalctl -u <служба>

Вход в базу
Норма

Конфигуратор и тонкий клиент открывают базу без ошибок версии

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

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

Версия конфигурации
Норма

В «О программе» отображается новая версия конфигурации

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

Старая версия — обновление конфигурации базы не выполнялось

Отложенные обработчики
Норма

Первый запуск завершился без зависших фоновых заданий

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

Обработчики зависли — смотрите журнал регистрации

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

Отдельная частая проблема на Linux — права доступа. Каталоги сервера 1С должны принадлежать пользователю, под которым работает агент (обычно usr1cv8). Если после обновления служба не видит свои каталоги, проверьте владельца и права на /opt/1cv8 и каталог кластера.

Итог

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

Порядок безопасного обновления: бэкап базы средствами СУБД → установка новой платформы → перезапуск службы сервера → обновление конфигурации в монопольном режиме → проверка входа и отложенных обработчиков. Старые версии платформы удаляйте только после успешной проверки новой.

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

Можно ли держать несколько версий платформы 1С на одном Linux-сервере?

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

Обязательно ли обновлять конфигурацию после обновления платформы?

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

Как откатить обновление, если что-то пошло не так?

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

Подойдёт ли выгрузка .dt вместо дампа PostgreSQL?

Для небольших баз — да, файл .dt из конфигуратора является полноценной резервной копией. Для больших баз дамп средствами СУБД быстрее и надёжнее, плюс его можно делать по расписанию без остановки работы в режиме горячего бэкапа.

Нужен ли графический интерфейс на сервере для обновления?

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

Что делать, если после обновления пользователи не могут войти с ошибкой версии?

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