К статье
Практический материал

Администрирование · 12 мин

Как перенести 1С на Linux: полное руководство по миграции

Как перенести 1С на Linux: выбор дистрибутива, установка платформы и PostgreSQL, перенос баз через dt-выгрузку, настройка лицензий и типичные ошибки миграции.

Перенос 1С на Linux — рабочий способ снизить затраты на лицензии Windows Server и СУБД, повысить стабильность сервера и уйти от зависимости от проприетарной инфраструктуры. Платформа 1С:Предприятие официально поддерживает работу на Linux: доступны сервер 1С, клиентские приложения и веб-клиент, а в связке с PostgreSQL такая конфигурация давно стала отраслевым стандартом для файловых и клиент-серверных баз.

Миграция сводится к пяти крупным задачам: выбору дистрибутива, установке СУБД, развёртыванию сервера 1С, переносу самих баз и переводу пользователей. Каждый этап имеет свои ограничения: например, конфигурации с COM-объектами, OLE-интеграциями или специфическими внешними компонентами под Windows могут потребовать доработки, а перенос баз между СУБД выполняется только через выгрузку в dt-файл, а не копированием файлов базы данных.

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

Проверка совместимости: что может помешать переезду

До установки чего-либо на новый сервер нужно выяснить, переживёт ли переезд сама конфигурация и окружение. Большинство типовых конфигураций (Бухгалтерия, ЗУП, Управление торговлей, ERP) работают на Linux без доработок, но проблемы обычно прячутся в интеграциях и доработках.

Основные зоны риска: COM/OLE-объекты (обмен с Excel через COM, интеграции через OLE), внешние компоненты, собранные только под Windows, оборудование с драйверами без Linux-версий (некоторые ККТ, сканеры, весы), обмены файлами через сетевые папки с Windows-путями и жёстко прописанными буквами дисков, а также скрипты регламентных заданий, вызывающие внешние Windows-утилиты.

Практический приём — поднять тестовый стенд на виртуальной машине с Linux, загрузить туда копию базы и прогнать ключевые сценарии: проведение документов, формирование отчётов, обмены, печать. Тест занимает день-два, но снимает почти все сюрпризы продуктивного переезда.

Внешние компонентыТолько Windows-сборки

Проверить наличие Linux-версий у поставщика компоненты или заменить механизм

ИнтеграцииCOM/OLE, вызовы Excel

Такие вызовы на сервере Linux не работают — переносить логику на файловый обмен

ОборудованиеККТ, сканеры, весы

Уточнить наличие драйверов под Linux или оставить оборудование на Windows-клиентах

Пути в кодеC:\, сетевые шары

Найти в конфигураторе строки с Windows-путями и заменить на кроссплатформенные

Выбор дистрибутива Linux и подготовка сервера

Фирма «1С» публикует список поддерживаемых дистрибутивов в системных требованиях платформы. На практике чаще всего используют Debian, Ubuntu Server, Astra Linux, ALT Linux и РЕД ОС — для российских организаций с требованиями импортозамещения выбор обычно падает на отечественные дистрибутивы из реестра ПО. Выбирать стоит систему, для которой у вашей команды есть компетенции сопровождения: различия в работе 1С между поддерживаемыми дистрибутивами минимальны.

По ресурсам ориентируйтесь на текущую нагрузку Windows-сервера с запасом: сервер 1С и PostgreSQL чувствительны к объёму оперативной памяти и скорости дисковой подсистемы. Для клиент-серверной базы на десятки пользователей типичный минимум — 16–32 ГБ ОЗУ и SSD, при этом значительную часть памяти отдают под PostgreSQL.

Перед установкой настройте базовые вещи: статический IP-адрес, корректное имя хоста и его разрешение (DNS или /etc/hosts — сервер 1С чувствителен к резолвингу имени), синхронизацию времени по NTP и отключение энергосберегающих режимов дисков. Эти мелочи потом экономят часы диагностики.

Установка и настройка PostgreSQL для 1С

Сервер 1С работает с PostgreSQL, но требования к СУБД специфичны: нужна сборка с определёнными параметрами локализации и библиотеками. Самый надёжный путь — использовать сборку PostgreSQL, которую «1С» публикует вместе с дистрибутивом платформы, либо сборку PostgresPro, сертифицированную для работы с 1С. Стоковый PostgreSQL из репозитория дистрибутива часто требует ручной правки параметров и иногда ведёт себя непредсказуемо под нагрузкой.

После установки СУБД настраивают два ключевых файла: postgresql.conf (память, соединения, журналирование) и pg_hba.conf (правила доступа). Для 1С важны параметры shared_buffers (обычно четверть доступной ОЗУ), work_mem, effective_cache_size и max_connections с запасом под рабочие процессы кластера. Точные значения подбираются под объём базы и число пользователей — универсальных «правильных» цифр нет.

Пользователя СУБД для 1С (обычно postgres или отдельная учётная запись) нужно наделить правами создания баз и ролей — кластер 1С сам создаёт базы при регистрации новой инфобазы. Пароль задайте сразу и сохраните: он понадобится при добавлении базы в консоли кластера.

bash
# Пример: установка PostgreSQL из пакетов 1С на Debian/Ubuntu
sudo dpkg -i postgresql-*.deb
sudo systemctl enable --now postgresql
# Проверка, что СУБД принимает подключения
sudo -u postgres psql -c "SELECT version();"

Установка сервера 1С и публикация баз

Дистрибутив сервера 1С для Linux скачивается с портала releases.1c.ru по действующей договорённости ИТС. Внутри архива — deb- или rpm-пакеты: сервер, дополнительные модули, консоль администрирования. Устанавливаются они штатным пакетным менеджером, после чего служба агента сервера (srv1cv8) регистрируется в systemd и запускается автоматически.

После установки проверьте, что агент работает и слушает порты (по умолчанию диапазон 1540–1591). Управление кластером удобнее всего вести из консоли администрирования серверов 1С на Windows-машине администратора — она подключается к Linux-агенту по сети. Либо используйте утилиту rac из комплекта сервера прямо на Linux.

Если пользователи работают через браузер или тонкий клиент по HTTP, дополнительно ставится веб-сервер (Apache — официально поддерживаемый вариант) с модулем публикации 1С. Публикация базы выполняется утилитой webinst или вручную через конфигурационный файл default.vrd.

Порядок установки сервера 1С
  1. 1
    Скачайте дистрибутив сервера 1С для Linux нужной версии платформы
  2. 2
    Установите пакеты командой dpkg -i или rpm -i
  3. 3
    Запустите службу: systemctl enable --now srv1cv8-*
  4. 4
    Проверьте процессы: ps aux | grep ragent
  5. 5
    Подключитесь консолью администрирования и создайте кластер/проверьте существующий
  6. 6
    Зарегистрируйте тестовую пустую базу и убедитесь, что она создаётся в PostgreSQL

Перенос баз данных с Windows на Linux

Физическое копирование файлов базы из MS SQL в PostgreSQL невозможно — СУБД несовместимы. Штатный и единственно надёжный механизм переноса — выгрузка информационной базы в файл .dt через конфигуратор и последующая загрузка в новую базу на Linux. Этот же способ подходит и для переезда из файлового варианта в клиент-серверный.

Последовательность такая: на старом сервере открываете конфигуратор от имени администратора, выполняете «Администрирование → Выгрузить информационную базу», получаете dt-файл. На новом сервере через консоль кластера создаёте пустую инфобазу (без конфигурации), открываете её в конфигураторе (клиент конфигуратора может быть и на Windows — он подключается к кластеру по сети) и выполняете «Загрузить информационную базу».

Учтите ограничения: выгрузка большой базы в dt занимает часы, а сам файл может быть сопоставим по размеру с базой. На время выгрузки и загрузки пользователей нужно отключить, а регламентные задания — заблокировать. Если база очень большая и окно простоя недопустимо, рассматривают миграцию через средства репликации или поэтапный перенос, но это уже задача для опытного специалиста.

Лицензии, клиенты и переключение пользователей

Лицензии 1С бывают программными и аппаратными (USB-ключи HASP). Программные лицензии привязываются к аппаратным параметрам сервера — при переезде на новое железо или виртуальную машину их нужно активировать заново из пин-кодов, идущих в комплекте поставки (обычно есть основной и резервные пины). Аппаратный ключ на Linux работает через драйвер HASP для Linux, либо ключ можно оставить на отдельной Windows-машине, а сервер 1С настроить на получение лицензий от него по сети.

Клиентские места не обязаны переезжать на Linux одновременно с сервером: пользователи на Windows продолжают работать тонким или толстым клиентом, подключаясь к Linux-кластеру, либо переходят на веб-клиент через браузер. Это позволяет мигрировать поэтапно: сначала сервер, потом, при желании, рабочие места.

Переключение пользователей делайте в нерабочее время: завершите сеансы на старом сервере, выполните финальную выгрузку, загрузите базу на Linux, проверьте вход и ключевые операции, обновите списки баз у пользователей (файл ibases.v8i или публикация) и только потом открывайте доступ. Старый сервер не выключайте минимум несколько дней — он понадобится как точка отката.

Контрольные точки

Как проверить результат миграции

Вход в базу
Норма

Пользователи заходят тонким и веб-клиентом без ошибок

Тревожный признак

Ошибки соединения с кластером или СУБД

Данные
Норма

Оборотно-сальдовая ведомость и ключевые отчёты совпадают со старым сервером

Тревожный признак

Расхождения в итогах, пустые регистры

Регламентные задания
Норма

Задания выполняются по расписанию, в журнале нет ошибок

Тревожный признак

Задания падают из-за Windows-путей или внешних вызовов

Лицензии
Норма

Сеансы не ограничены, в консоли видны выданные лицензии

Тревожный признак

Ошибка 'не найдена лицензия' при входе

Типичные ошибки и как их избежать

Большинство проблем после миграции связано не с самой платформой, а с окружением: неправильным резолвингом имён, недонастроенным PostgreSQL, забытыми интеграциями. Вторая частая группа — организационные ошибки: перенос без тестового прогона и без резервной копии.

Отдельно отметим производительность: свежеперенесённая база на PostgreSQL без настройки параметров СУБД часто работает медленнее, чем на привычном MS SQL. Это не повод откатываться — нужна настройка postgresql.conf и, при необходимости, анализ медленных запросов. После тюнинга связка 1С + PostgreSQL показывает производительность, сопоставимую с коммерческими СУБД.

Типичные ошибки при переносе
01
Копирование файлов базы вместо dt-выгрузки — база физически несовместима между СУБД, перенос не состоится
02
Установка стокового PostgreSQL без сборки 1С — ошибки при создании базы и нестабильная работа
03
Забытая реактивация программных лицензий — пользователи не смогут войти после переезда
04
Перенос без тестового стенда — проблемы с компонентами и интеграциями обнаруживаются уже в продуктиве
05
Отключение старого сервера в день миграции — не остаётся точки отката при проблемах
Итог

Что важно запомнить

Перенос 1С на Linux — штатная процедура: поддерживаемый дистрибутив, PostgreSQL из сборки 1С, сервер платформы и перенос баз через dt-файл. Ключ к спокойной миграции — тестовый стенд, проверенная резервная копия и сохранённый старый сервер как запасной вариант.

Частые вопросы о переносе 1С на Linux

Можно ли перенести базу 1С с MS SQL на PostgreSQL напрямую?

Нет, прямой конвертации файлов базы между СУБД не существует. Используется штатный механизм платформы: выгрузка информационной базы в файл .dt через конфигуратор на старом сервере и загрузка этого файла в пустую базу, зарегистрированную в кластере на Linux с PostgreSQL.

Потеряются ли лицензии 1С при переезде на другой сервер?

Программные лицензии привязаны к оборудованию, поэтому на новом сервере их активируют заново из комплекта пин-кодов поставки — обычно доступны основной и резервные пины. Аппаратный USB-ключ просто переносится на новый сервер вместе с установкой драйвера HASP для Linux.

Обязательно ли переводить рабочие места пользователей на Linux?

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

Работают ли внешние печатные формы и отчёты после переезда?

Внешние отчёты и обработки в формате epf/erf работают кроссплатформенно, если внутри нет вызовов COM-объектов, OLE или Windows-утилит. Такие вызовы нужно найти заранее поиском по тексту модулей и заменить на кроссплатформенные механизмы, например файловый обмен.

Какая СУБД лучше для 1С на Linux — PostgreSQL или PostgresPro?

Обе поддерживаются. Сборка PostgreSQL от 1С бесплатна и покрывает большинство задач; PostgresPro — коммерческий продукт с расширенными возможностями и поддержкой вендора, его выбирают для крупных нагруженных баз или по требованиям импортозамещения.

Сколько времени занимает миграция и какой простой закладывать?

Длительность зависит от размера базы: выгрузка и загрузка dt для базы в десятки гигабайт может занять несколько часов. Реалистичный план — тестовый прогон заранее для замера времени, а продуктивный перенос в выходные с запасом на проверку и возможный откат.