Полное удаление платформы 1С с Linux-сервера и рабочей станции

· 9 мин

Содержание

Чтобы удалить 1С в Linux, остановите службу сервера 1С, затем удалите платформу тем же способом, каким ставили: деинсталлятором uninstaller-full из каталога версии в /opt/1cv8/x86_64/, либо пакетным менеджером — apt purge для DEB, dnf remove для RPM. После этого вручную уберите каталоги кластера, пользовательский кэш и подключение модуля 1С из Apache.

Частое заблуждение — что удаление платформы стирает и базы. Нет. Файловые базы (1Cv8.1CD) и базы на PostgreSQL остаются на месте, их удаляют отдельно и только осознанно. Обратная ловушка: пакеты удалены, а в системе живут служба, пользователь usr1cv8 и строка LoadModule в Apache, из-за которой веб-сервер потом не стартует.

Подготовка Linux к удалению 1С: что проверить заранее

Сначала выясните, что именно стоит в системе. На одной машине нередко уживаются две-три версии платформы, и удалять нужно не всё подряд.

📌 Что выяснить до первой команды:

  • 🔢 какие версии установлены и каким способом (пакеты или единый установщик);
  • 🖥️ запущен ли сервер 1С и сколько в нём сеансов;
  • 🌐 опубликованы ли базы на веб-сервере;
  • 🗄️ где лежат базы — файлы или СУБД;
  • 🔑 какие лицензии привязаны к этому компьютеру.

Список установленных версий:

ls /opt/1cv8/x86_64/ 2>/dev/null      # платформа 8.3.20 и новее
ls /opt/1C/v8.3/x86_64/ 2>/dev/null   # старые сборки до 8.3.20
dpkg -l | grep -i 1c-enterprise        # Debian, Ubuntu, Astra
rpm -qa | grep -i 1c-enterprise        # RHEL-подобные, РЕД ОС, ALT

Работающие процессы сервера:

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

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

Программные лицензии хранятся в /var/1C/licenses/. Если платформу переносят на другой сервер, файлы лицензий нужно не копировать, а получить заново на новом компьютере: лицензия привязана к параметрам оборудования. Перед удалением просто сохраните пин-коды комплектов.

Остановка сервера 1С и отключение службы

Пока работает ragent, пакетный менеджер может удалить файлы, но процессы останутся висеть в памяти до перезагрузки.

Остановка службы обрывает сеансы всех пользователей сервера. Делайте это вне рабочего времени и предупредите людей заранее.

Платформа 8.3.21 и новее (systemd)

С 8.3.21 служба поставляется как шаблон systemd с номером версии в имени. Найдите свою:

systemctl list-units --all | grep -i 1cv8

Остановите и отключите найденный юнит, подставив свою версию:

sudo systemctl stop srv1cv8-8.3.24.1342@default
sudo systemctl disable srv1cv8-8.3.24.1342@default

Если вы подключали службу через systemctl link, после удаления платформы останется битая ссылка. Её уберёт systemctl daemon-reload, а если нет — удалите ссылку из /etc/systemd/system/ вручную.

Старые сборки (init.d)

В версиях до 8.3.21 сервер запускался скриптом /etc/init.d/srv1cv83:

sudo /etc/init.d/srv1cv83 stop
sudo update-rc.d -f srv1cv83 remove   # Debian/Ubuntu
sudo chkconfig --del srv1cv83         # RHEL-подобные

Туда же относится сервер администрирования ras, если вы запускали его отдельной службой. Остановите и его, иначе порт 1545 останется занят.

Удаление платформы 1С в Linux через установщик и пакетный менеджер

Способ зависит от того, как ставили платформу. Таблица поможет определить свой случай.

Как ставилиГде файлыКак удалять
Единый установщик setup-full-…run (8.3.20+)/opt/1cv8/x86_64/<версия>/uninstaller-full из того же каталога
DEB-пакеты/opt/1cv8/… или /opt/1C/v8.3/…apt purge
RPM-пакетыте же каталогиdnf remove / yum remove

Деинсталлятор единого установщика

У каждой версии, поставленной через .run, в каталоге лежит собственный деинсталлятор:

sudo /opt/1cv8/x86_64/8.3.24.1342/uninstaller-full

Он открывает графический мастер. На сервере без рабочего стола запустите его в текстовом режиме: точные ключи покажет uninstaller-full --help. Деинсталлятор убирает только ту версию, из каталога которой запущен. Остальные версии остаются.

Удаление DEB-пакетов (Debian, Ubuntu, Astra Linux)

Пакеты 1С зависят друг от друга: common — база, на ней держатся server, client, ws, crs и языковые -nls. Удобнее удалить все пакеты версии одной командой:

sudo apt purge '1c-enterprise-8.3.24.1342*'

Для старой схемы именования пакетов:

sudo apt purge '1c-enterprise83*'

Ключ purge в отличие от remove удаляет и конфигурационные файлы пакета. Потом уберите осиротевшие зависимости:

sudo apt autoremove

Перед autoremove прочитайте список пакетов, который предлагает система. Если на машине стоит PostgreSQL для 1С, убедитесь, что он не попал в список случайно.

Удаление RPM-пакетов (РЕД ОС, AlmaLinux, ALT, CentOS)

rpm -qa | grep -i 1c-enterprise
sudo dnf remove '1c-enterprise-8.3.24.1342*'

В старых системах вместо dnf используйте yum. Команда rpm -e тоже работает, но зависимости между пакетами 1С тогда придётся перечислять вручную и в правильном порядке, что неудобно.

Ручная очистка остаточных файлов 1С после удаления пакетов

Пакетный менеджер удаляет то, что сам ставил. Всё, что создала работающая платформа, остаётся на диске.

📂 Где остаются следы:

КаталогЧто внутриУдалять?
/opt/1cv8/x86_64/<версия>/остатки версиида, если каталог пуст или версия удалена
/opt/1cv8/conf/conf.cfg, logcfg.xml (технологический журнал)да, при полном удалении
/home/usr1cv8/.1cv8/данные кластера: реестр, журналы, сеансовые данныепосле сохранения нужного
~/.1cv8/ у каждого пользователякэш метаданных клиентада
~/.1C/1cestart/список баз ibases.v8i, настройки запускапо желанию
/var/1C/licenses/программные лицензиитолько если лицензии не нужны
/usr/share/applications/ярлыки 1С в менюда, если остались

Удаление пользовательского кэша и списка баз для текущего пользователя:

rm -rf ~/.1cv8
rm -rf ~/.1C/1cestart

Если на рабочей станции работали несколько человек, пройдите по всем домашним каталогам или используйте find /home -maxdepth 2 -name .1cv8.

Не удаляйте /var/1C/licenses/, если собираетесь переустановить платформу на этом же компьютере. Лицензию придётся активировать заново, а запас повторных активаций у пин-кода ограничен.

Если 1С больше не нужна на сервере вообще, удалите служебного пользователя и группу:

sudo userdel -r usr1cv8
sudo groupdel grp1cv8

Ключ -r сносит домашний каталог /home/usr1cv8 целиком, вместе с данными кластера. Поэтому эта команда — последняя, после всех проверок.

Очистка кластера серверов 1С и связанных баз

Данные кластера — список информационных баз, параметры рабочих серверов, настройки — лежат в каталоге служебного пользователя. По умолчанию это /home/usr1cv8/.1cv8/1C/1cv8/. Внутри:

  • 📄 1cv8wsrv.lst — список кластеров агента;
  • 📁 reg_1541/ — реестр кластера на порту 1541: описание баз, журналы регистрации, сеансовые данные;
  • 📁 snccntx… и подобные — служебные данные сервера.

Если путь к данным кластера меняли при установке, смотрите параметр каталога в юните systemd или в /etc/default/srv1cv83 (/etc/sysconfig/srv1cv83 в RHEL-подобных).

Что сделать до удаления каталога кластера

  1. Сохраните 1cv8wsrv.lst и каталог reg_1541, если планируете поднять тот же кластер на новой версии. Тогда базы появятся в консоли без повторной регистрации.
  2. Решите судьбу баз в СУБД. При удалении информационной базы из кластера консоль спрашивает, что делать с базой СУБД: оставить её, очистить или удалить. Если просто снести каталог кластера, базы PostgreSQL останутся нетронутыми.
  3. Если базы СУБД больше не нужны, удалите их средствами самой СУБД после выгрузки в .dt.

Для PostgreSQL посмотреть список баз и удалить ненужную:

sudo -u postgres psql -l
sudo -u postgres dropdb имя_базы

dropdb необратим. Перед ним — выгрузка .dt через Конфигуратор или pg_dump.

Сама СУБД PostgreSQL — отдельный продукт. Если её ставили только для 1С и она больше не нужна, удаляйте её отдельно, по документации вашей сборки PostgreSQL.

Скрытые зависимости: Apache, HASP, хранилище и автозапуск

Это та часть удаления 1С в Linux, о которой вспоминают уже по ошибкам.

Модуль веб-сервера

При публикации баз в конфигурацию Apache добавляется строка вида:

LoadModule _1cws_module "/opt/1cv8/x86_64/8.3.24.1342/wsap24.so"

После удаления платформы файла wsap24.so нет, и Apache отказывается стартовать. Найдите все упоминания:

grep -rn "wsap24\|_1cws_module" /etc/apache2/ /etc/httpd/ 2>/dev/null

Удалите строки LoadModule и блоки <Directory>/Alias опубликованных баз, проверьте синтаксис и перезапустите веб-сервер:

sudo apachectl configtest
sudo systemctl restart apache2   # или httpd

Каталоги публикаций с файлами default.vrd обычно лежат в /var/www/. Их тоже можно удалить.

Драйвер ключей HASP

Аппаратные ключи защиты работают через драйвер aksusbd, который ставится отдельным пакетом. Платформа его не удаляет. Если ключей больше нет:

sudo systemctl stop aksusbd
sudo apt purge aksusbd    # или dnf remove aksusbd

Остальное

  • 🗃️ сервер хранилища конфигураций (crs) — отдельный пакет и отдельный каталог хранилища, сами хранилища удаляйте вручную;
  • ⏰ задания cron, которые запускали 1С для выгрузок и регламентов: crontab -l и sudo crontab -u usr1cv8 -l;
  • 🔥 правила файрвола для портов 1540, 1541, 1545 и диапазона рабочих процессов (по умолчанию 1560–1591);
  • 🧩 отдельно установленные компоненты: веб-клиентские расширения, утилиты обмена.

Как проверить, что 1С полностью удалена из системы

После всех шагов пройдитесь по короткому списку проверок. Каждая команда должна вернуть пустой результат.

dpkg -l | grep -i 1c-enterprise          # или rpm -qa | grep -i 1c-enterprise
ps aux | grep -E 'ragent|rmngr|rphost' | grep -v grep
ss -tlnp | grep -E ':154[015]'
systemctl list-units --all | grep -i 1cv8
ls /opt/1cv8 /opt/1C 2>/dev/null
grep -rn "wsap24" /etc/apache2/ /etc/httpd/ 2>/dev/null

Если какая-то команда что-то вывела, вернитесь к соответствующему разделу. Порт, который остался занят без процессов 1С, проверьте командой ss -tlnp — в выводе виден процесс-владелец.

Перед тем как закрыть задачу
Выполнено: 0 / 7

Ошибки при удалении 1С в Linux и что с ними делать

Диагностика: выберите симптом

Ещё один случай — пакетный менеджер находит пакеты, но падает с ошибкой в скрипте удаления (pre-removal script returned error). Обычно скрипт пытается остановить службу, которой уже нет. Остановите процессы вручную и повторите команду; если не помогает, проверьте вывод dpkg -l — пакет в состоянии iF или iU можно переустановить поверх и затем удалить.

Можно удалить одну версию платформы и оставить другую?
Да. Каждая версия живёт в своём каталоге и в своих пакетах. Удаляйте пакеты или запускайте uninstaller-full конкретной версии, а службу сервера перед этим переключите на ту версию, которая остаётся.
Удалятся ли информационные базы вместе с платформой?
Нет. Файловые базы и базы в PostgreSQL не входят в пакеты 1С и остаются на диске. Их удаляют только вручную.
Нужно ли удалять 1С перед обновлением на новую версию?
Нет. Новая версия ставится рядом со старой, служба переключается на неё. Старую версию удаляют потом, когда убедятся, что всё работает.
Как удалить только тонкий клиент на рабочей станции?
Удалите пакеты клиента нужной версии через apt purge или dnf remove, затем очистите ~/.1cv8 и ~/.1C/1cestart у пользователя.
Что делать с пользователем usr1cv8, если 1С будет переустановлена?
Оставьте его. В его домашнем каталоге хранятся данные кластера, и новая версия подхватит их без повторной настройки.