Администрирование · 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-битной, встречается на старых системах). Внутри каждая установленная версия платформы лежит в отдельном подкаталоге, имя которого и есть номер версии.
Достаточно выполнить простую команду:
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:
dpkg -l | grep 1cДля систем на базе Red Hat, CentOS, ALT Linux и подобных:
rpm -qa | grep 1cВывод покажет имена пакетов с версиями, например 1c-enterprise-8.3.22-1750-server. Обратите внимание: в имени пакета третий и четвёртый сегменты версии разделены дефисом, а не точкой — это особенность именования, реальная версия платформы 8.3.22.1750.
Если пакетный менеджер ничего не находит, но сервер 1С работает, значит платформа была развёрнута без установки пакетов — например, простым копированием файлов. В этом случае используйте методы через каталоги и процессы.
Как узнать версию работающего сервера по процессам
Метод через каталоги показывает все установленные версии, но не говорит, какая из них запущена. Когда на одном сервере стоят несколько платформ, определить активную версию помогает анализ процессов.
Выполните команду:
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Найдите каталог версии: ls /opt/1cv8/x86_64/
- 2Перейдите в него: cd /opt/1cv8/x86_64/8.3.XX.XXXX/
- 3Запросите список кластеров: ./rac cluster list
- 4В выводе проверьте параметр version — это версия кластера
- 5Для деталей выполните ./rac cluster info --cluster=<ID кластера>
Команда ./rac cluster list вернёт идентификатор кластера, порт и версию. Этот способ хорош тем, что показывает версию именно работающего кластера, а не просто установленных файлов.
Альтернатива — графическая консоль администрирования серверов 1С на рабочей станции Windows. Подключитесь к серверу, откройте свойства кластера: в окне свойств отображается версия платформы. Этот вариант удобен администраторам, которые редко работают в терминале Linux.
Проверка версии через файлы и логи
Если сервер остановлен и процессы недоступны, версию можно извлечь из служебных файлов платформы. В каталоге версии есть файл с описанием компонентов, а сам исполняемый файл ragent содержит строку версии.
Быстрый способ — запросить версию у самого бинарного файла:
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 |
Частые ошибки и ограничения методов
Главная ловушка — смешение понятий «установлено» и «работает». На обновляемых серверах в /opt/1cv8/x86_64/ часто накапливается несколько версий, а служба systemd может запускать любую из них. Всегда сверяйте версию по процессу ragent или через rac, прежде чем делать выводы.
Вторая проблема — недостаточные права. Команды ps aux и ss -tlnp покажут полную информацию только под root или через sudo. Обычный пользователь увидит чужие процессы без полных путей. Каталог srvinfo и логи также доступны только владельцу службы (обычно usr1cv8) и root.
Учтите и ограничение метода через пакеты: если сервер развёрнут вручную, в контейнере Docker или через альтернативные скрипты установки, dpkg и rpm могут ничего не знать о платформе. В контейнерах версия обычно задана в образе и видна в его метаданных или переменных окружения.
Как выбрать способ
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. Всегда различайте установленные и запущенные версии, особенно на серверах с несколькими платформами.