1С:Предприятие 8.3 в Linux без Wine: клиент, сервер и PostgreSQL
Содержание
Чтобы установить 1С на Linux, скачайте с портала обновлений дистрибутив «Технологическая платформа 1С:Предприятия (64-bit) для Linux», распакуйте архив и запустите установщик setup-full-…-x86_64.run от root. Wine для этого не нужен: у 1С:Предприятия 8.3 есть родной клиент и сервер под Linux, они ставятся как обычная программа.
Способов три, и выбор простой. Нативная установка — для рабочих мест и сервера. Виртуальная машина с Windows — когда нужна внешняя компонента или драйвер оборудования только под Windows. Wine — крайний вариант, к нему прибегают по инерции, и он даёт больше проблем, чем решает.
Какой Linux выбрать под 1С
1С тестирует платформу на конкретных семействах дистрибутивов. На них установка проходит без сюрпризов, на экзотике придётся вручную добирать библиотеки.
| Дистрибутив | Для чего брать | Тип пакетов |
|---|---|---|
| Ubuntu LTS (22.04, 24.04) | рабочие места, тестовые серверы | DEB |
| Debian 11–12 | серверы 1С и PostgreSQL | DEB |
| Astra Linux | госсектор, требования ФСТЭК | DEB |
| РЕД ОС | импортозамещение, серверы | RPM |
| Альт (Рабочая станция, Сервер) | импортозамещение | RPM |
Несколько практических соображений:
- 🖥️ Для рабочего места бухгалтера удобнее Ubuntu или Astra с графической средой — шрифты и печать там настраиваются быстрее.
- 🗄️ Для сервера берите LTS-релиз без графики. Сервер 1С и PostgreSQL прекрасно живут на одной машине до 30–50 пользователей.
- 🏛️ Если организация обязана использовать отечественное ПО, выбирайте Astra Linux, РЕД ОС или Альт: с ними 1С работает официально.
Перед покупкой железа проверьте, поддерживает ли нужная версия платформы выбранный релиз ОС. Список поддерживаемых систем публикуется в описании каждой версии платформы на портале обновлений.
Архитектура — только 64 бита. 32-битные сборки для Linux давно не выпускаются.
Подготовка Linux к установке 1С: пакеты, шрифты, Wine
Обновите систему и поставьте то, без чего клиент запустится с квадратиками вместо букв или не запустится вовсе.
sudo apt update && sudo apt upgrade -y
sudo apt install -y fontconfig ttf-mscorefonts-installer imagemagick unixodbc libgsf-1-114
sudo fc-cache -fv
Для RPM-дистрибутивов то же самое делается через dnf install, имена пакетов немного другие. Шрифты Microsoft нужны для печатных форм: макеты 1С свёрстаны под Arial и Times New Roman, без них таблицы съезжают.
Проверьте локаль. Серверу 1С и PostgreSQL нужна ru_RU.UTF-8:
locale -a | grep ru_RU
sudo locale-gen ru_RU.UTF-8 # если строки нет (Ubuntu/Debian)
Нужен ли Wine
Нет, если вы ставите платформу 8.3. Wine оправдан только в двух случаях:
- Нужна программа, которая есть лишь под Windows: старый 1С 7.7, драйвер торгового оборудования, внешняя обработка с Windows-компонентой.
- Компьютер не отвечает требованиям нативного клиента, а заменить ОС нельзя.
В остальных ситуациях Wine добавляет второй слой ошибок: падения при печати, проблемы с буфером обмена, медленная работа с файловой базой.
Внешние компоненты в виде Windows DLL в Linux-клиенте не загрузятся. Если ваша конфигурация работает с кассой, весами или банковским модулем через такую компоненту — уточните у поставщика оборудования, есть ли Linux-версия драйвера.
Обновление пакетов и установка Wine для старых программ
Если Wine всё-таки нужен (например, рядом с 8.3 должна работать 7.7), ставьте его из репозитория дистрибутива и в отдельный префикс, чтобы не смешивать с другими программами:
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install -y wine64 wine32 winetricks
WINEPREFIX=~/.wine-1c winecfg
В открывшемся окне winecfg выставьте версию Windows 10 и закройте. Дальше установщик Windows-программы запускается так:
WINEPREFIX=~/.wine-1c wine setup.exe
Ставить через Wine Windows-версию платформы 8.3 бессмысленно: нативный клиент работает быстрее, официально поддерживается и обновляется вместе с платформой.
Установка 1С:Предприятия 8.3 на Linux пошагово
Начиная с версии 8.3.20 клиент и сервер для Linux распространяются одним установщиком .run. Раньше были отдельные DEB- и RPM-пакеты — если у вас старая версия, ставьте их через dpkg -i или rpm -i, но разумнее сразу взять актуальную платформу.
Шаг 1. Скачайте дистрибутив
На портале обновлений 1С откройте технологическую платформу 8.3, нужную версию и скачайте «Технологическая платформа 1С:Предприятия (64-bit) для Linux». Это архив вида server64_8_3_24_1548.tar.gz (цифры — номер версии).
Версию берите ту, которую требует ваша конфигурация. Номер минимальной платформы указан в описании релиза конфигурации.
Шаг 2. Распакуйте и запустите установщик
mkdir ~/1c-dist && cd ~/1c-dist
tar -xzf ~/Загрузки/server64_8_3_24_1548.tar.gz
chmod +x setup-full-8.3.24.1548-x86_64.run
sudo ./setup-full-8.3.24.1548-x86_64.run
Откроется графический мастер. Отметьте компоненты:
- ✅ 1С:Предприятие 8 — толстый клиент с Конфигуратором (нужен для обновления конфигураций);
- ✅ Тонкий клиент — если пользователи работают только через сервер или веб-публикацию;
- ✅ Сервер 1С:Предприятия — только на машине, которая будет сервером;
- ✅ Интерфейс на русском языке .
На сервере без графики удобен тихий режим:
sudo ./setup-full-8.3.24.1548-x86_64.run --mode unattended --enable-components server,ws,ru
Если какой-то из параметров не принимается вашей версией, запустите установщик с --help и сверьте названия компонентов.
Шаг 3. Проверьте результат
Платформа ставится в /opt/1cv8/x86_64/<номер версии>/. Несколько версий живут рядом, не мешая друг другу. В меню приложений появится ярлык «1С:Предприятие», он открывает обычное окно со списком баз.
Шаг 4. Добавьте лицензию
Программная лицензия активируется при первом запуске базы — так же, как в Windows: мастер попросит пин-код и регистрационный номер. Файлы лицензий хранятся в /var/1C/licenses.
Для аппаратного ключа HASP нужен драйвер aksusbd (пакет haspd). Без него ключ в USB система видит, а 1С — нет.
1cv8 из /opt/1cv8/x86_64/<версия>/ в терминале, найдите в выводе имя файла и поставьте пакет, который его содержит (apt-file search <имя>). На старых платформах эта ошибка часто связана с отсутствием libwebkitgtk-3.0 в новых Ubuntu — проще обновить платформу.ttf-mscorefonts-installer, выполните fc-cache -fv и перезапустите 1С.aksusbd. Проверьте systemctl status aksusbd. Для программной лицензии проверьте права на каталог /var/1C/licenses.ru_RU.UTF-8 либо PostgreSQL кластер создан в другой локали. Сгенерируйте локаль и пересоздайте кластер PostgreSQL до появления в нём баз.Как ускорить 1С на Linux и исправить частые сбои
Нативный клиент на Linux по скорости сопоставим с Windows. Если всё тормозит, причина обычно в окружении, а не в платформе.
- 🐢 Файловая база на сетевой папке. Через Samba или NFS файловый вариант работает медленно и рискует повредиться при обрыве связи. Для 3+ пользователей переходите на клиент-сервер.
- 💾 HDD вместо SSD. Для файловой базы и для PostgreSQL диск — главное узкое место.
- 🔒 Антивирус проверяет каталог базы. Исключите файлы
.1CDи каталог данных PostgreSQL из проверки. - 🧹 Распухший кэш. Пользовательский кэш лежит в
~/.1cv8/1C/1cv8/. Его очистка помогает при странных ошибках интерфейса после обновления конфигурации.
Чистите кэш только при закрытой 1С у этого пользователя. Удалять стоит подкаталоги с длинными именами-идентификаторами, а не файл ibases.v8i — в нём список баз.
Если после обновления платформы клиент открывается со старой версией, проверьте настройку версии в свойствах базы в окне запуска: там можно явно указать номер, например 8.3.24.
Альтернатива: 1С в виртуальной машине и Docker
Когда нативная установка не подходит, есть два обходных пути.
| Способ | Когда выбирать | Минусы |
|---|---|---|
| Виртуальная машина (KVM, VirtualBox) с Windows | нужна Windows-компонента, драйвер кассы, 7.7 | лицензия Windows, +2–4 ГБ ОЗУ |
| Docker-контейнер с сервером 1С | тестовые стенды, CI, быстрые копии окружения | официально 1С это не поддерживает, лицензирование нужно продумать |
| Wine | одна старая Windows-программа | нестабильно, не для 8.3 |
Виртуалка — самый предсказуемый вариант. Для KVM используйте драйверы virtio, иначе диск в гостевой Windows будет медленным.
Docker хорош для разработчиков: поднять сервер 1С нужной версии за пару минут, прогнать тесты, удалить. Готовые Dockerfile публикует сообщество; образ собирается из того же установщика .run. Для боевой базы контейнер ничего не даёт, кроме лишнего слоя.
Программная лицензия привязывается к параметрам оборудования. В контейнере и виртуалке эти параметры могут меняться при пересоздании, и лицензия «слетит». Для таких сред обычно используют аппаратный ключ, проброшенный в гостевую систему.
Сервер 1С на Linux вместе с PostgreSQL
Это основной сценарий, ради которого 1С ставят на Linux: сервер приложений и бесплатная СУБД без лицензий Windows Server и MS SQL.
Запуск службы сервера
С версии 8.3.21 сервер управляется через systemd. Файл службы лежит в каталоге платформы:
sudo systemctl link /opt/1cv8/x86_64/8.3.24.1548/srv1cv8-8.3.24.1548@.service
sudo systemctl enable --now srv1cv8-8.3.24.1548@default
sudo systemctl status srv1cv8-8.3.24.1548@default
Сервер работает от пользователя usr1cv8, который создаётся установщиком. Для администрирования с другого компьютера запустите сервер администрирования ras — его unit-файл тоже есть в каталоге платформы.
Откройте порты в брандмауэре: клиент обращается к агенту на 1540, затем к менеджеру кластера на 1541 и к рабочим процессам. Их диапазон по умолчанию 1560–1591, он задаётся в свойствах рабочего сервера.
sudo ufw allow 1540:1541/tcp
sudo ufw allow 1560:1591/tcp
Установка PostgreSQL для 1С
Ванильный PostgreSQL не подходит: нужна сборка с патчами для 1С. Её берут на портале обновлений 1С или ставят сборку Postgres Pro, подготовленную для 1С. Устанавливаете по инструкции к выбранной сборке, затем задаёте пароль пользователю postgres:
sudo -u postgres psql -c "ALTER USER postgres WITH PASSWORD 'сложный_пароль';"
Создание базы
- На любом клиенте откройте окно запуска 1С и нажмите Добавить.
- Выберите создание новой информационной базы, шаблон или пустую базу.
- Тип расположения — На сервере 1С:Предприятия.
- Укажите кластер (имя сервера), имя базы, тип СУБД PostgreSQL, сервер БД, пользователя
postgresи пароль. - Отметьте «Создать базу данных в случае её отсутствия» и завершите мастер.
Готовую базу из Windows переносят через выгрузку .dt: в Конфигураторе старой базы — Администрирование → Выгрузить информационную базу, в новой — Администрирование → Загрузить информационную базу.
Загрузка .dt полностью заменяет данные в базе-приёмнике. Загружайте только в новую пустую базу и при закрытых сеансах.
Оптимизация Linux-сервера для больших баз 1С
Когда база перевалила за 50–100 ГБ, а пользователей десятки, настройки по умолчанию начинают тормозить.
PostgreSQL. Главные параметры в postgresql.conf:
| Параметр | Ориентир | Зачем |
|---|---|---|
shared_buffers | примерно 25% ОЗУ | кэш данных СУБД |
effective_cache_size | примерно 50–75% ОЗУ | подсказка планировщику |
work_mem | 32–128 МБ | сортировки в отчётах |
maintenance_work_mem | 512 МБ–2 ГБ | VACUUM и индексы |
max_connections | с запасом под рабочие процессы | соединения от сервера 1С |
Значения — стартовые. Подбирайте по нагрузке и следите, чтобы сумма не выталкивала систему в своп.
Диски. Каталог данных PostgreSQL и журналы WAL — на NVMe SSD. Файловая система ext4 или XFS, опция noatime в /etc/fstab снижает лишние записи.
Обслуживание. Регламентные операции платформы тут не заменяют СУБД. Проверьте, что autovacuum включён, и раз в неделю в нерабочее время запускайте VACUUM ANALYZE по базе.
Сервер 1С. При росте числа пользователей добавляйте рабочие процессы и следите за памятью в консоли кластера. Параметры перезапуска процессов по памяти задаются в свойствах рабочего сервера.
Перезапуск службы srv1cv8 или PostgreSQL обрывает сеансы всех пользователей. Делайте это вечером или в выходные, предупредив сотрудников.
Частые вопросы про 1С на Linux
Нужна ли отдельная лицензия 1С для Linux?
Можно ли работать с файловой базой из Windows на Linux?
1Cv8.1CD переносится как есть и открывается Linux-клиентом той же или более новой версии платформы.Работает ли на Linux Конфигуратор?
.dt, писать код.Можно ли опубликовать базу для веб-клиента на Linux-сервере?
ws) и Apache, затем опубликуйте базу утилитой webinst из каталога платформы. Пользователи откроют базу в браузере.