Como automatizar a limpeza de arquivos de configuração de pacotes anteriores, conforme relatado por “dpkg -l | grep ^ rc ”

1

Existem vários pacotes que não foram removidos com o "apt-get purge" e eu gostaria de automatizar a limpeza deles.

Você não pode apt-get purge apache2.2-common porque o pacote já foi removido.

Você ainda pode listar os arquivos que estão no pacote com dpkg -L apache2.2-common .

Isso significa que eu poderia simplesmente remover a lista de arquivos no pacote, mas como o dpkg saberia isso? Como faço para remover os arquivos de configuração deixados para trás E removê-lo do seguinte relatório?

Exemplo de saída:

$ 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
    
por Dan Garthwaite 16.04.2014 / 18:05

1 resposta

2

Algo parecido com isso encontrará os nomes dos pacotes:

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

Ou para remover o número de canais que você pode usar:

dpkg --list | awk '/^rc/ {print $2}'

O próximo passo é alimentar uma dessas listas em dpkg --purge . Usando um subshell, você pode fazer isso facilmente:

dpkg --purge $(dpkg --list | grep ^rc | awk '{print $2}')

Simples!

    
por 17.05.2014 / 14:21