Администрирование · 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».
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 — она покажет точные имена с версией платформы.
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.
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 ещё раз убедитесь, что реестр кластера больше не нужен — из него можно восстановить список баз и настройки.
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С: при миграциях базы часто переподключают, и старый сервер перестаёт быть единственным потребителем.
Как выбрать действие
Проверка результата и типичные ошибки
После всех действий выполните контрольную проверку: systemctl list-units | grep -i 1c не должен ничего находить, ps aux | grep 1cv8 — тоже; каталоги /opt/1cv8 и каталог данных кластера должны отсутствовать; команда id srv1cv8 должна вернуть ошибку «нет такого пользователя». Проверьте также свободное место на диске до и после — удаление крупных каталогов данных и баз должно дать заметный прирост.
Как проверить результат
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 строится по порядку: выгрузки баз → остановка служб → удаление пакетов → ручная зачистка каталогов и пользователя → отдельное решение по базам в СУБД. Пакетный менеджер не удаляет данные, поэтому финальная проверка процессов, каталогов и пользователя обязательна.