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

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

Как узнать версию сервера 1С в Linux

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

Знать точную версию сервера 1С:Предприятие на Linux необходимо перед обновлением платформы, при диагностике несовместимости клиента и сервера, при настройке кластера и при обращении в техническую поддержку. Версия платформы состоит из четырёх чисел, например 8.3.22.1750, и даже различие в последнем сегменте может быть критичным: клиент и сервер должны совпадать по версии, иначе подключение будет отклонено.

В Linux нет единого графического окна «О программе», как в Windows, поэтому версию определяют несколькими способами: через установленные пакеты, по структуре каталогов, по запущенным процессам и через утилиту администрирования rac. Ниже разобраны все рабочие методы — от самого быстрого до более детальных, с командами для дистрибутивов на базе DEB и RPM.

Проверка версии по каталогу установки

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

Достаточно выполнить простую команду:

bash
ls /opt/1cv8/x86_64/

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

Если каталога /opt/1cv8/ нет, сервер мог быть установлен в нестандартное место. Найдите его командой find / -name \"ragent\" -type f 2>/dev/null — путь до исполняемого файла агента покажет реальное расположение платформы.

Определение версии через пакетный менеджер

Дистрибутив сервера 1С для Linux распространяется в виде DEB- и RPM-пакетов, поэтому штатный способ проверки — запрос к пакетному менеджеру. Этот метод надёжен, если платформа была установлена из пакетов, а не скопирована вручную.

Для систем на базе Debian и Ubuntu:

bash
dpkg -l | grep 1c

Для систем на базе Red Hat, CentOS, ALT Linux и подобных:

bash
rpm -qa | grep 1c

Вывод покажет имена пакетов с версиями, например 1c-enterprise-8.3.22-1750-server. Обратите внимание: в имени пакета третий и четвёртый сегменты версии разделены дефисом, а не точкой — это особенность именования, реальная версия платформы 8.3.22.1750.

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

Как узнать версию работающего сервера по процессам

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

Выполните команду:

bash
ps aux | grep -E 'ragent|rphost|rmngr' | grep -v grep

В выводе виден полный путь к исполняемому файлу агента кластера, например /opt/1cv8/x86_64/8.3.22.1750/ragent -daemon. Номер в пути — это версия работающего сервера. Процессы rphost (рабочие процессы) и rmngr (менеджер кластера) всегда принадлежат той же версии, что и запустивший их ragent.

Дополнительно можно проверить, какой именно бинарный файл обслуживает порт агента (по умолчанию 1540): ss -tlnp | grep 1540. Это полезно, когда процессов несколько и нужно понять, какой экземпляр слушает стандартный порт.

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

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

Порядок действий
  1. 1
    Найдите каталог версии: ls /opt/1cv8/x86_64/
  2. 2
    Перейдите в него: cd /opt/1cv8/x86_64/8.3.XX.XXXX/
  3. 3
    Запросите список кластеров: ./rac cluster list
  4. 4
    В выводе проверьте параметр version — это версия кластера
  5. 5
    Для деталей выполните ./rac cluster info --cluster=<ID кластера>

Команда ./rac cluster list вернёт идентификатор кластера, порт и версию. Этот способ хорош тем, что показывает версию именно работающего кластера, а не просто установленных файлов.

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

Проверка версии через файлы и логи

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

Быстрый способ — запросить версию у самого бинарного файла:

bash
strings /opt/1cv8/x86_64/8.3.22.1750/ragent | grep -m1 '^8\.3\.'

Ещё один источник — технологический журнал и логи кластера, расположенные в каталоге srvinfo (обычно /opt/1cv8/srvinfo/ или домашний каталог пользователя, под которым работает служба, например /home/usr1cv8/.1cv8/1C/1cv8/). В файлах журнала при старте кластера фиксируется версия платформы. Путь к каталогу srvinfo задан параметром -d в строке запуска ragent, которую видно в выводе ps aux.

Сопоставление версий клиента и сервера

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

СитуацияРезультат подключенияЧто делать
Версии клиента и сервера совпадают полностьюПодключение успешноНичего
Клиент старше сервераОшибка несовместимости версийОбновить сервер или установить клиент нужной версии
Сервер новее клиентаОшибка несовместимости версийОбновить клиентскую платформу
Несколько версий на сервереЗависит от того, какой кластер обслуживает базуПроверить версию работающего кластера через rac
Типичные ошибки
01
Судить о версии сервера по наличию каталогов в /opt/1cv8/ — каталог показывает установленные версии, но не работающую
02
Искать версию в имени службы systemd — юнит обычно называется srv1cv83 без номера версии
03
Путать версию платформы с версией конфигурации — это разные вещи: конфигурация определяется в режиме 1С:Предприятие через раздел «О программе»
04
Запускать rac без указания полного пути — утилита привязана к конкретной версии и не добавлена в PATH по умолчанию

Частые ошибки и ограничения методов

Главная ловушка — смешение понятий «установлено» и «работает». На обновляемых серверах в /opt/1cv8/x86_64/ часто накапливается несколько версий, а служба systemd может запускать любую из них. Всегда сверяйте версию по процессу ragent или через rac, прежде чем делать выводы.

Вторая проблема — недостаточные права. Команды ps aux и ss -tlnp покажут полную информацию только под root или через sudo. Обычный пользователь увидит чужие процессы без полных путей. Каталог srvinfo и логи также доступны только владельцу службы (обычно usr1cv8) и root.

Учтите и ограничение метода через пакеты: если сервер развёрнут вручную, в контейнере Docker или через альтернативные скрипты установки, dpkg и rpm могут ничего не знать о платформе. В контейнерах версия обычно задана в образе и видна в его метаданных или переменных окружения.

Маршрут решения

Как выбрать способ

Нужно быстро узнать, какие версии установленыВыполните ls /opt/1cv8/x86_64/
Нужна версия именно работающего сервераИспользуйте ps aux | grep ragent и смотрите путь к процессу
Сервер остановлен, а версия нужна для восстановленияПроверьте пакеты через dpkg/rpm или строку версии в бинарном файле ragent
Нужна версия кластера для документации или поддержкиЗапросите ./rac cluster list из каталога платформы

FAQ

Где сервер 1С хранит свои файлы в Linux по умолчанию?

Исполняемые файлы платформы — в /opt/1cv8/x86_64/<номер версии>/, данные кластера (список баз, настройки) — в каталоге srvinfo, путь к которому задаётся параметром -d при запуске агента. Часто это /home/usr1cv8/.1cv8/1C/1cv8/ или отдельный каталог, указанный администратором при установке.

Можно ли узнать версию сервера 1С удалённо, без доступа к Linux?

Да. На рабочей станции Windows установите консоль «Администрирование серверов 1С:Предприятия», добавьте нужный сервер и откройте свойства кластера — там отображается версия платформы. Версия консоли при этом должна совпадать с версией сервера.

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

Это нормальная ситуация: разные кластеры могут работать на разных версиях одновременно. Определите версию каждого работающего кластера через ps aux (путь к ragent) и по портам (1540, 1541 и далее). Старые неиспользуемые версии можно удалить штатно через пакетный менеджер, убедившись, что их процессы не запущены.

Как узнать версию сервера, если служба не запускается?

Используйте методы, не требующие работающего процесса: ls /opt/1cv8/x86_64/, запрос к пакетному менеджеру (dpkg -l или rpm -qa) либо извлечение строки версии из бинарного файла командой strings. Заодно проверьте логи в каталоге srvinfo — там видно, какая версия запускалась последней.

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

Нет, это разные номера. Версия платформы (8.3.хх.хххх) — это версия движка 1С, а версия конфигурации (например, «Бухгалтерия 3.0.хх.хх») смотрится в режиме 1С:Предприятие через меню «Справка — О программе» или в конфигураторе.

Нужны ли права root для определения версии?

Для просмотра каталогов /opt/1cv8/ и списка пакетов обычно достаточно прав обычного пользователя. А вот полные пути процессов, сетевые порты с привязкой к процессам и содержимое srvinfo доступны только root или пользователю, под которым работает служба сервера 1С.

Итог

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

Версию сервера 1С в Linux надёжнее всего определять по пути запущенного процесса ragent (ps aux | grep ragent) — он показывает именно работающую платформу. Список установленных версий даёт каталог /opt/1cv8/x86_64/ и пакетный менеджер, а версию кластера — утилита rac. Всегда различайте установленные и запущенные версии, особенно на серверах с несколькими платформами.