Как установить клиент 1С:Предприятие на Linux Mint и решить ошибку "Не удалось установить пакеты, требуемые для работы: libwebkit2gtk-4.0-[0-9]"?

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

При попытке установить клиент 1С:Предприятия на операционные системы на базе Linux, особенно на такие современные дистрибутивы, как Linux Mint 22.1 (основанный на Ubuntu 24.04) или при развертывании тестового кластера 1С на Ubuntu (для этого пригодится панель администрирования серверов и баз 1С на Linux), пользователи часто сталкиваются с ошибкой, указывающей на невозможность найти или установить требуемые пакеты, в частности libwebkit2gtk-4.0-[0-9]. Эта проблема может проявляться как при установке "тонкого" или "толстого" клиента, так и при использовании универсального установщика через файл .run. Давайте разберем эту ситуацию подробнее и найдем действенные решения.

Основная причина возникновения данной ошибки кроется в том, что платформа 1С:Предприятие имеет строгую зависимость от библиотеки libwebkit2gtk-4.0.so.37. Однако в новых версиях Ubuntu и, соответственно, Linux Mint, эта конкретная версия библиотеки может отсутствовать в стандартных репозиториях или быть заменена на более новые, но несовместимые версии, например, libwebkit2gtk-4.1-0 или libwebkit2gtk-4.1-dev. Даже если мы установим эти новые версии, 1С не сможет их использовать из-за различий в наименовании и структуре библиотеки, что приведет к неработоспособности приложения или его невозможности запуститься после установки.

Причина проблемы: Отсутствие libwebkit2gtk-4.0-37 в современных репозиториях

Как мы уже выяснили, ядро проблемы заключается в специфической зависимости платформы 1С:Предприятие от библиотеки libwebkit2gtk-4.0-37. Эта библиотека является частью пакета WebKitGTK — движка рендеринга веб-страниц, используемого для отображения некоторых элементов интерфейса 1С. В процессе развития операционных систем и программного обеспечения, версии библиотек постоянно обновляются. В таких дистрибутивах, как Ubuntu 24.04 и Linux Mint 22.1, пакет libwebkit2gtk-4.0-37 уже не входит в стандартные репозитории, а его место заняли более актуальные версии, такие как libwebkit2gtk-4.1-0. К сожалению, для 1С замена библиотеки на более новую версию не является решением, так как она ожидает строго определенную версию 4.0. При попытке установить платформу, скрипт установщика пытается найти и подключить эту конкретную библиотеку. Если он ее не находит, мы получаем сообщение об ошибке, прерывающее процесс установки или приводящее к тому, что клиент 1С просто не запускается после кажущейся успешной установки, не выдавая при этом никаких явных сообщений.

Мы видим, что установщик 1С явно указывает на отсутствие пакета с помощью шаблона libwebkit2gtk-4.0-[0-9]. Это говорит о том, что системе необходимо предоставить именно этот пакет. Если мы просто установим libwebkit2gtk-4.1-0 или libwebkit2gtk-4.1-dev, установщик 1С, несмотря на наличие других версий, не сможет найти требуемую и будет продолжать выдавать ту же ошибку или клиент не запустится. Поэтому наша задача — найти и установить именно ту версию, которую требует 1С:Предприятие.

Решение 1: Ручная установка необходимых пакетов из старых репозиториев (для учебной и коммерческой версий)

Наиболее надежный и проверенный способ решения данной проблемы — это ручная установка требуемых библиотек из репозиториев предыдущих версий операционных систем, где эти пакеты еще присутствовали. Этот подход особенно актуален для учебных версий 1С, которые могут быть более требовательны к конкретным версиям зависимостей. Коммерческие версии, особенно более свежие, иногда демонстрируют лучшую совместимость, но и для них этот метод будет полезен.

Шаг 1: Определяем необходимые пакеты

Помимо основной проблемы с libwebkit2gtk-4.0-37, 1С:Предприятие может потребовать и другие зависимости, которые также могли измениться или отсутствовать в новых дистрибутивах. Мы должны быть готовы установить следующие пакеты:

  1. libwebkit2gtk-4.0-37: Основная проблема, как мы уже знаем.
  2. libjavascriptcoregtk-4.0-18: Еще одна часть WebKitGTK, часто идущая в связке с libwebkit2gtk.
  3. libicu70: Библиотека интернационализации, также часто требуемая 1С, в новых версиях может быть libicu72 или другой.
  4. libenchant1c2a: Библиотека для проверки орфографии. В новых системах может быть libenchant-2.
  5. libjpeg62-turbo: Библиотека для работы с JPEG-изображениями.
  6. libarchive13: Библиотека для работы с архивами.
  7. libmagickwand-6.q16-6: Библиотека для работы с изображениями, часть ImageMagick.
  8. libgsf-1-114: Библиотека для работы с файлами GSF (GNOME Structured File).
  9. odbcinst и unixodbc-dev: Пакеты, необходимые для работы с базами данных через ODBC, что актуально для последующего обслуживания баз данных 1С на Postgresql.

Обязательно обратите внимание на версии пакетов: если установщик 1С явно указывает версию, старайтесь найти именно ее. Чаще всего, нам потребуется версия libwebkit2gtk-4.0-37, libjavascriptcoregtk-4.0-18 и libicu70, которые присутствовали в репозиториях Ubuntu 22.04 (Jammy Jellyfish) или Debian 11 (Bullseye).

Шаг 2: Скачиваем .deb пакеты вручную

Поскольку эти пакеты отсутствуют в текущих репозиториях Linux Mint 22.1, нам придется скачать их вручную. Мы можем найти их на сайтах, предоставляющих архивы пакетов Ubuntu или Debian. Например, на таких ресурсах, как Ubuntu Updates, можно найти версии пакетов для Ubuntu 22.04 (Jammy).

При поиске пакетов убедитесь, что вы скачиваете версию, предназначенную для вашей архитектуры (обычно amd64 для 64-битных систем). Например, для Ubuntu 22.04 и архитектуры amd64, вам могут потребоваться следующие файлы:

  1. libicu70_70.1-2_amd64.deb
  2. libjavascriptcoregtk-4.0-18_2.36.7-0ubuntu0.22.04.1_amd64.deb
  3. libwebkit2gtk-4.0-37_2.36.7-0ubuntu0.22.04.1_amd64.deb
  4. libenchant1c2a_1.6.0-11.2build1_amd64.deb (для Ubuntu 22.04)
  5. libjpeg62-turbo_2.1.2-0ubuntu1_amd64.deb (для Ubuntu 22.04)
  6. libarchive13_3.6.0-1ubuntu1_amd64.deb (для Ubuntu 22.04)
  7. libmagickwand-6.q16-6_6.9.11.60+dfsg-1.3_amd64.deb (для Ubuntu 22.04)
  8. libgsf-1-114_1.14.48-1ubuntu0.1_amd64.deb (для Ubuntu 22.04)

Создайте отдельную папку, например, ~/1c_dependencies, и сохраните все скачанные .deb файлы в ней.

Шаг 3: Устанавливаем пакеты в правильной последовательности

Установка пакетов должна выполняться с учетом их внутренних зависимостей. Некоторые пакеты зависят от других, поэтому важно соблюдать порядок. Мы рекомендуем устанавливать их с помощью команды dpkg -i:

  1. Сначала установим libicu70, так как от него могут зависеть другие библиотеки: sudo dpkg -i libicu70_70.1-2_amd64.deb
  2. Затем установим libjavascriptcoregtk-4.0-18: sudo dpkg -i libjavascriptcoregtk-4.0-18_2.36.7-0ubuntu0.22.04.1_amd64.deb
  3. Теперь можно установить основной проблемный пакет libwebkit2gtk-4.0-37: sudo dpkg -i libwebkit2gtk-4.0-37_2.36.7-0ubuntu0.22.04.1_amd64.deb
  4. Далее устанавливаем остальные зависимости:
    
    sudo dpkg -i libenchant1c2a_1.6.0-11.2build1_amd64.deb
    sudo dpkg -i libjpeg62-turbo_2.1.2-0ubuntu1_amd64.deb
    sudo dpkg -i libarchive13_3.6.0-1ubuntu1_amd64.deb
    sudo dpkg -i libmagickwand-6.q16-6_6.9.11.60+dfsg-1.3_amd64.deb
    sudo dpkg -i libgsf-1-114_1.14.48-1ubuntu0.1_amd64.deb
    sudo apt install odbcinst unixodbc-dev -y
    

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

Шаг 4: Разрешаем возможные зависимости

После ручной установки нескольких .deb пакетов через dpkg -i, система может находиться в состоянии "неудовлетворенных зависимостей". Это означает, что некоторые только что установленные пакеты могут требовать другие, которые система еще не установила автоматически. Для решения этой проблемы мы используем команду:

sudo apt install -f

Эта команда попытается доустановить все недостающие пакеты, которые требуются уже установленным, но с ошибками, пакетам, автоматически разрешив зависимости. Мы увидим список пакетов, которые будут установлены или удалены для исправления ситуации. Подтвердите действие, и система должна привести свои зависимости в порядок.

Решение 2: Подключение старых репозиториев (альтернативный подход)

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

Мы можем попробовать добавить репозитории Ubuntu 22.04 (кодовое имя jammy) или Debian 11 (кодовое имя bullseye) в ваш список источников.

  1. Откроем файл /etc/apt/sources.list.d/ubuntu.sources (или аналогичный, в зависимости от вашей версии Mint/Ubuntu) для редактирования с правами суперпользователя: sudo nano /etc/apt/sources.list.d/ubuntu.sources
  2. Добавим строки для репозиториев jammy. Убедитесь, что вы правильно указали компоненты (main, restricted, universe, multiverse), как это принято для Ubuntu:
    
    deb http://archive.ubuntu.com/ubuntu/ jammy main restricted universe multiverse
    deb http://archive.ubuntu.com/ubuntu/ jammy-security main restricted universe multiverse
    deb http://archive.ubuntu.com/ubuntu/ jammy-updates main restricted universe multiverse
    

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

  3. Обновим кэш пакетов: sudo apt update
  4. Теперь попытаемся установить libwebkit2gtk-4.0-dev или libwebkit2gtk-4.0-37. Иногда, команда sudo apt install libwebkit2gtk-4.0-dev -y может сработать, так как пакет -dev может потянуть за собой нужную runtime библиотеку: sudo apt install libwebkit2gtk-4.0-dev -y

    Если это не помогло, попробуйте установить непосредственно libwebkit2gtk-4.0-37:

    sudo apt install libwebkit2gtk-4.0-37 -y
  5. После успешной установки, не забудьте удалить или закомментировать добавленные строки в /etc/apt/sources.list.d/ubuntu.sources и снова выполнить sudo apt update.

Подготовка и запуск установщика 1С:Предприятия

После того как мы убедились, что все необходимые зависимости установлены в системе, мы можем приступить к непосредственной установке клиента 1С:Предприятия. Этот процесс будет практически одинаков для учебной и коммерческой версий, но мы должны учесть несколько важных моментов. Для автоматизации процесса установки можно использовать сценарий Python для установки 1С и PostgreSQL.

Шаг 1: Распаковка архива установщика

Если вы скачали архив 1С:Предприятия (например, training_8_3_26_1498_LinuxRun.tar.gz или server64_8_3_26_1540.zip), первым делом его необходимо распаковать. Создайте для этого удобную директорию, например, ~/1c_install, и извлеките все файлы туда. Используйте утилиту tar для .tar.gz архивов или стандартный файловый менеджер:

tar -xvzf training_8_3_26_1498_LinuxRun.tar.gz -C ~/1c_install/

После распаковки вы обнаружите исполняемый файл с расширением .run (например, setup-training-8.3.26.1498-x86_64.run) или набор .deb пакетов.

Шаг 2: Предоставление прав на выполнение файлу .run

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


cd ~/1c_install
chmod +x setup-training-8.3.26.1498-x86_64.run

Эта команда сделает файл исполняемым. Мы также можем сделать это через графический интерфейс, открыв "Свойства" файла, перейдя на вкладку "Права" и установив галочку "Позволять выполнение файла как программы".

Шаг 3: Запуск установщика 1С

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

sudo ./setup-training-8.3.26.1498-x86_64.run

Мы также можем запустить его через контекстное меню, выбрав "Запустить как Администратор". Установщик запустится в интерактивном режиме, предлагая нам пройти по шагам установки.

Шаг 4: Выбор компонентов установки

В процессе установки мы будем представлены диалогу выбора компонентов. Здесь необходимо быть внимательными. В зависимости от версии 1С и типа установщика, мы можем увидеть различные опции. Критически важно при наличии такой опции, поставить галку напротив пункта "Зависимости" (Dependencies). Эта опция инструктирует установщик попытаться проверить и установить все необходимые системные зависимости. Хотя мы уже установили их вручную, эта проверка не будет лишней и поможет убедиться, что все на месте.

Продолжаем установку, следуя инструкциям на экране, выбирая необходимые компоненты клиента (например, "Тонкий клиент", "Толстый клиент", "Администрирование сервера 1С:Предприятия" и т.д.) и путь установки. Если все зависимости были установлены корректно на предыдущих шагах, установка должна пройти без дополнительных ошибок и вопросов. Для удобства администрирования кластера в Linux пригодится консоль для администрирования серверов 1С.

Нюансы для разных версий 1С:Предприятия

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

Учебная версия 1С:Предприятия

Учебная версия, как правило, более требовательна к точному соответствию версий библиотек. Именно для нее чаще всего возникают проблемы с отсутствием libwebkit2gtk-4.0-37. Это объясняется тем, что учебные версии могут быть созданы с более строгими зависимостями на конкретные релизы операционных систем и библиотек. Таким образом, для успешной установки учебной версии, практически всегда требуется ручная подготовка системы и установка отсутствующих .deb пакетов, как мы подробно рассмотрели в "Решении 1". Подход с ручным скачиванием и установкой пакетов из старых репозиториев является наиболее надежным для учебных версий.

Коммерческая (боевая) версия 1С:Предприятия

В отличие от учебной, некоторые пользователи отмечают, что более новые коммерческие версии 1С (например, 8.3.26.1540 и выше) могут устанавливаться на современные дистрибутивы Linux без явных проблем с зависимостями. Это может быть связано с тем, что разработчики 1С могли интегрировать необходимые библиотеки непосредственно в пакет установщика или сделать платформу менее зависимой от конкретных версий системных библиотек. В таких случаях установщик может сам справляться с поиском и установкой необходимых компонентов или же они уже присутствуют в современных дистрибутивах в совместимом виде. Если мы устанавливаем коммерческую версию 1С в виде .deb пакетов, процесс может выглядеть так:

  1. Скачиваем необходимые .deb пакеты (например, 1c-enterprise83-common_8.3.26.1540_amd64.deb, 1c-enterprise83-client_8.3.26.1540_amd64.deb и т.д.).
  2. Устанавливаем их с помощью dpkg -i:
    
    sudo dpkg -i ./1c-enterprise83-common_8.3.26.1540_amd64.deb
    sudo dpkg -i ./1c-enterprise83-client_8.3.26.1540_amd64.deb
    
  3. После установки пакетов, если возникли проблемы с зависимостями, используем команду для их разрешения: sudo apt install -f

Если после этого клиент 1С не запускается и выдает ошибку, указывающую на отсутствие libwebkit2gtk-4.0.so.37, тогда нам также придется применить методы ручной установки этой библиотеки, описанные выше.

Дополнительные рекомендации и устранение неполадок

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

Проверка системных журналов и вывода консоли

Когда 1С не запускается или выдает ошибку, очень полезно запустить его из консоли, чтобы увидеть подробный вывод. Часто именно там мы можем найти точное сообщение об ошибке, например: error while loading shared libraries: libwebkit2gtk-4.0.so.37: cannot open shared object file: No such file or directory. Это сообщение ясно указывает на то, что нужная библиотека не найдена. Если же 1С просто не запускается без каких-либо видимых сообщений, это также может указывать на проблему с зависимостями, которые не позволяют процессу инициализироваться.

Установка шрифтов

Иногда, помимо базовых библиотек, для корректного отображения интерфейса 1С могут потребоваться дополнительные шрифты или настройка окружения для сборки внешних компонент, особенно если используются специфические для Windows или проприетарные шрифты. Обычно это семейство шрифтов Microsoft Core Fonts. Мы можем установить их командой:

sudo apt install ttf-mscorefonts-installer -y

После установки может потребоваться обновить кэш шрифтов: sudo fc-cache -f -v.

Использование TAB для поиска пакетов в репозиториях

Если мы не уверены в полном названии пакета, мы можем использовать автодополнение по TAB в консоли. Например, если мы знаем, что нам нужен пакет, начинающийся с libwebkit2gtk, мы можем набрать:

sudo apt install libwebkit2gtk

Затем нажать клавишу TAB. Система покажет все доступные пакеты, начинающиеся с этих символов. Это поможет нам выяснить, какие версии libwebkit2gtk доступны в наших текущих репозиториях (например, libwebkit2gtk-4.1-0 вместо требуемого libwebkit2gtk-4.0-37).

Драйверы HASP для аппаратных ключей

Если мы используем аппаратные ключи защиты HASP (Guardant), то необходимо установить соответствующие драйверы. Обычно это пакет aksusbd или haspd. Мы можем найти их на сайте производителя ключей или на ресурсах поддержки 1С. Установка драйвера HASP является отдельным шагом и не связана напрямую с зависимостями самой платформы 1С, но критична для ее запуска в защищенном режиме.

Подключение репозиториев Debian

Как альтернативу репозиториям Ubuntu 22.04, мы можем рассмотреть подключение репозиториев Debian 11 "Bullseye". В них также могут присутствовать необходимые версии библиотек. Процесс добавления аналогичен описанному для Ubuntu, но с указанием репозиториев Debian.

Например, мы можем добавить строки в /etc/apt/sources.list или отдельный файл в /etc/apt/sources.list.d/:


deb http://deb.debian.org/debian bullseye main contrib non-free
deb http://deb.debian.org/debian-security/ bullseye-security main contrib non-free
deb http://deb.debian.org/debian bullseye-updates main contrib non-free

И снова, не забываем удалить или закомментировать эти строки после установки, чтобы избежать конфликтов пакетов.

Таким образом, проблема установки клиента 1С:Предприятия на новые версии Linux Mint, связанные с отсутствием libwebkit2gtk-4.0-37, является вполне решаемой. Мы рассмотрели несколько подходов, включая ручную установку пакетов из старых репозиториев и изменение списка источников пакетов. Важно проявлять внимательность к версиям пакетов и следовать инструкциям по установке зависимостей в правильной последовательности. Применение этих методов позволит вам успешно развернуть клиент 1С:Предприятия и приступить к работе.

← На главную