TL;DR

dpkg -l | grep ^rc

Подтвердите, что хотите очистить перечисленные пакеты, а затем:

dpkg -l | grep ^rc | awk '{print $2}' | xargs -t sudo apt-get -y purge

Детальное объяснение

Если вы похожи на меня, у вас самодиагностированный случай легкого ОКР и вы работаете с Ubuntu (или другими операционными системами на основе Debian), вы можете время от времени замечать, что у вас есть много пакетов, которые находятся в удаленном или деинсталлированное состояние. Эти пакеты по-прежнему отображаются, если вы перечисляете пакеты с помощью dpkg -l вместе с другими установленными пакетами. Вот пример:

$ dpkg -l | head

Когда строки начинаются с rc (здесь не показано), это означает, что пакет был удален, но файлы конфигурации остались. (Первые три строки вывода более подробно объясняют, что означают первые три символа каждой строки.)

Итак, чтобы найти строки, начинающиеся с rc, мы передаем вывод dpkg в grep:

$ dpkg -l | grep ^rc

Теперь у нас есть список всех удаленных пакетов и связанная с ними информация, но нам нужно извлечь только их имена, чтобы очистить их. Направьте вывод в awk, чтобы выбрать второе слово каждой строки:

$ dpkg -l | grep ^rc | awk '{print $2}'

Наконец, со списком удаленных имен пакетов нам нужно передать его apt-get, чтобы очистить их. Для этого мы можем подключиться к xargs:

$ dpkg -l | grep ^rc | awk '{print $2}' | xargs -t sudo apt-get -y purge

Последняя трубка немного интересна. Мы используем -t для включения подробного режима на xargs, который будет печатать команду, которую он выполняет, в начале своего вывода. Поскольку xargs работает не в интерактивном режиме, нам также нужно передать параметр -y в apt-get, чтобы он автоматически отвечал утвердительно на все запросы.

Если вы хотите узнать больше о любой из этих команд, не стесняйтесь искать их. Найдите в Интернете или прочитайте страницу руководства системы. Например, чтобы прочитать о awk, используйте man awk.

Удачной чистки!