[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Como purgar arquivos em massa com aptitude?



2006/10/10, Savio Ramos <savio.debian@oi.com.br>:
Olá,

Deixei de purgar arquivos após algumas atualizações e agora tenho um pancada de arquivos que não existem mais porém seus arquivos de configuração continuam lá.

Veja a lista abaixo, é muita coisa. Como dar um "aptitude purge nome_do_pacote" para todos eles?

Grato.

Obs: Observem que no meio deles tem o sysv-rc. Que não pode sair...

dpkg -l |grep rc\

rc  blt                              2.4z-4                          the BLT
extension library for Tcl/Tk - run-t rc  gij-4.1
4.1.1-15                        The GNU Java bytecode interpreter rc
iproute                          20060323-1                      Professional
tools to control the networking rc  java-gcj-compat
1.0.65-6                        Java runtime environment using GIJ rc
latex-sanskrit                   2.2-1                           Pre-processor
and fonts to typeset Sanskrit rc  libatm1
2.4.1-17                        shared library for ATM (Asynchronous Transfe
[...]

Sávio, faça uns testes, assim:

dpkg -l | grep ^rc
(o ^ antes do rc indica que a sequencia de caracteres na sequencia
deve estar no começo da linha - assim vc pega só os que estão com rc)
vc pode pegar assim tbm:
dpkg --get-selections | grep deinstall | cut -f 1
(acho esse segundo jeito + facil e mais seguro)

Sugiro conferir bem atentamente a lista de pacotes antes de fazer qquer coisa.

aptitude purge <pacote> nao funciona mais pq ele já nao tá mais
instalado. Vc vai ter q usar dpkg -P <pacote>

No final, uma linha de comando simples deve resolver.

for PACOTE in `dpkg --get-selections | grep deinstall | cut -f 1` ; do
dpkg -P $PACOTE; done

Obviamente nao testei aqui pois tem pacotes que removi que quero
deixar os arquivos de configuração (assim, se eu precisar de novo
deles nao preciso configurar de novo). Mas acho que está razoavelmente
certo. Se estiver aprensivo, tente assim:

for PACOTE in `dpkg --get-selections | grep deinstall | cut -f 1` ; do
echo "Apagando $PACOTE - tecle enter para continuar"; read; dpkg -P
$PACOTE; done


--
Marcos



Reply to: