Подробный гайд: Подготовка к удалению программ в Astra Linux

Пошаговое руководство по безопасному удалению программ в Astra Linux: резервное копирование, проверка зависимостей, анализ последствий

2026.05.21                  


Подробный гайд: Подготовка к удалению программ в Astra LinuxПодробный гайд: Подготовка к удалению программ в Astra Linux

Важно:

Данный гайд предназначен для системных администраторов. В системах с повышенными требованиями к безопасности (Astra Linux Special Edition) все действия должны согласовываться с ответственными за ИБ и выполняться в соответствии с требованиями ФСТЭК/ФСБ.


Этап 1: Предварительная подготовка

1.1. Резервное копирование

Перед любыми изменениями в системе обязательно создайте резервную копию:

# Копирование конфигурационных файлов
sudo tar -czf /backup/etc_backup_$(date +%F).tar.gz /etc /home

# Для виртуальных машин — создайте снапшот
# Для физических серверов — используйте LVM snapshot или Timeshift

1.2. Обновление информации о пакетах

sudo apt update

1.3. Проверка целостности базы пакетов

# Проверка базы dpkg на наличие проблем
sudo dpkg --audit

# Проверка зависимостей
sudo apt check

1.4. Идентификация пакета

Убедитесь, что знаете точное имя пакета:

# Поиск установленного пакета
apt list --installed | grep <часть_имени>

# Поиск по файлу (какому пакету принадлежит)
dpkg -S /путь/к/файлу

# Поиск в репозитории
apt search <имя_программы>

Этап 2: Анализ зависимостей

2.1. Проверка прямых и обратных зависимостей

# Что зависит от этого пакета? (КРИТИЧЕСКИ ВАЖНО)
apt-cache rdepends <имя_пакета>

# От чего зависит этот пакет?
apt depends <имя_пакета>

Внимание:

Если apt-cache rdepends показывает, что от пакета зависят критические компоненты (systemd, lightdm, fly-wm, parsec, libpam-modules), не удаляйте его — это может сделать систему неработоспособной.


2.2. Проверка статуса пакета

# Проверка приоритета и критичности
apt-cache show <имя_пакета> | grep -E "Priority|Essential"

# Просмотр установленных вручную пакетов
apt-mark showmanual | grep <часть_имени>

2.3. Эмуляция удаления (без реальных изменений)

# Симуляция удаления — покажет, что будет удалено
sudo apt remove -s <имя_пакета>
# или для полного удаления
sudo apt purge -s <имя_пакета>

Лучшая практика:

Всегда используйте -s или --simulate перед реальным удалением, чтобы проанализировать последствия.


Этап 3: Выполнение удаления

3.1. Основные команды

Команда Описание Когда использовать
sudo apt remove <пакет> Удаляет пакет, сохраняет конфиги в /etc Если планируете переустановку
sudo apt purge <пакет> Удаляет пакет + конфигурационные файлы Для полного удаления
sudo dpkg -r <пакет> Низкоуровневое удаление (без зависимостей) Только для опытных пользователей
sudo dpkg -P <пакет> Полное удаление через dpkg Альтернатива purge

3.2. Пошаговый алгоритм

# 1. Удаление пакета
sudo apt remove <имя_пакета>

# 2. Удаление осиротевших зависимостей
sudo apt autoremove

# 3. Полная очистка (опционально)
sudo apt autoremove --purge

# 4. Очистка кеша скачанных пакетов
sudo apt clean        # удалить все .deb файлы
sudo apt autoclean    # удалить только устаревшие версии

Особенности Astra Linux Special Edition

4.1. Ограничения безопасности

Аспект Рекомендация
Политики MAC/Parsec Удаление защищённых пакетов может быть заблокировано ядром безопасности. Используйте только официальные репозитории astra.ru.
Контроль целостности После удаления проверьте состояние: sudo dpkg --verify (если поддерживается).
Графические утилиты Предпочтительнее использовать apt/dpkg в терминале. Synaptic может конфликтовать с политиками SE.
Критические пакеты Запрещено удалять пакеты с Priority: required или Essential: yes.

4.2. Проверка перед удалением в SE

# Проверка, не защищён ли пакет политиками
getfilecon /usr/bin/<исполняемый_файл>

# Проверка статуса целостности
sudo mcpctl --verify

Решение типовых проблем

Проблема Решение
E: Could not get lock /var/lib/dpkg/lock-frontend Дождитесь завершения процессов: sudo fuser -v /var/lib/dpkg/lock-frontend. Не удаляйте блоки вручную!
dpkg: error processing package (--remove) sudo dpkg --configure -asudo apt --fix-broken install
Пакет не удаляется из-за зависимости Установите зависимость или удалите пакеты вместе: sudo apt remove <пакет> <зависимость>
Остались конфиги после удаления sudo apt purge $(dpkg -l | grep '^rc' | awk '{print $2}')
Система "сломалась" после удаления Загрузитесь в Recovery Mode → dpkg --configure -aapt install -f

Аудит и логирование

Все операции фиксируются в логах:

# История команд apt
/var/log/apt/history.log

# Детальные действия dpkg
/var/log/dpkg.log

# Вывод терминала apt
/var/log/apt/term.log

# Поиск операций удаления
grep "remove\|purge" /var/log/apt/history.log
grep "status removed" /var/log/dpkg.log

Чек-лист лучших практик

  • [ ] Создан бэкап конфигураций и данных
  • [ ] Выполнено apt update и dpkg --audit
  • [ ] Проверены обратные зависимости через apt-cache rdepends
  • [ ] Протестировано удаление с флагом -s (simulate)
  • [ ] Убедились, что пакет не имеет Priority: required
  • [ ] В Astra SE: проверено, что пакет не защищён политиками MAC
  • [ ] После удаления: sudo apt autoremove --purge
  • [ ] Задокументированы изменения в журнале администратора
  • [ ] Протестирована работоспособность системы после удаления

Полезные команды для справки

man apt              # Справка по apt
man dpkg             # Справка по dpkg
apt-mark --help      # Управление статусом пакетов
apt-cache --help     # Поиск и анализ пакетов
dpkg -L <пакет>      # Показать файлы, установленные пакетом
dpkg -s <пакет>      # Показать статус пакета

Официальная документация:

  • Портал разработчиков Astra Linux: docs.astralinux.ru
  • База знаний: wiki.astralinux.ru
  • Руководство администратора: раздел "Управление пакетами"

Информация предоставлена в ознакомительных целях. Применение описанных настроек в системах, должно осуществляться только после согласования с ответственными за информационную безопасность и в соответствии с требованиями ФСТЭК, ФСБ и иных уполномоченных органов.