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

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

Как проверить версию сервера 1С на Linux

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

Версия сервера 1С:Предприятия на Linux определяет совместимость с клиентами, агентами кластера и публикуемыми веб-сервисами. Несовпадение версий агента и рабочих процессов — одна из самых частых причин ошибок подключения, поэтому администратору нужно уметь быстро получить точный номер платформы: 8.3.x.xxxx.

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

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

Способ 1. Посмотреть каталог установки

При стандартной установке сервер 1С на Linux размещается в каталоге /opt/1cv8/x86_64/ (для 64-разрядной платформы) или /opt/1cv8/i386/ (для 32-разрядной). Внутри каждая установленная версия лежит в отдельном подкаталоге, название которого совпадает с полным номером версии.

bash
ls /opt/1cv8/x86_64/

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

Метод не требует прав root и работает даже когда служба сервера остановлена. Его ограничение: он показывает установленные версии, а не ту, что запущена в данный момент.

Способ 2. Определить версию запущенного сервера через процессы

Если сервер работает, точнее всего посмотреть, из какого каталога запущен агент кластера. Процесс агента называется ragent, рабочие процессы — rphost, менеджер кластера — rmngr.

bash
ps aux | grep ragent | grep -v grep

В выводе будет полный путь к исполняемому файлу, например /opt/1cv8/x86_64/8.3.22.1750/ragent. Число в пути — версия работающего сервера. Этот способ исключает путаницу при нескольких установленных платформах.

Дополнительно можно проверить статус службы, если сервер запускается через systemd:

systemctl status srv1cv8

Имя юнита может отличаться (например, srv1cv8-8.3.22.1750 при установке из официальных пакетов). Команда systemctl list-units | grep 1cv8 покажет все связанные службы, и версия часто видна прямо в их именах.

Способ 3. Запросить версию через утилиту rac

Консольная утилита администрирования rac позволяет получить информацию о кластере, включая версию. Она находится в каталоге конкретной версии платформы.

Порядок действий
  1. 1
    Перейдите в каталог версии: cd /opt/1cv8/x86_64/<версия>/
  2. 2
    Выполните: ./rac cluster list — увидите список кластеров и их идентификаторы
  3. 3
    Выполните: ./rac cluster info --cluster=<ID> — в выводе будет поле с версией платформы
  4. 4
    Сверьте версию агента с версией рабочих процессов при необходимости

Команда rac обращается к агенту кластера (порт 1540 по умолчанию), поэтому сервер должен быть запущен. Если агент слушает нестандартный порт, укажите его явно: ./rac cluster list localhost:1541.

Этот способ удобен для скриптов мониторинга: вывод легко разбирается, а команда не меняет состояние кластера.

Способ 4. Проверка через консоль администрирования и пакетный менеджер

Консоль кластера

Если есть доступ к консоли администрирования серверов 1С (на Windows-машине администратора или через веб-сервер администрирования), версия отображается в свойствах кластера и в свойствах каждого рабочего сервера. Откройте ветку кластера, выделите нужный кластер и посмотрите поле «Версия» в свойствах.

Менеджер пакетов

Если платформа ставилась из deb- или rpm-пакетов, версию можно узнать через пакетный менеджер:

# Debian/Ubuntu

dpkg -l | grep 1c

RHEL/CentOS/ALT

rpm -qa | grep 1c

Ограничение метода: при установке вручную распаковкой архива пакетный менеджер ничего не покажет. Кроме того, он отражает установленные пакеты, а не запущенную версию.

Сравнение способов

Каталог /opt/1cv8/

Быстро и без прав root, но показывает установленные, а не работающие версии

ps aux | grep ragent

Точно показывает запущенную версию; требует доступа к терминалу сервера

Утилита rac

Подходит для автоматизации и мониторинга; требует работающего агента

Консоль кластера

Удобна при удалённом администрировании; нужен настроенный доступ к консоли

Пакетный менеджер

Работает только при установке из пакетов; не отражает активную версию

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

После определения версии сервера полезно сверить её с версией клиентов и других компонентов. Агент кластера, рабочие процессы и утилита rac на одном сервере должны быть одной версии — иначе возможны ошибки вида «Несовпадение версий клиента и сервера».

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

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

Путь к ragent в выводе ps
Норма

Путь ведёт в один каталог версии для всех процессов ragent, rmngr, rphost

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

Процессы запущены из каталогов разных версий — риск конфликта

Вывод rac cluster info
Норма

Версия кластера совпадает с версией в пути установки

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

Утилита rac не подключается к агенту — проверьте порт и запуск службы

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

Клиент той же версии платформы подключается без ошибок

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

Ошибка несовпадения версий при входе в базу

Для проверки совместимости с клиентом достаточно сравнить первые три группы цифр версии (например, 8.3.22). Точная сборка (четвёртое число) клиента и сервера может различаться в пределах одного релиза, но лучше держать их одинаковыми.

Где искать версию, если сервер остановлен или не запускается

Если служба не работает, ориентируйтесь на конфигурацию запуска. Откройте юнит-файл systemd (/etc/systemd/system/ или /lib/systemd/system/) и посмотрите строку ExecStart — там указан путь к ragent с версией. Также версию можно найти в технологическом журнале и журналах регистрации, если они велись ранее: пути к файлам обычно содержат каталог версии.

Ещё один источник — файл srv1cv8 в /etc/init.d/ для систем на SysV init. В скрипте запуска прописан путь к исполняемым файлам конкретной версии.

Типичные ошибки
01
Судить о версии по списку каталогов при нескольких установленных платформах — активной может быть другая версия
02
Искать версию в имени службы, когда юнит создавался вручную без указания версии в имени
03
Использовать rac из каталога другой версии для управления кластером — возможны ошибки несовместимости
04
Путать версию платформы (8.3.x) с версией конфигурации прикладного решения — это разные вещи
05
Полагаться на dpkg/rpm при установке распаковкой архива — пакетный менеджер о такой установке не знает

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

Как узнать версию сервера 1С без прав root?

Команды ls /opt/1cv8/x86_64/ и ps aux | grep ragent обычно доступны обычному пользователю, так как процессы видны всем. Для чтения юнитов systemd и части журналов могут потребоваться повышенные права.

Что делать, если установлено несколько версий платформы?

Определите рабочую версию по процессам: ps aux | grep ragent покажет путь запущенного агента. Лишние версии можно оставить для отката, но следите, чтобы службы запускали нужную.

Почему rac выдаёт ошибку подключения?

Чаще всего агент кластера остановлен или слушает нестандартный порт. Проверьте службу через systemctl и укажите порт явно: ./rac cluster list localhost:1541. Также убедитесь, что используете rac из каталога той же версии, что и агент.

Как узнать версию сервера удалённо, без SSH?

Через консоль администрирования серверов 1С: в свойствах кластера и рабочего сервера отображается версия платформы. Для этого нужен заранее настроенный доступ к агенту кластера по сети.

Версия конфигурации и версия платформы — это одно и то же?

Нет. Версия платформы (например, 8.3.22.1750) — это версия серверного и клиентского ПО 1С. Версия конфигурации (например, 3.1.27 для «Зарплаты и управления персоналом») — версия прикладного решения, её смотрят в режиме «Предприятие» через «О программе».

Итог

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

Версия сервера 1С на Linux видна в имени каталога /opt/1cv8/x86_64/<версия>/, но надёжнее определять её по запущенным процессам ragent или через утилиту rac. При нескольких установленных платформах всегда проверяйте, какая версия реально работает, и следите за совпадением версий агента, рабочих процессов и клиентов.