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

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

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

Как полностью удалить сервер 1С:Предприятие с Linux: остановка служб, удаление пакетов DEB и RPM, очистка каталогов, пользователя srv1cv8 и баз данных.

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

Порядок действий зависит от дистрибутива: в Debian и Ubuntu сервер 1С ставится через DEB-пакеты, в CentOS, RHEL и производных — через RPM. Логика везде одинаковая: сначала останавливаются службы и переносятся нужные данные, затем удаляются пакеты, после чего вручную вычищаются остатки — каталоги, пользователь и записи в автозагрузке.

Перед любыми действиями убедитесь, что у вас есть актуальные выгрузки информационных баз (файлы .dt) или полноценные бэкапы на уровне СУБД. Удаление сервера 1С само по себе не трогает базы в PostgreSQL или MS SQL, но дальнейшие действия по «полной очистке» часто приводят к их удалению — и это самая частая причина потери данных при таких работах.

Что сделать до удаления: резервные копии и инвентаризация

До остановки служб определите, какие базы обслуживает кластер и где они физически хранятся. Список баз можно посмотреть в консоли кластера или в файле реестра кластера 1CV8Clst.lst (обычно в каталоге srvinfo). Зафиксируйте имена баз, тип СУБД, сервер баз данных и версию платформы — это понадобится, если сервер придётся разворачивать заново.

Сделайте выгрузку каждой информационной базы через конфигуратор (Администрирование → Выгрузить информационную базу) или пакетным режимом с параметром /DumpIB. Дополнительно создайте бэкап на уровне СУБД: для PostgreSQL — pg_dump, для MS SQL — штатное резервное копирование. Два независимых типа копий страхуют от ситуаций, когда выгрузка .dt не восстанавливается из-за несовместимости версий.

Как корректно остановить службы сервера 1С

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

Затем остановите службу агента сервера. Имя службы зависит от версии платформы и способа установки — обычно это srv1cv8-8.3.xx или похожее имя. Проверьте точное имя через systemctl list-units с фильтром по «srv» или «1c».

bash
systemctl list-units --type=service | grep -i 1c
sudo systemctl stop srv1cv8-8.3.22-x86_64
sudo systemctl disable srv1cv8-8.3.22-x86_64

После остановки убедитесь, что процессы ragent, rmngr и rphost завершились: выполните ps aux | grep 1cv8. Если процессы остались, завершите их вручную через kill по PID. Зависший rphost с открытыми файлами данных может помешать удалению каталогов на следующем шаге.

Удаление пакетов платформы в Debian и Ubuntu

В DEB-based системах сервер 1С ставится набором пакетов: server, ws, crs и другие. Посмотрите установленные пакеты командой dpkg -l | grep 1c — она покажет точные имена с версией платформы.

bash
dpkg -l | grep 1c
sudo apt remove --purge 1c-enterprise-8.3.22-server 1c-enterprise-8.3.22-ws 1c-enterprise-8.3.22-crs 1c-enterprise-8.3.22-common
sudo apt autoremove

Ключ --purge удаляет вместе с пакетами их конфигурационные файлы из /etc. Если планируете ставить другую версию платформы на этот же сервер, можно обойтись без --purge, но при полном отказе от 1С чистите систему целиком. Команда autoremove уберёт зависимости, которые ставились только ради сервера 1С.

Удаление пакетов в CentOS, RHEL и производных

В RPM-based системах логика та же, меняется пакетный менеджер. Список установленных пакетов: rpm -qa | grep 1c. Удаление выполняется через dnf или yum.

bash
rpm -qa | grep 1c
sudo dnf remove 1C_Enterprise83-server-8.3.22* 1C_Enterprise83-common-8.3.22*

Имена пакетов в RPM-сборках могут отличаться регистром и разделителями от DEB-вариантов, поэтому всегда сверяйтесь с выводом rpm -qa, а не копируйте команды вслепую. Если пакетный менеджер сообщает о зависимостях, удаляйте пакеты в указанном им порядке или одной командой со всеми именами.

Очистка остатков: каталоги, пользователь и автозагрузка

Пакетные менеджеры не трогают рабочие данные. После удаления пакетов вручную проверьте и удалите каталог /opt/1cv8 (или /opt/1C/v8.3 — зависит от сборки), каталог данных кластера (часто /home/usr1cv8/.1cv8 или /var/lib/1cv8) и каталог srvinfo, если он лежал в нестандартном месте. Перед удалением srvinfo ещё раз убедитесь, что реестр кластера больше не нужен — из него можно восстановить список баз и настройки.

bash
sudo rm -rf /opt/1cv8
sudo rm -rf /var/lib/1cv8
sudo rm -rf /home/usr1cv8/.1cv8
sudo userdel srv1cv8
sudo groupdel 1cv8

Пользователь srv1cv8 (или usr1cv8, в зависимости от сборки) и его группа создаются при установке и не удаляются автоматически. Удаляйте их только после зачистки каталогов, иначе останутся файлы с «осиротевшим» владельцем. Также проверьте crontab этого пользователя и скрипты в /etc/init.d и /etc/systemd/system — после удаления пакетов там не должно остаться ссылок на srv1cv8.

Что делать с базами данных в СУБД

Удаление сервера приложений не затрагивает базы в PostgreSQL, MS SQL или другой СУБД — они остаются на сервере баз данных. Если СУБД стоит на той же машине и больше не нужна, решение о её удалении принимайте отдельно: сначала удалите ненужные базы через psql (DROP DATABASE) или средства MS SQL, потом саму СУБД пакетным менеджером, потом каталог данных (для PostgreSQL — /var/lib/pgsql или /var/lib/postgresql).

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

Маршрут решения

Как выбрать действие

Сервер 1С переезжает на новую машинуНе удаляйте базы в СУБД, перенесите только каталог srvinfo или пересоздайте кластер на новом сервере с теми же базами
От 1С отказываетесь полностьюСделайте выгрузки .dt, удалите пакеты, каталоги, пользователя, базы в СУБД и саму СУБД, если она больше не нужна
Ставите новую версию платформы вместо старойДостаточно удалить пакеты старой версии; srvinfo, пользователя и базы оставьте на месте

Проверка результата и типичные ошибки

После всех действий выполните контрольную проверку: systemctl list-units | grep -i 1c не должен ничего находить, ps aux | grep 1cv8 — тоже; каталоги /opt/1cv8 и каталог данных кластера должны отсутствовать; команда id srv1cv8 должна вернуть ошибку «нет такого пользователя». Проверьте также свободное место на диске до и после — удаление крупных каталогов данных и баз должно дать заметный прирост.

Типичные ошибки
01
Удаление пакетов без предварительных выгрузок .dt — базы остались в СУБД, но при зачистке СУБД их удалили вместе с ней, и данные потеряны
02
Удаление каталогов при работающем rphost — файлы заняты процессом, часть данных остаётся, а служба падает с ошибками
03
Удаление пользователя srv1cv8 до зачистки файлов — остаются каталоги с числовым UID владельца, которые мешают при повторной установке
04
Забытые публикации в Apache — веб-сервер отдаёт ошибки 500 на старые адреса баз
05
Удаление единственного экземпляра PostgreSQL вместе с базами других приложений на том же сервере
Контрольные точки

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

Службы и процессы
Норма

systemctl и ps не показывают юнитов и процессов 1С

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

Остался активный процесс ragent или rphost

Каталоги
Норма

/opt/1cv8 и каталог данных кластера отсутствуют

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

Остались каталоги с файлами, владелец — числовой UID

Пользователь
Норма

id srv1cv8 возвращает ошибку

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

Пользователь существует, есть записи в его crontab

СУБД
Норма

Базы 1С удалены, остальные базы на месте и доступны

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

Удалены лишние базы или сама СУБД, нужная другим приложениям

Частые вопросы

Удалит ли apt remove или dnf remove мои базы данных?

Нет. Пакетные менеджеры удаляют только файлы самой платформы: исполняемые файлы, библиотеки, конфигурации пакета. Базы в PostgreSQL или MS SQL, каталог srvinfo и пользователь srv1cv8 остаются — их нужно удалять вручную и только после создания резервных копий.

Можно ли удалить только старую версию платформы, оставив новую?

Да, версии платформы ставятся в отдельные каталоги и имеют раздельные пакеты и службы. Удалите пакеты конкретной версии и её службу, не трогая srvinfo, пользователя srv1cv8 и базы — кластер новой версии продолжит работать с теми же данными.

Что делать, если служба не останавливается через systemctl?

Найдите процессы через ps aux | grep 1cv8 и завершите их командой kill с конкретным PID, начав с rphost, затем rmngr и ragent. Если процесс не реагирует, используйте kill -9 как крайнюю меру — но сначала убедитесь, что сеансы пользователей завершены, иначе возможна потеря незаписанных данных.

Нужно ли удалять HASP-драйвер лицензий вместе с сервером?

Если на этой машине больше не будет ни сервера 1С, ни других продуктов с аппаратными ключами — да, пакеты haspd можно удалить тем же пакетным менеджером. Если ключ используется другим сервером 1С в сети через раздачу лицензий, драйвер оставьте.

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

Если базы в СУБД не пострадали, достаточно установить пакеты платформы той же версии, создать кластер и зарегистрировать в нём существующие базы с теми же параметрами подключения. Если удалён и srvinfo, список баз придётся вносить вручную — поэтому перед удалением стоит сохранить копию этого каталога.

Чем удаление сервера 1С отличается от удаления клиентской части на Linux?

Клиентская часть — это только пакеты платформы без служб, кластера и пользователя srv1cv8: достаточно удалить пакеты и каталог /opt/1cv8. Серверная часть требует дополнительно остановки служб, зачистки данных кластера, служебного пользователя и решения вопроса с базами в СУБД.

Итог

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

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