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

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

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

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

Удаление 1С в Linux — задача, которая встречается при переезде на новый сервер, отказе от платформы или переустановке «с нуля» после сбоя. Главная сложность в том, что 1С состоит из нескольких компонентов: пакетов платформы (deb или rpm), службы агента сервера, каталогов с данными, настроек кластера и информационных баз. Удаление только пакета через менеджер пакетов оставляет в системе десятки файлов и работающие службы.

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

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

Что именно нужно удалить: состав установки 1С

Платформа 1С в Linux ставится из набора пакетов, и их список зависит от выбранных компонентов. Типичная серверная установка включает пакеты server, ws (веб-сервисы), crs (хранилище конфигураций) и дополнительные языковые модули. Клиентская установка обычно ограничивается пакетами common и client.

Помимо пакетов в системе появляются: служба агента сервера 1С (srv1cv8), каталог установки /opt/1cv8, рабочие каталоги кластера в /var или в домашнем каталоге пользователя, под которым запущен агент, а также пользовательские настройки в ~/.1cv8. Если использовалась СУБД PostgreSQL из поставки 1С или патченная сборка, она тоже требует отдельного решения.

Прежде чем удалять, определите состав установки командой:

bash
dpkg -l | grep 1c    # для Debian/Ubuntu
rpm -qa | grep 1c    # для CentOS/RHEL/ALT

Команда покажет все установленные пакеты платформы с версиями. Сохраните вывод — он пригодится, чтобы убедиться, что после удаления не осталось ни одного пакета.

Шаг 1. Остановка служб и завершение процессов

Если на машине работает сервер 1С, первым делом остановите службу агента. Удаление пакетов при работающей службе может завершиться ошибкой или оставить «висящие» процессы ragent, rmngr и rphost, которые держат файлы и порты.

bash
sudo systemctl stop srv1cv8
sudo systemctl disable srv1cv8

Проверьте, что процессы действительно завершены:

bash
ps aux | grep -E 'ragent|rmngr|rphost'

Если процессы остались (например, агент запускался вручную, а не через systemd), завершите их командой kill с указанием PID. Для клиентской установки достаточно закрыть все окна 1С:Предприятия и конфигуратора.

Шаг 2. Удаление пакетов платформы

В Debian, Ubuntu и производных пакеты удаляются через apt. Чтобы удалить сами пакеты вместе с системными конфигурациями, используйте ключ purge:

bash
sudo apt purge '1c-enterprise*'
sudo apt autoremove

Шаблон с звёздочкой захватит все пакеты, начинающиеся с 1c-enterprise: common, server, client, ws и языковые модули. Команда autoremove уберёт зависимости, которые больше не нужны другим программам.

В дистрибутивах на базе RPM (CentOS, RHEL, ALT Linux, Rosa) используйте dnf или yum:

bash
sudo dnf remove 1c-enterprise*

После удаления повторите проверку списка пакетов из первого раздела. Вывод должен быть пустым — это признак того, что пакетная часть удалена полностью.

Шаг 3. Очистка остаточных файлов и каталогов

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

  • /opt/1cv8 — каталог установки платформы; иногда остаётся после purge, если внутрь записывались нестандартные файлы;
  • /var/lib/1c или каталог, указанный при запуске агента, — реестр кластера, списки баз, журналы, сеансовые данные;
  • /root/.1cv8 и ~/.1cv8 у каждого пользователя — кэши, настройки подключений, списки баз;
  • /etc/sysconfig или юниты systemd — файлы настройки службы srv1cv8.

Удаляйте каталоги осознанно, предварительно проверив содержимое:

bash
sudo rm -rf /opt/1cv8
sudo rm -rf /var/lib/1c
rm -rf ~/.1cv8

В рабочем каталоге кластера могут лежать файловые базы, если их разместили туда по ошибке. Команда rm -rf не спрашивает подтверждения — дважды проверьте путь перед нажатием Enter, особенно при работе под root.

Типичные ошибки
01
Удаление пакетов без остановки службы — остаются процессы и занятые порты 1540–1560
02
Очистка /opt/1cv8 до проверки, нет ли там файловых баз — данные теряются безвозвратно
03
Удаление каталогов кластера до выгрузки dt — теряется реестр и сами базы
04
Забытый каталог ~/.1cv8 у пользователей — при переустановке подтягиваются старые настройки и кэш

Шаг 4. Что делать с информационными базами

Удаление платформы не удаляет базы — они живут отдельно. Дальнейшие действия зависят от типа базы.

Файловые базы

Файловая база — это каталог с файлом 1Cv8.1CD. Найдите все такие каталоги до удаления платформы: список подключённых баз виден в стартовом окне 1С или в файлах ibases.v8i внутри ~/.1cv8. Если база больше не нужна — удалите каталог целиком. Если нужна — перенесите в архив или на новый сервер вместе с выгрузкой dt.

Клиент-серверные базы в СУБД

Базы в PostgreSQL или MS SQL удаляются средствами самой СУБД. Для PostgreSQL:

bash
sudo -u postgres psql -c "DROP DATABASE имя_базы;"

Удалять базу напрямую в СУБД нужно только после того, как она удалена из списка кластера 1С (или сам кластер уже снесён) — иначе при следующем запуске агент будет ссылаться на несуществующую базу. Если PostgreSQL ставился только под 1С и больше не нужен, его пакеты тоже можно удалить, предварительно убедившись, что других баз в нём нет.

Шаг 5. Проверка полноты удаления

После всех шагов убедитесь, что в системе не осталось следов 1С. Проверьте четыре вещи: отсутствие пакетов, отсутствие процессов, свободные порты и отсутствие каталогов.

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

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

Список пакетов (dpkg -l | grep 1c или rpm -qa | grep 1c)
Норма

Пустой вывод

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

Остались пакеты — удалите их повторно

Процессы ragent, rmngr, rphost
Норма

Процессов нет

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

Процессы живы — завершите через kill

Порты 1540, 1541, 1560 (ss -tlnp)
Норма

Порты не прослушиваются

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

Порт занят — найдите процесс через ss -tlnp

Каталоги /opt/1cv8, /var/lib/1c, ~/.1cv8
Норма

Каталоги отсутствуют

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

Остались файлы — проверьте содержимое и удалите

Если планируется чистая переустановка, этой проверки достаточно. Если 1С уходит с машины навсегда, дополнительно удалите выделенного системного пользователя (например, usr1cv8), под которым работал агент, и его домашний каталог.

Особые сценарии и ограничения

Если 1С публиковалась на веб-сервере Apache через модуль wsap, после удаления платформы в конфигурации Apache останутся директивы LoadModule и публикации, которые будут вызывать ошибки при запуске веб-сервера. Удалите или закомментируйте строки, добавленные утилитой webinst, в конфигурационных файлах Apache и перезапустите его.

Если агент сервера запускался не как служба, а вручную скриптом из rc.local или cron, удалите соответствующие строки автозапуска, иначе после перезагрузки система будет пытаться стартовать несуществующий бинарник и засорять журнал ошибками.

На машине, где 1С работала вместе с другими сервисами, удаляйте только компоненты 1С. Не трогайте общие зависимости (библиотеки, шрифты, СУБД), если они могут использоваться другим ПО — autoremove в таких случаях запускайте с просмотром списка удаляемого.

Итог

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

Полное удаление 1С в Linux — это четыре шага: остановка службы и процессов, удаление пакетов с purge, ручная очистка каталогов /opt/1cv8, /var/lib/1c и ~/.1cv8, отдельное удаление баз данных. Перед началом обязательно сделайте выгрузку dt нужных баз, а после — проверьте отсутствие пакетов, процессов и занятых портов.

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

Можно ли удалить 1С просто стерев каталог /opt/1cv8?

Нет. Пакеты останутся зарегистрированными в менеджере пакетов, служба srv1cv8 продолжит числиться в systemd и будет падать с ошибками, а рабочие каталоги кластера и пользовательские настройки останутся на диске. Правильный порядок — сначала удаление пакетов штатными средствами, затем ручная очистка остатков.

Удалятся ли базы данных вместе с платформой?

Нет. Ни файловые базы, ни базы в PostgreSQL или MS SQL при удалении пакетов платформы не затрагиваются. Их нужно удалять отдельно и осознанно — либо сохранять в виде выгрузки dt, если данные ещё понадобятся.

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

Укажите полное имя пакета с версией, например: apt purge 1c-enterprise83-server-8.3.22-1750. Точные имена установленных версий покажет команда dpkg -l | grep 1c или rpm -qa | grep 1c. Остальные версии при этом не пострадают.

Что делать, если служба srv1cv8 не останавливается?

Проверьте статус через systemctl status srv1cv8 и журнал journalctl -u srv1cv8. Если служба зависла, завершите процессы принудительно: найдите PID командой ps aux | grep ragent и выполните kill -9 для процессов ragent, rmngr и rphost, после чего повторите остановку службы.

Нужно ли удалять PostgreSQL после удаления сервера 1С?

Только если СУБД ставилась исключительно под 1С и других баз в ней нет. Проверьте список баз командой psql -l. Если PostgreSQL используется другими приложениями, удалите из него только базы 1С через DROP DATABASE, а саму СУБД оставьте.

Как перенести базу на новый сервер перед удалением старого?

На старом сервере выгрузите базу в файл dt через конфигуратор (Администрирование → Выгрузить информационную базу). На новом сервере установите платформу той же или более новой версии, создайте пустую базу и загрузите dt. Только после успешной загрузки и проверки данных можно удалять старую установку.