Удаление платформы 1С:Предприятие в Astra Linux без остатков

· 9 мин

Содержание

Обычная ошибка: человек удаляет значок или каталог /opt/1cv8, считает дело сделанным, а потом новая платформа не ставится. Пакеты остались в базе dpkg, служба сервера всё ещё прописана, а в домашней папке лежит старый кэш. Чтобы удалить 1С с Astra Linux полностью, нужно снять пакеты, остановить серверную часть и вычистить файлы пользователей.

Порядок такой: сначала резервные копии, затем удаление пакетов через apt или dpkg, потом остаточные файлы, и в конце проверка. Серверный компонент снимается отдельно, до клиентских пакетов. Все команды ниже выполняются от root или через sudo.

Что проверить до начала работ

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

Пройдите по списку:

  • 📁 Найдите все файловые базы. Путь виден в списке баз запущенного клиента, у файловой базы это каталог с файлом 1Cv8.1CD.
  • 💾 Скопируйте эти каталоги на другой диск или в сетевую папку.
  • 🗂 Сохраните список баз: файл ibases.v8i лежит в профиле пользователя, чаще всего в ~/.1C/1cv8/.
  • 🔑 Если используется аппаратный ключ или программная лицензия, выпишите, где лежит файл лицензии и какой пул она использует.
  • 🖥 Для серверной установки сделайте выгрузку баз в .dt и бэкап СУБД средствами PostgreSQL.

Серверные базы хранятся в СУБД, а не в каталоге платформы. Само по себе удаление пакетов их не сотрёт, но если вместе с платформой снести PostgreSQL, вы потеряете всё. Эти действия не связаны, не объединяйте их в одну команду.

Перед удалением 1С
Выполнено: 0 / 5

Как узнать, что именно установлено

Версию и состав пакетов покажет менеджер пакетов:

dpkg -l | grep -i 1c-enterprise

В списке будут пакеты вида 1c-enterprise83-common, 1c-enterprise83-server, 1c-enterprise83-client и языковые модули. Точные имена зависят от версии платформы и способа установки, поэтому копируйте их из своей выдачи, а не из чужой инструкции.

Если выдача пустая, платформу ставили не из deb-пакетов, а универсальным установщиком. Тогда пакетного учёта нет и вам в раздел про деинсталлятор.

Удаление пакетов через apt и dpkg

Это основной способ, если платформу ставили из deb. Он убирает бинарные файлы, записи о пакетах и ссылки.

Сначала закройте все окна 1С и проверьте, что процессы не висят:

pgrep -a 1cv8

Если процессы есть, завершите их: sudo pkill 1cv8. Затем удалите пакеты по маске:

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

Ключ --purge убирает ещё и конфигурационные файлы пакета, обычный remove их оставляет. Кавычки вокруг маски нужны, чтобы оболочка не подставила её сама.

Если apt ругается на зависимости или пакеты ставились вручную через dpkg -i, работает и такой вариант:

sudo dpkg --purge $(dpkg -l | awk '/1c-enterprise/{print $2}')

Одна команда снимет всё, что нашла в списке. Если нужно оставить, например, серверную часть, перечислите пакеты вручную.

СпособКогда подходитРиск
apt remove --purgeПлатформа из репозитория или .debМинимальный, apt сам считает зависимости
dpkg --purgeПакеты ставили вручную, apt не справляетсяНужно самому следить за порядком зависимостей
Деинсталлятор из каталога платформыСтавили универсальным установщикомНе чистит профили пользователей

Хотите убрать одну версию, а другую оставить? 1С допускает несколько версий платформы рядом. Тогда в маске пакетов укажите номер версии, иначе 1c-enterprise* заденет обе.

Если платформа ставилась установщиком, а не пакетами

Графический или консольный установщик кладёт файлы в /opt/1cv8/x86_64/<версия>/ и пакеты в dpkg не регистрирует. Здесь apt бессилен.

В каталоге версии лежит собственный деинсталлятор. Найдите его:

ls /opt/1cv8/x86_64/
sudo find /opt/1cv8 -maxdepth 3 -iname '*uninstall*'

Запустите найденный файл и следуйте подсказкам. Для безынтерфейсного режима у установщиков 1С есть ключи командной строки. Какие именно поддерживает ваша версия, смотрите в справке по запуску с ключом --help, не гадайте.

Если деинсталлятора нет или он сломан, каталог версии можно удалить вручную:

sudo rm -rf /opt/1cv8/x86_64/<версия>

Подставьте реальный номер, например каталог с четырьмя числами через точку. Не используйте rm -rf /opt/1cv8/* вслепую, если там лежат несколько версий и нужна хотя бы одна.

Как снести серверные компоненты

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

  1. Проверьте, запущена ли она. Имя службы обычно связано с srv1cv8, в зависимости от версии оно отличается, поэтому поищите:

    systemctl list-units --all | grep -i srv1cv8
    
  2. Остановите и отключите автозапуск найденной службы:

    sudo systemctl stop <имя_службы>
    sudo systemctl disable <имя_службы>
    
  3. Убедитесь, что не осталось процессов ragent, rmngr, rphost:

    pgrep -a 'ragent|rmngr|rphost'
    
  4. Удалите пакеты сервера так же, как клиентские, через apt remove --purge.

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

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

getent passwd | grep -i 1cv8

Увидели служебного пользователя в списке: sudo userdel <имя>, а каталог профиля уберите ключом -r или вручную.

Какой у вас сценарий?

Что остаётся в системе после пакетов

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

Профили пользователей

В домашнем каталоге каждого пользователя 1С создаёт служебные папки. Основные:

  • 📂 ~/.1C/1cv8/ содержит список баз и настройки окон;
  • 📂 ~/.1cv8/ относится к данным и кэшу клиента;
  • 📂 ~/.local/share/ может содержать ярлыки и данные, если их создавал установщик.

Перед удалением откройте каталог и убедитесь, что там нет ничего нужного. Если вы сохранили ibases.v8i раньше, можно удалять:

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

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

sudo find /home -maxdepth 3 -type d \( -name '.1cv8' -o -name '1cv8' \) 2>/dev/null

Он только покажет находки. Удалять решайте по каждому пути отдельно.

Файлы вне профилей

Проверьте общесистемные места:

Что искатьГде смотреть
Остатки платформы/opt/1cv8
Файлы лицензий и ключейкаталоги лицензий платформы, их путь указан в документации к вашей версии
Ярлыки в меню/usr/share/applications/, поиск по 1cv8
Записи автозапуска/etc/systemd/system/, /etc/init.d/
Временные файлы/tmp, поиск по 1c

Поиск ярлыков:

sudo find /usr/share/applications /etc/systemd /etc/init.d -iname '*1c*' -o -iname '*1cv8*'

Лицензионные файлы лучше не удалять сразу. Если лицензия привязана к машине, а вы планируете ставить платформу обратно, их потеря заставит заново получать PIN-код и активировать продукт.

Чистка зависимостей и мусора в apt

После удаления в системе остаются пакеты, которые подтянула платформа: библиотеки, шрифты, libwebkit, libgsf. Если они больше никому не нужны, apt умеет их убрать:

sudo apt autoremove --purge
sudo apt clean

Команда autoremove перечислит пакеты перед удалением и спросит подтверждение. Прочитайте список. Если среди кандидатов есть то, чем вы пользуетесь отдельно (например, шрифты или компоненты для других программ), откажитесь и отметьте их как ручную установку: sudo apt-mark manual <пакет>.

Остаточные конфиги пакетов, которые удалили без --purge, видны по статусу rc:

dpkg -l | grep '^rc' | grep -i 1c

Если что-то нашлось, добейте:

sudo dpkg --purge <имя_пакета>

Отдельно про Astra Linux. В режимах повышенной защищённости ограничения (замкнутая программная среда, контроль целостности) могут не дать менять каталоги или запускать скрипты. Если команды отказываются работать с ошибкой доступа, а вы уверены в правах, проверьте режим работы системы и политику. Не отключайте защиту ради удаления, лучше обратитесь к администратору безопасности.

Что делать, если удаление не проходит

Типовые случаи и выход из них:

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

Как убедиться, что платформы больше нет

Минимальная проверка из четырёх команд:

dpkg -l | grep -i 1c-enterprise
which 1cv8
ls /opt/1cv8 2>&1
pgrep -a 'ragent|rmngr|rphost|1cv8'

Чисто, если первая команда ничего не печатает, вторая тоже, третья говорит об отсутствии каталога, а четвёртая не находит процессов.

Дальше два шага для порядка:

  1. Перезапустите систему или хотя бы сеанс пользователя. Зависшие переменные окружения и ярлыки исчезнут.
  2. Проверьте свободное место: df -h /opt /home. Платформа с модулями и серверной частью занимает примерно от одного до нескольких гигабайт, плюс кэш профилей.

Если планируете устанавливать платформу заново, проверьте, что системный менеджер пакетов не ругается:

sudo apt update && sudo apt -f install

Пустой вывод об ошибках означает, что можно ставить заново.

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

Удалятся ли мои базы вместе с платформой?
Нет. Файловые базы лежат в отдельных каталогах, серверные хранятся в СУБД. Пакеты платформы их не затрагивают. Тем не менее копию делайте до начала.
Можно ли просто удалить каталог /opt/1cv8?
Для чистого клиента без пакетов в dpkg можно. Если платформа ставилась из deb, лучше сначала снять пакеты, иначе в системе останутся записи о них, и переустановка пойдёт с ошибками.
Нужно ли удалять 1С перед обновлением платформы?
Не обязательно. Новая версия ставится в свой каталог рядом со старой. Старую снимают после проверки, что базы открываются и работают.
Как убрать только одну из нескольких версий?
Укажите в команде удаления точный номер версии в имени пакета или удалите каталог этой версии. Маска 1c-enterprise* затронет все версии сразу.
Нужно ли удалять драйвер аппаратного ключа?
Драйвер ключа ставится отдельным пакетом и платформой не управляется. Если ключ больше не нужен, снимите пакет драйвера вручную. Если планируете ставить 1С снова, его лучше оставить.