При разворачивании клиентских рабочих мест 1С:Предприятия на базе дистрибутивов Linux (Ubuntu, Debian, Astra Linux) системные администраторы часто сталкиваются с неожиданной ошибкой. При попытке установить DEB-пакет толстого клиента команда dpkg -i 1c-enterprise83-client_*.deb прерывается из-за неудовлетворенных зависимостей: менеджер пакетов сообщает, что клиент зависит от пакета 1c-enterprise83-server и пакета 1c-enterprise83-common.
Выясним причины такого поведения системы и проанализируем практические способы решения этой проблемы.
Разберем техническую составляющую проблемы. В релизах платформы «1С:Предприятие 8.3» (до версий 8.3.20/8.3.21) структура DEB-пакетов сформирована таким образом, что исполняемые файлы толстого клиента и графический интерфейс опираются на базовые системные библиотеки (.so), входящие в состав пакета 1c-enterprise83-server.
В отличие от Windows-версии, где компоненты устанавливаются единым инсталлятором, в классическом пакете для Linux менеджер пакетов видит четкое правило в управляющем файле DEB: пакет 1c-enterprise83-client жестко требует наличия 1c-enterprise83-common и 1c-enterprise83-server. Без серверного пакета в системе отсутствуют модули ядра платформы, необходимые для локальной компиляции кода и обработки клиент-серверных вызовов толстого клиента.
Если пользователи работают с современными типовыми конфигурациями («Бухгалтерия предприятия 3.0», «Управление торговлей 11», «ERP Управление предприятием», «Зарплата и управление персоналом 3.1»), построенными на управляемых формах, толстый клиент для ежедневной работы операторов не требуется.
В этом случае оптимальным решением является установка отдельного пакета тонкого клиента. Пакет 1c-enterprise83-thin-client не имеет зависимостей от серверных компонентов 1С, занимает минимум места на диске и полностью функционален для работы пользователей.
Рассмотрим порядок установки тонкого клиента в Ubuntu/Debian:
apt, который автоматически разрешит системные зависимости:
sudo apt install ./1c-enterprise83-thin-client_8.3.10-2580_amd64.deb
Если для работы требуется именно толстый клиент (например, необходимо использовать конфигуратор или специфические функции, доступные только в толстом клиенте), следует установить все три связанных пакета 1С одновременно. Сам по себе пакет 1c-enterprise83-server содержит лишь набор библиотек и исполняемых файлов, поэтому его наличие на пользовательском ПК не превращает рабочий стол в сервер кластера без принудительного запуска службы.
Разберем по шагам процесс установки и настройки:
apt, чтобы автоматически загрузить недостающие системные библиотеки OS Linux:
sudo apt install ./1c-enterprise83-common_8.3.10-2580_amd64.deb ./1c-enterprise83-server_8.3.10-2580_amd64.deb ./1c-enterprise83-client_8.3.10-2580_amd64.deb
sudo systemctl stop srv1cv83
sudo systemctl disable srv1cv83
Начиная с версий платформы 8.3.20/8.3.21, фирма «1С» изменила принцип поставки дистрибутивов для Linux. Вместо набора отдельных DEB-файлов поставляется единый универсальный инсталлятор (файлы формата setup-full-*.run).
Проанализируем порядок установки с помощью нового инсталлятора:
chmod +x setup-full-8.3.21.XXXX-x86_64.run
sudo ./setup-full-8.3.21.XXXX-x86_64.run
Для корректного отображения шрифтов, интерфейса управляемых и обычных форм, а также работы встроенного HTML-документа в толстом и тонком клиентах 1С на Ubuntu требуется установить ряд системных библиотек. Без них клиент 1С может завершать работу с ошибкой Segmentation fault.
Установим базовые системные компоненты командой:
sudo apt update
sudo apt install ttf-mscorefonts-installer libwebkitgtk-3.0-0 libgsf-1-114 imagemagick fontconfig
После установки шрифтов и библиотек рендеринга графический интерфейс толстого или тонкого клиента 1С будет работать стабильно.