Подробный гайд: Удаление пакета с сохранением конфигурационных файлов в Astra Linux
Важно:
Astra Linux (как Common Edition, так и Special Edition) основана на Debian. Менеджер пакетов apt/dpkg в ней работает идентично Debian/Ubuntu. Поведение, описанное ниже, является штатным и поддерживается на всех актуальных версиях ОС.
Краткая справка: remove vs purge
В Debian-подобных системах есть два основных режима удаления:
| Команда | Что удаляет | Конфигурационные файлы (/etc/) |
|---|---|---|
sudo apt remove <пакет> |
Бинарные файлы, библиотеки, документацию | Сохраняются |
sudo apt purge <пакет> |
Всё выше + конфигурационные файлы | Удаляются |
Таким образом, для вашей задачи достаточно штатной команды apt remove.
Пошаговая инструкция
1. Точно определите имя пакета
# Поиск по части имени
dpkg -l | grep -i <часть_имени>
# или
apt list --installed | grep -i <часть_имени>
Пример:
dpkg -l | grep nginx→ точное имя:nginx-core
2. Удалите пакет с сохранением конфигов
sudo apt remove <имя_пакета>
Что произойдёт:
- Пакет будет удалён из системы
- Все файлы из
/etc/<имя_пакета>/и/etc/default/<имя_пакета>останутся нетронутыми - Системные пользователи, группы и службы, созданные пакетом, обычно удаляются (это штатное поведение)
3. Проверьте, что конфигурационные файлы сохранены
Пакеты, удалённые через remove, получают статус rc (removed, config-files remain):
dpkg -l | grep "^rc"
Пример вывода:
rc nginx-core 1.24.0-1 amd64 lightweight HTTP and reverse server
Физически проверить файлы:
ls -la /etc/nginx/
ls -la /etc/default/nginx # если есть
4. Восстановление пакета (если потребуется)
При повторной установке apt автоматически подхватит сохранённые конфиги:
sudo apt install <имя_пакета>
Если конфиги были изменены, пакет предложит выбрать действие (сохранить ваши изменения или заменить на дефолтные). Обычно достаточно нажать N (сохранить текущие).
Управление сохранёнными конфигурационными файлами
Со временем в системе может накопиться много пакетов в статусе rc. Это не занимает дисковое пространство, но усложняет аудит.
Просмотр всех сохранённых конфигов
dpkg -l | awk '/^rc/ {print $2}'
Удаление конфигов конкретного пакета
sudo apt purge <имя_пакета>
Очистка всех сохранённых конфигов (опционально)
sudo apt purge $(dpkg -l | awk '/^rc/ {print $2}')
Выполняйте только если уверены, что эти конфиги больше не понадобятся.
Важные нюансы для Astra Linux
1. Зависимости:
apt removeне удаляет автоматически установленные зависимости, ставшие ненужными.
После удаления выполните:
sudo apt autoremove
Эта команда не тронет конфигурационные файлы удалённых пакетов (они останутся в статусе rc).
2. Пользовательские конфиги:
aptуправляет только системными конфигами в/etc/. Файлы в~/.config/,~/.local/или домашней директории удалять не будет ниremove, ниpurge. Их нужно чистить вручную.
3. Astra Linux SE (Специальное назначение):
- Мандатный контроль доступа (МКД) не влияет на работу
apt remove. - Если пакет устанавливался через
astra-repoилиastrapkg, логика удаления идентична. - При работе в изолированных контурах убедитесь, что удаление пакета не нарушает политики целостности (проверка через
astra-integrityилиfly-admin-sec).
4. Службы systemd:
- После удаления пакета служба автоматически отключается и маскируется.
Если вы планируете переустановку, не забудьте:
sudo systemctl unmask <имя_службы>
sudo systemctl enable --now <имя_службы>
Диагностика и типичные проблемы
| Симптом | Причина | Решение |
|---|---|---|
После remove конфиги не в /etc/ |
Пакет хранит конфиги в нестандартном месте или в /usr/share/ |
Уточните пути: dpkg -L <пакет> | grep -E '/etc|/var/lib' |
apt autoremove удаляет конфиги |
autoremove удаляет только пакеты, не затрагивая rc-конфиги |
Это штатно. Для очистки используйте purge |
| Переустановка игнорирует старые конфиги | Конфиги повреждены или изменены права | Восстановите права: sudo chown -R root:root /etc/<пакет>/ |
Чек-лист перед удалением
- [ ] Точно указано имя пакета (
dpkg -l) - [ ] Есть резервная копия конфигов (на всякий случай):
sudo cp -a /etc/<пакет> /root/backup_<пакет>_etc/ - [ ] Понятно, какие службы остановятся (
systemctl list-units --type=service | grep <пакет>) - [ ] Запланировано обновление зависимостей (
sudo apt autoremove --dry-run)
Информация предоставлена в ознакомительных целях. Применение описанных настроек в системах, должно осуществляться только после согласования с ответственными за информационную безопасность и в соответствии с требованиями ФСТЭК, ФСБ и иных уполномоченных органов.