Os pacotes Debian removidos podem ter arquivos restantes?

4

Eu notei uma coisa estranha em meus arquivos /etc/init.d e tentei ver um pouco o que estava acontecendo.

Aqui está o meu problema:

 # apt-file search /etc/init.d/minissdpd 
minissdpd: /etc/init.d/minissdpd

 # dpkg-query -L minissdpd
/etc
/etc/default
/etc/default/minissdpd
/etc/init.d
/etc/init.d/minissdpd

 # apt-get remove minissdpd
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Package 'minissdpd' is not installed, so not removed
0 upgraded, 0 newly installed, 0 to remove and 177 not upgraded.

Como é que existem arquivos do minissdpd, mas diz que o minissdpd não está instalado?

Posso excluir com segurança esses itens?

    
por Cedric Martin 03.01.2014 / 14:47

3 respostas

3

O pacote dpkg -P deve limpar o pacote totalmente, incluindo os arquivos de configuração. A seguir, a descrição da opção do comando man dpkg

-r, --remove, -P, --purge package...|-a|--pending Remove an installed package. -r or --remove remove everything except conffiles. This may avoid having to reconfigure the pack age if it is reinstalled later. (Conffiles are configuration files that are listed in the DEBIAN/conffiles control file). -P or --purge removes everything, including conffiles. If -a or --pending is given instead of a package name, then all packages unpacked, but marked to be removed or purged in file /var/lib/dpkg/status, are removed or purged, respectively. Note: some configuration files might be unknown to dpkg because they are created and handled separately through the configuration scripts. In that case, dpkg won't remove them by itself, but the package's postrm script (which is called by dpkg), has to take care of their removal during purge. Of course, this only applies to files in system directories, not configuration files written to individual users' home directories.

    
por 03.01.2014 / 14:49
2

Se você usar o comando remove ( dpkg -r , apt-get remove ,…), o pacote será desinstalado e a maioria dos arquivos do pacote será removida. No entanto, os arquivos de configuração são deixados para trás. Isso é feito porque os arquivos de configuração usam muito pouco espaço em disco e podem conter modificações locais. Dessa forma, as modificações locais são mantidas e entrarão em vigor novamente se você reinstalar o pacote.

Se você não quiser deixar esses pacotes para trás, use o comando purge ( dpkg -P , apt-get purge ,…).

Uma maneira fácil de listar os pacotes removidos, mas com arquivos de configuração deixados para trás, é

dpkg -l | grep \^rc

A variante dpkg -l | grep -v '^ii' lista todos os pacotes que não estão ausentes ou totalmente instalados. Isso inclui pacotes removidos, mas não eliminados, bem como pacotes cuja instalação ou remoção foi interrompida.

Com o aptitude, você pode listar pacotes removidos, mas não eliminados, com

aptitude search '~c'
    
por 04.01.2014 / 02:59
0

How comes there are files from minissdpd yet it says minissdpd isn't installed?

Você não usou o sinal --purge , por isso dpkg não se preocupou em limpar dados residuais que o pacote criou, uma vez que não foi instruído a fazê-lo.

Se você quiser remover completamente um pacote e todos os seus dados / arquivos de configuração, use apt-get remove --purge <PACKAGE> , consulte a página de manual para obter mais informações.

    
por 03.01.2014 / 18:25