Полное удаление платформы 1С с Linux-сервера и рабочей станции
Содержание
Чтобы удалить 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-подобных).
Что сделать до удаления каталога кластера
- Сохраните
1cv8wsrv.lstи каталогreg_1541, если планируете поднять тот же кластер на новой версии. Тогда базы появятся в консоли без повторной регистрации. - Решите судьбу баз в СУБД. При удалении информационной базы из кластера консоль спрашивает, что делать с базой СУБД: оставить её, очистить или удалить. Если просто снести каталог кластера, базы PostgreSQL останутся нетронутыми.
- Если базы СУБД больше не нужны, удалите их средствами самой СУБД после выгрузки в .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 — в выводе виден процесс-владелец.
Ошибки при удалении 1С в Linux и что с ними делать
common, а на нём держатся server или client. Удаляйте все пакеты версии одной командой с маской '1c-enterprise-8.3.24.1342*'.wsap24.so. Уберите строку LoadModule _1cws_module и блоки публикаций из конфигурации, выполните apachectl configtest.ragent остался в памяти. Завершите его через kill по PID из ps или перезагрузите сервер в нерабочее время.systemctl daemon-reload и удалите битую ссылку из /etc/systemd/system/.reg_1541. Восстановите его и 1cv8wsrv.lst из копии при остановленной службе или зарегистрируйте базы заново./var/1C/licenses/ или изменилось оборудование. Получите лицензию повторно по пин-коду.Ещё один случай — пакетный менеджер находит пакеты, но падает с ошибкой в скрипте удаления (pre-removal script returned error). Обычно скрипт пытается остановить службу, которой уже нет. Остановите процессы вручную и повторите команду; если не помогает, проверьте вывод dpkg -l — пакет в состоянии iF или iU можно переустановить поверх и затем удалить.
Можно удалить одну версию платформы и оставить другую?
uninstaller-full конкретной версии, а службу сервера перед этим переключите на ту версию, которая остаётся.Удалятся ли информационные базы вместе с платформой?
Нужно ли удалять 1С перед обновлением на новую версию?
Как удалить только тонкий клиент на рабочей станции?
apt purge или dnf remove, затем очистите ~/.1cv8 и ~/.1C/1cestart у пользователя.