Есть ряд пакетов, которые не были удалены с помощью «apt-get purge», и я хотел бы автоматизировать их очистку.
Ты не можешь apt-get purge apache2.2-common
потому что пакет уже удален.
Вы все еще можете перечислить файлы, которые находятся в пакете, с помощью dpkg -L apache2.2-common
.
Это означает, что я могу просто удалить список файлов в пакете, но как dpkg узнает об этом? Как мне удалить оставшиеся файлы конфигурации И удалить их из следующего отчета?
Пример вывода:
$ dpkg -l | grep ^rc
rc apache2.2-common 2.2.14-5ubuntu8.10 Apache HTTP Server common files
rc libapache2-mod-php5filter 5.3.10-1ubuntu2ppa6~lucid server-side, HTML-embedded scripting languag
rc libapr1 1.3.8-1ubuntu0.3 The Apache Portable Runtime Library
rc libaprutil1 1.3.9+dfsg-3ubuntu0.10.04.1 The Apache Portable Runtime Utility Library
rc libgd2-xpm 2.0.36~rc1~dfsg-3.1ubuntu1 GD Graphics Library version 2
rc libt1-5 5.1.2-3ubuntu0.10.04.2 Type 1 font rasterizer library - runtime
rc php5-gd 5.3.10-1ubuntu2ppa6~lucid GD module for php5
rc ssl-cert 1.0.23ubuntu2 simple debconf wrapper for OpenSSL
Примерно так найдешь имена пакетов:
dpkg --list | grep ^rc | awk '{print $2}'
Или, чтобы удалить количество труб, вы можете использовать это:
dpkg --list | awk '/^rc/ {print $2}'
Итак, следующий шаг - передать один из этих списков в dpkg --purge
. Используя подоболочку, вы можете сделать это легко:
dpkg --purge $(dpkg --list | grep ^rc | awk '{print $2}')
Просто!