Обновление платформы 1С:Предприятие на серверах под управлением Ubuntu — задача, которая требует внимательности и понимания особенностей взаимодействия Linux-систем с проприетарным ПО. В отличие от Windows, где процесс обновления часто сводится к запуску установщика, в Ubuntu необходимо учитывать зависимости, права доступа и совместимость версий. Эта инструкция поможет администраторам и разработчикам выполнить обновление без потери данных и с минимальным простоем системы.

Особенность работы с 1С на Linux заключается в том, что платформа здесь функционирует через Wine или native-версии (для серверных компонентов). Последнее обновление архитектуры 1С для Linux (версия 8.3.23+) внесло изменения в механизм лицензирования и работу с postgresql, что требует дополнительной настройки. Мы рассмотрим оба варианта: обновление через deb-пакеты и ручную установку с официального сайта.

Важно: если ваша инфраструктура использует кластер серверов 1С или интегрирована с внешними системами (например, ATOL, СБИС), предварительно проверьте совместимость новых версий платформы с этими сервисами. Некоторые модули (например, обмен с ЕГАИС) могут требовать обновления драйверов.

1. Подготовка системы перед обновлением

Первый шаг — создание резервной копии текущей конфигурации. Это критично, так как ошибки при обновлении могут привести к неработоспособности баз данных. В Ubuntu для этого используйте:

sudo -u postgres pg_dumpall > /backup/1c_backup_$(date +%Y-%m-%d).sql

sudo tar -czvf /backup/1c_config_$(date +%Y-%m-%d).tar.gz /opt/1C /var/1C

Обратите внимание на права доступа к папкам. Платформа 1С в Linux часто устанавливается в /opt/1C/v8.3, но путь может отличаться. Проверьте текущую версию платформы командой:

/opt/1C/v8.3/x86_64/1cv8 --version

Также убедитесь, что на сервере достаточно свободного места. Обновление требует временных файлов объёмом до 1.5-2 ГБ (в зависимости от версии). Проверьте свободное пространство:

df -h /opt

Создать резервную копию баз PostgreSQL|Скопировать конфигурационные файлы 1С|Проверьте свободное место на диске (минимум 2 ГБ)|Запишите текущую версию платформы 1С|Остановите все рабочие процессы 1С (pkill -9 1cv8)-->

Если ваш сервер использует SELinux или AppArmor, временно отключите их на время обновления, так как они могут блокировать доступ к системным файлам. После обновления не забудьте вернуть настройки безопасности.

⚠️ Внимание: Если вы используете лицензионный ключ HASP (аппаратный или программный), убедитесь, что он поддерживает новую версию платформы. Некоторые старые ключи (выпущенные до 2020 года) могут не работать с 1С 8.3.23+.

2. Способы обновления: официальные пакеты vs ручная установка

Существует два основных метода обновления 1С на Ubuntu:

  • 📦 Через официальные deb-пакеты (рекомендуется для большинства пользователей). Подходит для системных администраторов, которые предпочитают управлять ПО через apt.
  • 🛠️ Ручная установка с сайта 1С. Актуально, если нужна конкретная версия или бета-релиз.

Рассмотрим оба варианта подробно.

2.1. Обновление через deb-пакеты (репозиторий 1С)

Официальный репозиторий 1С для Linux содержит актуальные версии платформы. Чтобы подключить его, выполните:

wget https://repo.1c.ru/keys/1c-archive-keyring.gpg -O /usr/share/keyrings/1c-archive-keyring.gpg

echo"deb [signed-by=/usr/share/keyrings/1c-archive-keyring.gpg] https://repo.1c.ru/deb stable main" | sudo tee /etc/apt/sources.list.d/1c.list

sudo apt update

После этого установите или обновите платформу:

sudo apt install --only-upgrade 1c-enterprise83

Если требуется конкретная версия (например, 8.3.23.1869), укажите её явно:

sudo apt install 1c-enterprise83=8.3.23.1869

2.2. Ручная установка с сайта 1С

Скачайте нужную версию с официального сайта (раздел"Технологическая платформа для DEB-based дистрибутивов"). Например, для версии 8.3.24.1259:

wget https://releases.1c.ru/version_files/8.3.24.1259/debian11_amd64/1c-enterprise83_8.3.24-1259_amd64.deb

sudo dpkg -i 1c-enterprise83_8.3.24-1259_amd64.deb

Если возникают ошибки зависимостей, выполните:

sudo apt --fix-broken install

Официальные deb-пакеты|Ручная установка с сайта 1С|Через Docker-контейнеры|Другой способ-->

3. Обновление серверных компонентов (ragent, rmngr, ws)

Если вы используете кластер серверов 1С, необходимо обновить не только платформу, но и серверные утилиты: ragent (агент сервера), rmngr (менеджер кластера) и ws (веб-сервер). Процесс отличается от обновления клиентской части.

Остановите все сервисы 1С:

sudo systemctl stop srv1cv83

sudo systemctl stop rphost

Обновите пакеты (для deb-репозитория):

sudo apt install --only-upgrade 1c-enterprise83-server 1c-enterprise83-ws 1c-enterprise83-crs

Для ручной установки скачайте соответствующие пакеты:

- 1c-enterprise83-server_*.deb (основной сервер)

- 1c-enterprise83-ws_*.deb (веб-сервер)

- 1c-enterprise83-crs_*.deb (кластер серверов)

После обновления перезапустите сервисы:

sudo systemctl start rphost

sudo systemctl start srv1cv83

⚠️ Внимание: При обновлении кластера с версии 8.3.20 на 8.3.23+ может потребоваться миграция конфигурационных файлов. Используйте утилиту /opt/1C/v8.3/x86_64/rac cluster migrate для автоматической конвертации.

4. Проверка работоспособности после обновления

После обновления необходимо проверить:

  1. Запуск платформы в терминале:
    /opt/1C/v8.3/x86_64/1cv8
  2. Подключение к базе данных:
    /opt/1C/v8.3/x86_64/1cv8 DESIGNER /S"postgres://user:password@localhost/dbname"
  3. Работу веб-клиента (если используется):
    curl -I http://localhost/1cws

Если возникают ошибки подключения к PostgreSQL, проверьте совместимость версий. Начиная с 1С 8.3.21, требуется PostgreSQL 12+. Обновите СУБД при необходимости:

sudo apt install postgresql-15

sudo pg_upgradecluster 12 main

Для диагностики проблем используйте логи:

  • 📄 Логи платформы: /var/log/1C/
  • 📄 Логи кластера: /var/log/1C/srv1cv83/
  • 📄 Логи PostgreSQL: /var/log/postgresql/
sudo apt install libgsf-1-114
-->

5. Решение типичных ошибок после обновления

Даже при правильном обновлении могут возникать проблемы. Рассмотрим самые распространённые:

Ошибка Причина Решение
Не найдена библиотека libnss3.so Отсутствует зависимость для работы с SSL
sudo apt install libnss3
Ошибка лицензии: -100 Несовместимость HASP-ключа с новой версией Обновите драйвер ключа или используйте программную лицензию
Failed to connect to PostgreSQL Несовпадение версий 1С и PostgreSQL Обновите PostgreSQL до 12+ или откат платформы
Segmentation fault (core dumped) Повреждение библиотек или конфликт версий Переустановите платформу с очисткой кэша (rm -rf ~/.1cv8/)

Если после обновления не работают печатные формы или отчёты, проверьте наличие шрифтов Microsoft Core Fonts:

sudo apt install ttf-mscorefonts-installer

Для ошибок, связанных с wine (если используете клиент под Wine), обновите его до последней версии:

sudo apt install --install-recommends winehq-stable
Что делать если после обновления не открываются базы?

Если базы не открываются с ошибкой "Формат базы данных не поддерживается", это означает, что версия файловой базы (например, *.1CD) старше, чем текущая платформа. В этом случае:

1. Сделайте резервную копию файла базы.

2. Попробуйте открыть её в Конфигураторе с флагом --RepairAndDumpIB.

3. Если не помогает, используйте утилиту chdbfl для конвертации форматов.

4. В крайнем случае выполните выгрузку/загрузку данных через DT-файл в новой базе.

6. Оптимизация производительности после обновления

Новые версии 1С часто требуют больше ресурсов. После обновления рекомендуется:

  • Настроить swappiness (если сервер использует SSD):
    echo"vm.swappiness=10" | sudo tee -a /etc/sysctl.conf
    

    sudo sysctl -p

  • 🖥️ Увеличить лимиты открытых файлов для пользователя usr1cv8:
    echo"usr1cv8 soft nofile 65536" | sudo tee -a /etc/security/limits.conf
    

    echo"usr1cv8 hard nofile 65536" | sudo tee -a /etc/security/limits.conf

  • 🗃️ Очистить кэш 1С (особенно если обновлялись с версии 8.3.18 и ниже):
    rm -rf /home/usr1cv8/.1cv8/
    

    rm -rf /tmp/1C*

Для кластерных установок проверьте настройки пула соединений в /etc/1c/conf.d/srv1cv83.conf. Оптимальные параметры для сервера с 8 ГБ ОЗУ:

max_memory = 6144

max_connections = 50

cache_size = 2048

Если используете Nginx как фронтенд для веб-клиента 1С, обновите конфигурацию прокси:

location /1cws/ {

proxy_pass http://localhost:8080/1cws/;

proxy_set_header Host $host;

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_set_header X-Forwarded-Proto $scheme;

proxy_buffering off;

}

7. Откат обновления при неудаче

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

  1. Остановите все сервисы 1С:
    sudo systemctl stop srv1cv83 rphost apache2
  2. Удалите текущую версию:
    sudo apt remove 1c-enterprise83*
  3. Установите предыдущую версию из локального кэша:
    sudo apt install 1c-enterprise83=8.3.22.1830

    (замените номер версии на вашу предыдущую)

  4. Восстановите конфигурационные файлы из резервной копии:
    sudo tar -xzvf /backup/1c_config_2026-05-01.tar.gz -C /

Если вы обновляли PostgreSQL и возникли проблемы с базами, выполните откат СУБД:

sudo pg_dropcluster 15 main --stop

sudo pg_createcluster -d /var/lib/postgresql/12/main --start 12 main

⚠️ Внимание: При откате версии 1С не (понижение версии) может привести к несовместимости формата баз данных. Если базы уже были открыты в новой версии, их потребуется выгрузить/загрузить заново через DT-файл.

8. Автоматизация обновлений (для опытных администраторов)

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

#!/bin/bash

Остановка сервисов

systemctl stop srv1cv83

Обновление

apt update && apt install --only-upgrade -y 1c-enterprise83

Проверка версии

VERSION=$(/opt/1C/v8.3/x86_64/1cv8 --version | head -n 1)

Запуск сервисов

systemctl start srv1cv83

Отправка отчёта

echo"1C updated to $VERSION on $(hostname)" | mail -s"1C Update Report" admin@example.com

Для Ansible можно использовать следующий плейбук:

---

- hosts: 1c_servers

tasks:

- name: Update 1C platform

apt:

name: 1c-enterprise83

state: latest

update_cache: yes

- name: Restart 1C services

systemd:

name:"{{ item }}"

state: restarted

loop:

- srv1cv83

- rphost

Важно: перед автоматизацией протестируйте процесс на тестовом сервере. Автоматическое обновление может привести к неожиданным последствиям, если:

  • 🔄 Используются нестандартные пути установки (не /opt/1C/)
  • 🔑 Применяются кастомные лицензионные решения
  • 🔌 Есть интеграции с внешними системами (например, ATOL, Диадок)
💡

Автоматическое обновление удобно, но рискованно. Всегда тестируйте новые версии на staging-сервере перед применением в продакшене. Особенно это касается обновлений с изменением мажорной версии (например, 8.3.20 → 8.3.23).

FAQ: Частые вопросы по обновлению 1С на Ubuntu

Можно ли обновлять 1С на Ubuntu без остановки рабочих процессов?

Нет, обновление платформы требует остановки всех процессов 1cv8 и серверных компонентов. Попытка обновления"на лету" приведёт к повреждению временных файлов и возможной потере данных. Рекомендуется планировать обновление на время минимальной нагрузки (например, ночью) или использовать резервный сервер для обеспечения непрерывности работы.

Как проверить совместимость текущей конфигурации с новой версией 1С?

Используйте Тестовый центр в Конфигураторе:

  1. Откройте базу в Конфигураторе.
  2. Перейдите в Администрирование → Тестирование и исправление.
  3. Выберите Проверка совместимости с версией платформы.
  4. Укажите целевую версию (например, 8.3.24).

Система покажет потенциальные проблемы, такие как устаревшие методы или несовместимые объекты метаданных.

Что делать, если после обновления перестали работать отчёты с диаграммами?

Эта проблема связана с отсутствием шрифтов Microsoft Core Fonts или библиотек для рендеринга графики. Установите следующие пакеты:

sudo apt install ttf-mscorefonts-installer libgdiplus

Затем перезапустите сервер 1С:

sudo systemctl restart srv1cv83

Если проблема сохраняется, проверьте настройки рендеринга в файле /etc/1c/conf.d/srv1cv83.conf (параметр graph_rendering = gdiplus).

Как обновить 1С на Ubuntu, если нет доступа к интернету?

Скачайте необходимые .deb-пакеты на машине с доступом в интернет, затем перенесите их на целевой сервер. Например:

  1. На машине с интернетом:
    wget https://repo.1c.ru/deb/pool/main/1/1c-enterprise83/1c-enterprise83_8.3.24-1259_amd64.deb
  2. Перенесите файл на сервер (например, через scp):
    scp 1c-enterprise83_8.3.24-1259_amd64.deb user@1c-server:/tmp/
  3. На сервере установите пакет:
    sudo dpkg -i /tmp/1c-enterprise83_8.3.24-1259_amd64.deb

Аналогично поступите с зависимостями (их можно найти в файле /var/lib/apt/lists/repo.1c.ru* на машине с интернетом).

Нужно ли обновлять клиентские рабочие станции после обновления сервера?

Да, версии платформы на сервере и клиентах должны совпадать (или клиентская версия может быть новее). Если клиенты подключаются через веб-интерфейс или тонкий клиент, достаточно обновить только сервер. Для толстого клиента или Конфигуратора на Windows/Linux требуется отдельное обновление.

Исключение: если используется управляемое приложение, клиентская версия может быть на 1-2 релиза старше серверной (но не наоборот). Проверьте совместимость в документации 1С.