Подробный гайд: Подготовка к удалению программ в 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 -a → sudo apt --fix-broken install |
| Пакет не удаляется из-за зависимости | Установите зависимость или удалите пакеты вместе: sudo apt remove <пакет> <зависимость> |
| Остались конфиги после удаления | sudo apt purge $(dpkg -l | grep '^rc' | awk '{print $2}') |
| Система "сломалась" после удаления | Загрузитесь в Recovery Mode → dpkg --configure -a → apt 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
- Руководство администратора: раздел "Управление пакетами"
Информация предоставлена в ознакомительных целях. Применение описанных настроек в системах, должно осуществляться только после согласования с ответственными за информационную безопасность и в соответствии с требованиями ФСТЭК, ФСБ и иных уполномоченных органов.