Nos sistemas baseados no Debian, como limpamos os arquivos de configuração dos pacotes que já foram desinstalados?

16

Para ser mais específico, eu gostaria de fazer o equivalente a adicionar a --purgeflag ao seguinte comando

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

para pacotes que não estão mais no sistema.

De preferência, eu gostaria de saber como fazer isso em pacotes específicos e em todos os pacotes desinstalados no sistema.

Alexandre Martins
fonte
A questão não está claramente redigida. Suponho que você queira dizer - "como é possível remover arquivos de configuração de pacotes que foram removidos do sistema, mas ainda possuem arquivos de configuração instalados". Trazer autoremoveé apenas confuso, imo.
Faheem Mitha 28/03
@FaheemMitha Alterou o título de acordo com as suas sugestões. Mas acho que a remoção automática apenas tornaria as coisas confusas se eu não escrevesse mais nada. Mas a frase "Gostaria de fazer o equivalente à adição do sinalizador --purge ao comando a seguir" deixa as coisas claras.
Alexandre Martins

Respostas:

18

A seguir, faça o que você deseja:

aptitude purge \~c

Isso limpa todos os pacotes com o csinalizador de estado (pacote removido, arquivos de configuração ainda presentes). A documentação da bandeira está aqui .

Chris Down
fonte
Desculpe, ele não está funcionando linha 1> # sudo aptitude purge '-c' linha 2> aptidão: opção inválida - 'c'
Alexandre Martins
3
@AlexandreMartins O primeiro caractere entre aspas é um til, não um hífen.
27412 Chris Down
aptitude purge ~cfunciona tão bem
Ortomala Lokni
@OrtomalaLokni Não é confiável. ~[user]é uma expansão de til POSIX válida.
21415 Chris Down
@ Chris Down Ok, no caso de você ter um usuário chamadoc
Ortomala Lokni
6

Para quem não quer instalar aptitude:

sudo dpkg -P $(dpkg -l | awk '/^rc/ { print($2) }')
Maciej Strzelecki
fonte
2

O --purgesinalizador remove os arquivos de configuração dos pacotes que não estão mais instalados. Não recomendo remover cegamente os arquivos de configuração de todos os pacotes desinstalados. Você pode querer manter alguns deles. Para um pacote individual, dpkg -Pfuncionará ( -Psignifica --purge). Aqui, alacarteapenas os arquivos de configuração estão instalados, daí os rcsinalizadores. Por exemplo

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)
Faheem Mitha
fonte
Normalmente, mantenho as configurações importantes em minha própria pasta pessoal. Isso significa que a bandeira --purge não faz nada de problemático para mim. E isso realmente me ajuda a não ter problemas mais tarde. Existe alguma boa razão para você dizer que eu não devo usar - o remédio que estou perdendo?
Alexandre Martins
11
@AlexandreMartins: Se você tem certeza de que não possui nenhuma configuração em nenhum dos arquivos de configuração do sistema, tudo bem, eu acho. Definitivamente, esse não é o meu caso.
Faheem Mitha 28/03
-1
aptitude --clean-on-startup

Isso deve limpar o cache do pacote.

SuperBOB
fonte
3
Seguindo a página do manual: "Limpa o cache do pacote quando o programa é iniciado". Não foi isso que o OP pediu.
enzotib 27/03