Перевод ИТ-инфраструктуры на операционные системы семейства Linux — один из наиболее популярных векторов развития корпоративных систем в последнее время. Связка сервера 1С:Предприятие и СУБД PostgreSQL под управлением Ubuntu зарекомендовала себя как стабильное и высокопроизводительное решение. Однако у системных администраторов, привыкших к работе в среде Windows, процесс обслуживания и обновления платформы 1С на Linux часто вызывает вопросы.
В рамках данной статьи мы подробно разберем, как правильно обновить серверную платформу 1С:Предприятие на операционной системе Ubuntu. Мы рассмотрим как классический метод ручного обновления через пакетный менеджер dpkg (актуальный для старых версий платформы), так и современный способ с использованием единого универсального инсталлятора, который компания 1С поставляет начиная с версии 8.3.20. Это позволит вам безопасно провести процедуру обновления без потери данных и длительного простоя пользователей.
Любые манипуляции с серверным программным обеспечением несут потенциальные риски. Перед началом работ обязательно создадим резервные копии всех баз данных и настроек сервера 1С.
Выполним резервное копирование в несколько шагов:
.dt через конфигуратор. Также крайне рекомендуется выполнить резервное копирование баз на уровне СУБД PostgreSQL. Для этого выполним команду в терминале Ubuntu:
pg_dump -U postgres -F c -b -v -f /backup/db_name_$(date +%F).backup db_name
usr1cv8). Скопируем эту директорию в безопасное место. По умолчанию она находится по пути: /home/usr1cv8/.1cv8/1C/1cv8/. Выполним резервное копирование с помощью команды:
sudo tar -cvzf /backup/1c_cluster_metadata_$(date +%F).tar.gz /home/usr1cv8/.1cv8/
После создания бэкапов мы можем переходить непосредственно к процедуре обновления. Рассмотрим два основных сценария в зависимости от используемой версии платформы.
Этот способ применим, если вы обновляетесь на версии платформы ниже 8.3.20 (например, переходите с 8.2 на 8.3.9 или обновляете ранние релизы 8.3), где дистрибутив поставлялся в виде набора отдельных файлов архивов с расширением .deb.
Для начала остановим службу текущего сервера 1С. В зависимости от версии и способа установки это делается одной из следующих команд:
sudo service srv1cv82 stop
# или для версии 8.3:
sudo systemctl stop srv1cv83
Проверим текущий список установленных пакетов 1С в системе, чтобы понимать масштаб изменений:
dpkg -l | grep 1c-enterprise
Система выведет список установленных компонентов, например 1c-enterprise83-server, 1c-enterprise83-common, 1c-enterprise83-ws и другие. При переходе с одной версии на другую (особенно при смене мажорных версий, например с 8.2 на 8.3) рекомендуется полностью удалить старые пакеты, чтобы избежать конфликтов путей и служб.
Выполним полное удаление старых пакетов:
sudo dpkg -r 1c-enterprise82-ws-nls 1c-enterprise82-ws 1c-enterprise82-server-nls 1c-enterprise82-server 1c-enterprise82-common-nls 1c-enterprise82-common
После удаления пакетов могут остаться файлы конфигурации. Очистим их с помощью команды dpkg -P (purge):
sudo dpkg -P 1c-enterprise82-ws 1c-enterprise82-server
Теперь подготовим новые установочные файлы. Скачаем дистрибутивы "Cервер 1С:Предприятия для DEB-based Linux-систем" нужной разрядности и версии с официального портала технологической поддержки 1С. Распакуем скачанный архив в созданную директорию, например, /home/user/1c_distr/.
Перейдем в каталог с распакованными файлами .deb:
cd /home/user/1c_distr/
Обратите внимание на файлы локализации с суффиксом -nls (National Resource Files). Если на вашем сервере используется стандартная русская локаль и вам не требуется поддержка мультиязычных интерфейсов для других стран, ставить пакеты -nls нет необходимости. В современных дистрибутивах Linux они могут работать некорректно.
Запустим установку всех пакетов в каталоге одной командой:
sudo dpkg -i *.deb
В процессе установки пакетный менеджер может сообщить о неудовлетворенных зависимостях (отсутствии необходимых системных библиотек). Разрешим эту проблему, автоматически доустановив все недостающие системные пакеты из репозиториев Ubuntu:
sudo apt-get install -f -y
Для корректной работы сервера 1С также вручную установим ключевые зависимости, отвечающие за работу с графикой, шрифтами и базами данных:
sudo apt-get install -y imagemagick unixodbc libgsf-bin t1utils ttf-mscorefonts-installer
После установки шрифтов Microsoft обновим системный кэш шрифтов:
sudo fc-cache -fv
Запустим службу нового сервера 1С:
sudo systemctl start srv1cv83
sudo systemctl enable srv1cv83
Начиная с версии платформы 8.3.20, фирма "1С" кардинально изменила систему распространения дистрибутивов для ОС Linux. Теперь вместо россыпи отдельных файлов .deb поставляется единый самораспаковывающийся архив, содержащий инсталлятор с расширением .run (например, setup-full-8.3.25.1560-x86_64.run).
Этот подход предлагает ключевое преимущество — возможность параллельной установки нескольких версий платформы. Больше не требуется удалять предыдущую версию перед обновлением. Файлы разных версий будут находиться в изолированных каталогах внутри директории /opt/1cv8/x86_64/версия_платформы/.
Рассмотрим процесс обновления по шагам:
.run права на исполнение:
chmod +x setup-full-8.3.25.1560-x86_64.run
sudo ./setup-full-8.3.25.1560-x86_64.run --mode unattended --enable-components server,ws
После успешной установки файлы новой версии появятся на сервере параллельно со старыми. Теперь нам нужно переключить запуск службы на новую версию.
В современных версиях платформы запуск и управление процессами осуществляются через шаблоны служб systemd. Сначала остановим службу старой версии платформы:
sudo systemctl stop srv1cv8-8.3.18.1300@default.service
sudo systemctl disable srv1cv8-8.3.18.1300@default.service
Зарегистрируем в системе юнит-файл новой версии службы 1С. Для этого создадим символическую ссылку на шаблон службы из каталога новой установленной платформы:
sudo systemctl link /opt/1cv8/x86_64/8.3.25.1560/srv1cv8-8.3.25.1560@.service
Запустим службу нового сервера 1С (экземпляр по умолчанию — default) и добавим её в автозагрузку операционной системы:
sudo systemctl start srv1cv8-8.3.25.1560@default.service
sudo systemctl enable srv1cv8-8.3.25.1560@default.service
Проверим статус запущенной службы, чтобы убедиться, что сервер работает корректно и без ошибок:
sudo systemctl status srv1cv8-8.3.25.1560@default.service
Если для управления сервером вы используете консоль администрирования 1С с удаленного компьютера, вам потребуется обновить службу сервера администрирования RAS. В современных версиях она также регистрируется как отдельный юнит systemd.
Остановим и отключим старую службу RAS:
sudo systemctl stop ras-8.3.18.1300.service
sudo systemctl disable ras-8.3.18.1300.service
Зарегистрируем и запустим службу RAS для новой версии платформы:
sudo systemctl link /opt/1cv8/x86_64/8.3.25.1560/ras-8.3.25.1560.service
sudo systemctl start ras-8.3.25.1560.service
sudo systemctl enable ras-8.3.25.1560.service
Главное преимущество параллельной установки по методу 2 заключается в простоте отката в случае непредвиденных сбоев при запуске баз данных на новой платформе. Если возникли проблемы, вы можете вернуться на стабильную старую версию всего за несколько минут. Для этого достаточно остановить службу новой версии и запустить старую:
sudo systemctl stop srv1cv8-8.3.25.1560@default.service
sudo systemctl start srv1cv8-8.3.18.1300@default.service
Если же новая версия платформы работает стабильно и переход выполнен успешно, старую версию платформы можно безопасно удалить для экономии свободного места на сервере. Для этого перейдем в каталог старой версии и запустим встроенную утилиту деинсталляции:
cd /opt/1cv8/x86_64/8.3.18.1300/
sudo ./uninstaller-full
Таким образом, мы детально разобрали процесс обновления платформы 1С:Предприятие на сервере под управлением Ubuntu. Регулярное обновление платформы позволит вам беспрепятственно устанавливать новые релизы конфигураций, использовать современный функционал платформы и сохранять стабильность работы корпоративной системы.