Подробный гайд по установке и запуску 1С:Предприятие 8.3 в Fedora Linux - Часть 1

Подробный гайд по установке и запуску 1С:Предприятие 8.3 в Fedora Linux. Настройка зависимостей, скрипты диагностики ошибок и решение проблем с библиотеками в терминале.

2026.10.02                  


Подробный гайд по установке и запуску 1С:Предприятие 8.3 в Fedora Linux - Часть 1Подробный гайд по установке и запуску 1С:Предприятие 8.3 в Fedora Linux - Часть 1 Гайд для Fedora: как поставить/запустить 1С:Предприятие 8.3 под Linux, сделать так, чтобы ошибки и “чего не хватает” было видно в терминале, и как быстро находить недостающие пакеты/библиотеки.

Важно:

Дальше предполагаем 64-битную 1С:Предприятие 8.3 для Linux и обычную Fedora с графическим сеансом. Если у вас серверная Fedora без GUI — тоже прочитайте раздел про xvfb-run/X11.


0. Главный принцип: запускать 1С из терминала и логировать всё



1С на Linux часто ведёт себя так:

  • часть ошибок платформер пишет в stderr в терминале;
  • ошибки динамического линковщика error while loading shared libraries видны только при запуске из терминала;
  • GTK/WebKit/GLib-предупреждения тоже попадают в терминал;
  • некоторые ошибки 1С показывает только в GUI, тогда надо смотреть логи/техжурнал/strace.

Задача гайда: сделать запуск из терминала, запись лога и диагностику зависимостей.


1. Подготовка Fedora

1.1. Обновите систему

sudo dnf upgrade --refresh

1.2. Установите русскую локаль

sudo dnf install glibc-langpack-ru

Проверка:

locale -a | grep -i ru_RU

Можно выставить системно:

sudo localectl set-locale LANG=ru_RU.UTF-8

Или временно в текущем терминале:

export LANG=ru_RU.UTF-8
export LC_ALL=ru_RU.UTF-8

После системной смены локали лучше перезайти в сеанс.


1.3. Создайте каталог для скриптов

mkdir -p ~/bin

Если ~/bin ещё не в PATH:

grep -q 'HOME/bin' ~/.bashrc || echo 'export PATH="$HOME/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc

2. Установка 1С:Предприятие 8.3 в Fedora

Официальные пакеты 1С обычно скачиваются с портала 1С / releases.1c.ru в виде RPM/DEB-пакетов. Для Fedora нужны RPM-пакеты x86_64.

Примерный состав клиентской установки:

  • 1C-enterprise83-common
  • 1C-enterprise83-client
  • иногда языковые/дополнительные пакеты.

2.1. Посмотрите зависимости RPM до установки

Перейдите в каталог с пакетами, например:

cd ~/Downloads/1c

Посмотреть зависимости пакета:

rpm -qpR ./1C-enterprise83-client-*.rpm | less

Это полезно, если потом dnf ругается.


2.2. Установка через dnf

Лучше ставить не голым rpm, а через dnf, чтобы он попытался подтянуть зависимости:

sudo dnf install ./1C-enterprise83-common-*.rpm ./1C-enterprise83-client-*.rpm

Если у вас несколько RPM, можно указать их явно:

sudo dnf install ./1C-enterprise83-common-8.3.*.rpm ./1C-enterprise83-client-8.3.*.rpm

Если пакеты не подписаны, а вы уверены, что скачали их официально:

sudo dnf install --nogpgcheck ./1C-enterprise83-common-*.rpm ./1C-enterprise83-client-*.rpm

Но --nogpgcheck используйте только для проверенных пакетов.


2.3. Проверка установки

Обычно платформа ставится в /opt/1cv8/x86_64:

ls -l /opt/1cv8/x86_64

Там будут каталоги версий, например:

8.3.22.xxxx
8.3.24.xxxx

Поиск исполняемого файла:

find /opt/1cv8/x86_64 -type f -name 1cv8 -o -type f -name 1cv8c

Тонкий клиент обычно 1cv8c, толстый клиент/конфигуратор — часто 1cv8.


3. Типовые зависимости для 1С в Fedora

Набор зависит от версии 1С, но для клиента почти всегда нужны GTK/X11/WebKit/шрифты/GStreamer/библиотеки рендеринга.

3.1. Базовый набор пакетов

Выполните:

sudo dnf -y install \
  glibc-langpack-ru \
  gtk3 libsecret enchant2 dconf gsettings-desktop-schemas adwaita-icon-theme hicolor-icon-theme xdg-utils bubblewrap \
  gstreamer1 gstreamer1-plugins-base gstreamer1-plugins-good \
  libX11 libXext libXrender libXt libXi libXrandr libXcursor libXcomposite libXdamage libXfixes libXScrnSaver libXxf86vm libXpm libXaw libXtst libXinerama libXmu \
  cairo pango gdk-pixbuf2 atk at-spi2-atk at-spi2-core libxkbcommon libxkbcommon-x11 libepoxy librsvg2 \
  mesa-libGL mesa-libEGL mesa-libgbm libdrm \
  libcurl openssl-libs libxml2 libxslt sqlite-libs libicu libuuid libblkid zlib libffi libjpeg-turbo libtiff libpng libwebp \
  cups-libs libusb1 libnotify nss nspr xz-libs bzip2-libs libatomic alsa-lib pulseaudio-libs libcanberra-gtk3 \
  dejavu-sans-fonts dejavu-serif-fonts liberation-fonts google-noto-sans-fonts google-noto-serif-fonts \
  xorg-x11-fonts-Type1 xorg-x11-fonts-misc \
  strace lsof file


Если какой-то пакет в вашей версии Fedora называется иначе или не находится — уберите его и установите остальное. Дальше будем точечно искать через dnf provides.


3.2. WebKit

1С может использовать WebKit для отображения HTML-контента/справок/некоторых форм.

Проверьте доступные пакеты:

sudo dnf search webkit2gtk

Если 1С требует libwebkit2gtk-4.1.so.0:

sudo dnf install webkit2gtk4.1

Если 1С требует libwebkit2gtk-4.0.so.37:

sudo dnf install webkit2gtk4.0

Если пакета webkit2gtk4.0 в вашей Fedora уже нет — это частая проблема. Не рекомендую делать случайные символические ссылки на другую версию WebKit: обычно это приводит к падениям.

Лучше:

  • использовать версию 1С, которая поддерживает актуальный WebKit;
  • или использовать контейнер/distrobox с Ubuntu LTS/другой поддерживаемой 1С системой;
  • или ставить нужный WebKit из проверенного репозитория, но это уже повышенный риск.

3.3. Шрифты и кэш шрифтов

Проверьте кириллицу:

fc-list :lang=ru family | sort -u | head

Если список пустой или маленький:

sudo dnf install dejavu-sans-fonts dejavu-serif-fonts liberation-fonts google-noto-sans-fonts google-noto-serif-fonts

Можно дополнительно, если доступно:

sudo dnf install paratype-pt-fonts || true

Обновите кэш шрифтов:

fc-cache -f

3.4. Словари для проверки орфографии, если нужно

sudo dnf install hunspell-ru hunspell-en-US

3.5. Если нужны GStreamer-плагины

Если 1С ругается на мультимедиа/скан/медиа-компоненты, можно дополнительно поставить:

sudo dnf install gstreamer1-plugins-bad-free || true

Для части плагинов может понадобиться RPM Fusion:

sudo dnf install \
  https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm \
  https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm

4. Скрипт диагностики: показать, чего не хватает

Создайте файл:

nano ~/bin/1c-doctor

Вставьте:

#!/usr/bin/env bash
set -u

REQUEST="${1:-${ONEC_BIN:-1cv8}}"

echo "== 1C doctor =="
echo "Date: $(date)"
if [[ -r /etc/os-release ]]; then
  . /etc/os-release
  echo "OS: ${PRETTY_NAME:-unknown}"
fi
echo "Kernel: $(uname -r)"
echo "Requested binary: $REQUEST"

BIN=""
if [[ -x "$REQUEST" ]]; then
  BIN="$REQUEST"
elif command -v "$REQUEST" >/dev/null 2>&1; then
  BIN=$(command -v "$REQUEST")
else
  SEARCH_NAME=$(basename "$REQUEST")
  BIN=$(find /opt/1cv8/x86_64 -maxdepth 2 -type f -name "$SEARCH_NAME" 2>/dev/null | sort -V | tail -n 1)
fi

if [[ -z "${BIN:-}" ]]; then
  echo "ERROR: 1C binary not found for request: $REQUEST"
  echo "Install 1C client RPM or set ONEC_BIN=/path/to/1cv8"
  exit 1
fi

DIR=$(dirname "$BIN")
echo "1C binary: $BIN"
echo "1C dir: $DIR"
file "$BIN" 2>/dev/null || true

echo
echo "== Locale =="
locale || true
if ! locale -a 2>/dev/null | grep -Eiq '^ru_RU\.utf-?8$'; then
  echo "WARNING: ru_RU.UTF-8 is not available."
  echo "Fix: sudo dnf install glibc-langpack-ru"
fi

echo
echo "== Display/session =="
echo "DISPLAY=${DISPLAY:-unset}"
echo "WAYLAND_DISPLAY=${WAYLAND_DISPLAY:-unset}"
echo "XDG_SESSION_TYPE=${XDG_SESSION_TYPE:-unset}"
if [[ -z "${DISPLAY:-}" && -z "${WAYLAND_DISPLAY:-}" ]]; then
  echo "WARNING: GUI needs DISPLAY or WAYLAND_DISPLAY."
  echo "For SSH use ssh -X, for headless use xvfb-run."
fi

echo
echo "== ldd missing libraries for main binary =="
export LD_LIBRARY_PATH="$DIR:${LD_LIBRARY_PATH:-}"
MISSING=$(ldd "$BIN" 2>/dev/null | awk '/not found/{print $1}' | sort -u || true)
if [[ -n "$MISSING" ]]; then
  echo "$MISSING"
  echo
  echo "== dnf provides candidates =="
  while IFS= read -r lib; do
    [[ -z "$lib" ]] && continue
    echo "--- $lib ---"
    dnf -q provides "*/$lib" 2>/dev/null | sed -n '1,12p'
  done <<< "$MISSING"
else
  echo "No missing libraries reported by ldd."
fi

echo
echo "== Quick check of 1C bundled .so files in binary dir =="
find "$DIR" -maxdepth 1 -type f -name '*.so*' -print -exec ldd {} \; 2>/dev/null | awk '/not found/{print}' | sort -u || true

echo
echo "== Installed packages related to 1C/GTK/WebKit =="
rpm -qa | grep -Ei '1C-enterprise|webkit2gtk|gtk3|gstreamer|enchant|libsecret|cairo|pango|gdk-pixbuf|mesa-lib' | sort

echo
echo "== Fonts =="
if command -v fc-list >/dev/null 2>&1; then
  echo "Cyrillic-capable fonts sample:"
  fc-list :lang=ru family 2>/dev/null | sort -u | head -n 15
else
  echo "fontconfig not found"
fi

echo
echo "== SELinux =="
if command -v getenforce >/dev/null 2>&1; then
  echo "SELinux mode: $(getenforce)"
  if [[ $(id -u) -eq 0 ]]; then
    ausearch -m avc -ts recent 2>/dev/null | grep -Ei '1cv8|/opt/1cv8' | tail -n 10 || true
  else
    echo "Run as root to show recent AVC denials, or:"
    echo "sudo ausearch -m avc -ts recent | grep -Ei '1cv8|/opt/1cv8'"
  fi
else
  echo "SELinux tools not found"
fi

echo
echo "== Recent coredumps =="
if command -v coredumpctl >/dev/null 2>&1; then
  coredumpctl list --no-pager 2>/dev/null | tail -n 5 || true
fi

echo
echo "== User data dirs =="
ls -ld "$HOME/.1C" 2>/dev/null || echo "$HOME/.1C not found yet"
ls -ld "$HOME/.config/1C" 2>/dev/null || true


Сохраните файл и сделайте исполняемым:

chmod +x ~/bin/1c-doctor

Запуск:

~/bin/1c-doctor

Если нужен тонкий клиент:

~/bin/1c-doctor 1cv8c

Если нужно проверить конкретный файл:

~/bin/1c-doctor /opt/1cv8/x86_64/8.3.24.xxxx/1cv8

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


Статью подготовил: Аверко Денис Сергеевич @Nymexis г. Омск (специалист по ЗИ)

Комментарии

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