Как установить libwebkitgtk-3.0-0 на Ubuntu 20.04 для работы сервера 1С:Предприятие

Системный администратор 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

При установке сервера 1С:Предприятие версии 8.3.18 и ниже на операционную систему Ubuntu 20.04 LTS администраторы часто сталкиваются с критической ошибкой: пакет libwebkitgtk-3.0-0 отсутствует в официальных репозиториях. Это происходит из-за того, что данная библиотека базируется на устаревшем наборе инструментов GTK+ 2, который был исключен из состава Ubuntu 20.04 в пользу более современных версий. В этой статье мы подробно разберем, как обойти это ограничение, проанализируем причины возникновения зависимости и рассмотрим несколько способов решения проблемы.

Почему возникает проблема с libwebkitgtk-3.0-0

Для начала выясним причину, по которой 1С требует именно этот пакет. Библиотека libwebkitgtk используется платформой для рендеринга HTML-контента. Это необходимо для корректной работы справки, отображения форм с типом "Поле HTML-документа", работы со встроенным почтовым клиентом и некоторых механизмов полнотекстового поиска.

Рассмотрим ситуацию: в Ubuntu 20.04 стандартной является библиотека libwebkit2gtk-4.0, однако программный код платформы 1С (до версии 8.3.20) жестко связан со старой версией 3.0. Попытка установить пакет стандартной командой apt install приводит к ошибке "Package has no installation candidate", так как система просто "не видит" подходящего дистрибутива в своих списках.

Способ 1: Переход на платформу 8.3.20 и выше (рекомендуемый)

Проанализируем самый правильный и современный метод решения. Начиная с версии платформы 8.3.20, разработчики компании 1С внесли существенные изменения в архитектуру зависимостей Linux-версии. В новых сборках зависимость от libwebkitgtk-3.0-0 была либо полностью снята для серверной части, либо заменена на актуальную libwebkit2gtk-4.0.

Если ваша инфраструктура позволяет выполнить обновление, мы рекомендуем использовать именно этот путь. Рассмотрим преимущества:

  1. Безопасность: вам не придется подключать старые репозитории с потенциально уязвимыми пакетами.
  2. Стабильность: новые версии платформы лучше оптимизированы под ядро Linux 5.4+, используемое в Ubuntu 20.04.
  3. Простота установки: использование нового единого установщика (Unified Installer) в формате .run позволяет гибко выбирать компоненты и автоматически проверять зависимости.

Способ 2: Использование репозиториев Ubuntu 18.04 (Bionic)

Если специфика вашей конфигурации 1С требует работы строго на версии 8.3.18 или ниже, нам придется "обмануть" систему, временно предоставив ей доступ к пакетам от предыдущей версии ОС — Ubuntu 18.04 (Bionic Beaver). Разберем этот процесс по шагам.

Шаг 1. Добавление репозитория

Нам необходимо добавить строку источника пакетов в файл sources.list. Мы воспользуемся официальным архивом Ubuntu. Выполним команду добавления:


echo "deb http://cz.archive.ubuntu.com/ubuntu bionic main universe" | sudo tee /etc/apt/sources.list.d/bionic.list

Шаг 2. Обновление списков пакетов

Теперь заставим систему перечитать доступные пакеты, чтобы она узнала о существовании libwebkitgtk в добавленном источнике:

sudo apt update

Шаг 3. Установка цепочки зависимостей

Важно понимать, что libwebkitgtk-3.0-0 нельзя поставить отдельно — она тянет за собой другие устаревшие компоненты. В частности, часто возникает ошибка с пакетом libenchant1c2a. Выясним последовательность установки. Мы рекомендуем устанавливать пакеты вместе, чтобы apt мог сам разрешить дерево зависимостей:


sudo apt install libicu60 libjavascriptcoregtk-3.0-0 libenchant1c2a libwebkitgtk-3.0-0

Шаг 4. Очистка системы

После успешной установки крайне важно удалить временный репозиторий, чтобы при последующих обновлениях системы (apt upgrade) не возникло конфликтов между версиями пакетов 18.04 и 20.04:


sudo rm /etc/apt/sources.list.d/bionic.list
sudo apt update

Способ 3: Ручная установка через DEB-пакеты

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

  1. libicu60_60.2-3ubuntu3_amd64.deb
  2. libjavascriptcoregtk-3.0-0_2.4.11-3ubuntu3_amd64.deb
  3. libenchant1c2a_1.6.0-11.1_amd64.deb
  4. libwebkitgtk-3.0-0_2.4.11-3ubuntu3_amd64.deb

Установку следует производить именно в таком порядке с помощью команды dpkg -i. Если на каком-то этапе возникнет ошибка недостающей зависимости, используйте команду:

sudo apt-get install -f

Эта команда попытается доустановить недостающие компоненты из текущих репозиториев Ubuntu 20.04, которые совместимы со старыми библиотеками.

Особенности Server-версии по сравнению с Desktop

Проанализируем интересное наблюдение: на Ubuntu Desktop установка часто проходит легче, чем на Ubuntu Server. Это связано с тем, что в графической оболочке (GNOME) уже предустановлено множество библиотек GTK и подсистем (например, libenchant), которые являются транзитивными зависимостями для WebKit. В минимальной консольной версии Ubuntu Server эти пакеты отсутствуют. Поэтому при работе с серверной ОС нам приходится вручную выстраивать всю цепочку графических библиотек, даже если мы не планируем запускать визуальный интерфейс.

Нужен ли libwebkitgtk только для сервера?

Многие задаются вопросом: "Если я ставлю только srv1cv8, зачем мне графическая библиотека?". С технической точки зрения, для работы службы сервера (процессов rmngr и rphost) в режиме выполнения кода в фоне libwebkitgtk не является жизненно необходимой. Однако скрипты установки пакетов .deb от 1С содержат жесткие зависимости (Depends). Если пакет не будет установлен в системе, менеджер пакетов dpkg или apt может пометить установку 1С как "сломанную" (unmet dependencies) и не позволит завершить настройку службы.

Если вы опытный пользователь, вы можете попробовать пересобрать .deb пакет 1С, удалив зависимость из секции control, но это трудоемкий процесс, который может привести к падению сервера при попытке выполнить, например, метод ПолучитьТекстHTML() на стороне сервера.

Подведем итог: для стабильной работы 1С:Предприятия 8.3.18 на Ubuntu 20.04 оптимальным решением является временное подключение репозитория Bionic для установки libwebkitgtk-3.0-0 и libenchant1c2a. Если же вы только планируете внедрение, настоятельно рекомендуем рассмотреть платформу 8.3.20 или 8.3.22, где эти сложности уже устранены разработчиками.

← На главную