В системах на основе Debian, как мы очищаем файлы конфигурации пакетов, которые уже были удалены?

16

Чтобы быть более конкретным, я хотел бы сделать эквивалент добавления --purgeфлага к следующей команде

sudo apt-get autoremove --purge [package name]

к пакетам, которых больше нет в системе.

Желательно, чтобы я хотел знать, как это сделать с конкретными пакетами и с каждым удаленным пакетом в системе.

Александр Мартинс
источник
Вопрос не четко сформулирован. Я предполагаю, что вы имеете в виду - «как удалить файлы конфигурации из пакетов, которые были удалены из системы, но по-прежнему установлены файлы конфигурации». Вводить autoremoveэто просто сбивает с толку, IMO.
Фахим Митха
@FaheemMitha Изменил заголовок в соответствии с вашими предложениями. Но я думаю, что автоматическое удаление только запутает, если я не напишу ничего другого. Но предложение «Я хотел бы сделать эквивалент добавления флага --purge к следующей команде» проясняет ситуацию.
Александр Мартинс

Ответы:

18

Следующее должно делать то, что вы хотите:

aptitude purge \~c

Это удаляет все пакеты с cфлагом состояния (пакет удален, файлы конфигурации все еще присутствуют). Флаг документации здесь .

Крис Даун
источник
Извините, это не рабочая строка 1> # sudo aptitude purge '-c' строка 2> aptitude: неверная опция - 'c'
Александр Мартинс
3
@AlexandreMartins Первый символ в кавычках - это тильда, а не дефис.
Крис Даун
aptitude purge ~cтоже работает
Ортомала Локни
@ OrtomalaLokni Ненадежно. ~[user]является допустимым расширением POSIX тильды.
Крис Даун
@Chris Down Хорошо, если у вас есть пользователь по имениc
Ортомала Локни
6

Для тех, кто не хочет устанавливать aptitude:

sudo dpkg -P $(dpkg -l | awk '/^rc/ { print($2) }')
Мацей Стшелецкий
источник
2

--purgeФлаг удаляет файлы конфигурации для пакетов , которые больше не являются установленными. Я не рекомендую слепо удалять файлы конфигурации для всех удаленных пакетов. Возможно, вы захотите оставить некоторые из них. Для индивидуальной упаковки, dpkg -Pбудет работать ( -Pрасшифровывается --purge). Здесь alacarteтолько установлены его файлы конфигурации, отсюда и rcфлаги. Например

orwell:/home/faheem# dpkg -l alacarte
[...]
rc  alacarte                           0.11.5-1                           easy GNOME menu editing tool
orwell:/home/faheem# dpkg -P alacarte
(Reading database ... 345418 files and directories currently installed.)
Removing alacarte ...
Purging configuration files for alacarte ...
orwell:/home/faheem# dpkg -l alacarte
[...]
un  alacarte                           <none>                             (no description available)
Фахим Митха
источник
Обычно я храню важные настройки в своей домашней папке. Это означает, что флаг --purge не доставляет мне проблем. И это на самом деле помогает мне не иметь никаких проблем позже. Есть ли веская причина, по которой вы говорите, что я не должен использовать --purge, который мне не хватает?
Александр Мартинс
1
@AlexandreMartins: Если вы уверены, что у вас нет какой-либо конфигурации ни в одном из файлов конфигурации системы, я думаю, это нормально. Это определенно не тот случай для меня, хотя.
Фахим Митха
-1
aptitude --clean-on-startup

Это должно очистить кеш пакета.

SuperBob
источник
3
Следующая страница руководства: «Очищает кеш пакета при запуске программы». Это не то, что спросил ОП.
энзотиб