Dependências ainda existem em “dpkg -l” após rodar “apt-get remove dependences-names”

6

Suspeitei que a instalação de xfce4 causou alguns problemas no Ubuntu, então os removi usando apt-get remove xfce4 xfce4-goodeis .

Mas quando eu corri 'dpkg -l' eu ainda consigo ver algumas bibliotecas e pacotes para xfce4 :

$ dpkg -l | grep -i xfce
rc  libexo-1-0:amd64                              0.10.2-2                                 amd64        Library with extensions for Xfce
rc  libgarcon-1-0                                 0.2.1-1                                  amd64        freedesktop.org compliant menu implementation for Xfce
rc  libxfce4ui-1-0                                4.11.0-0ubuntu1~ppa0.13.10.1             amd64        widget library for Xfce - Gtk+2 variant
rc  libxfce4ui-common                             4.11.0-0ubuntu1~ppa0.13.10.1             all          common files for libxfce4ui
rc  libxfce4util6                                 4.10.1-1                                 amd64        Utility functions library for Xfce4
rc  libxfcegui4-4                                 4.10.0-2                                 amd64        Basic GUI C functions for Xfce4
rc  libxfconf-0-2                                 4.10.0-2                                 amd64        Client library for Xfce4 configure interface
rc  mousepad                                      0.3.0-2                                  amd64        simple Xfce oriented text editor
rc  thunar                                        1.6.3-1ubuntu1                           amd64        File Manager for Xfce
rc  xfce4-appfinder                               4.10.1-1                                 amd64        Application finder for the Xfce4 Desktop Environment
rc  xfce4-clipman                                 2:1.2.3-2ubuntu1                         amd64        clipboard history utility
rc  xfce4-mixer                                   1:4.10.0-1ubuntu2                        amd64        Xfce mixer application
rc  xfce4-notes                                   1.7.7-3ubuntu2                           amd64        Notes application for the Xfce4 desktop
rc  xfce4-panel                                   4.10.1-1ubuntu1                          amd64        panel for Xfce4 desktop environment
rc  xfce4-power-manager                           1.2.0-2ubuntu1                           amd64        power manager for Xfce desktop
rc  xfce4-session                                 4.10.1-1ubuntu1                          amd64        Xfce4 Session Manager
rc  xfce4-settings                                4.11.1-0ubuntu1~ppa0.13.10.1             amd64        graphical application for managing Xfce settings
rc  xfce4-terminal                                0.6.2-3ubuntu1.1                         amd64        Xfce terminal emulator
rc  xfce4-volumed                                 0.2.0-0ubuntu1                           amd64        volume keys daemon
rc  xfdesktop4                                    4.11.2-0ubuntu1~ppa0.13.10.1             amd64        xfce desktop background, icons and root menu manager
rc  xfwm4                                         4.11.1-0ubuntu1~ppa0.13.10.1             amd64        window manager of the Xfce project

Copiei e colei todos esses pacotes \ bibliotecas para formar um comando apt-get remove para remover todas essas dependências, e o comando foi executado normalmente, mas executar dpkg -l | grep -i xfce mostrou essas dependências novamente!

Por que essas dependências ainda estão instaladas?

    
por Muhammad Gelbana 17.01.2014 / 10:51

2 respostas

8

Anote o rc no começo da lista.

  

r : Remover (marcado para remoção)
c : Arquivos de configuração estão presentes.

A diferença entre apt-get remove e purge (de man apt-get )

   remove
       remove is identical to install except that packages are removed instead of installed.
       Note the removing a package leaves its configuration files in system.

   purge
       purge is identical to remove except that packages are removed and purged (any
       configuration files are deleted too).

Conforme você escolhe apt-get remove , seu dpkg -l reflete isso. Se você tivesse sido usado apt-get purge você poderia evitar tal situação. Para se livrar destes, tente no terminal,

dpkg --list | grep "^rc" | cut -d " " -f 3 | xargs sudo dpkg --purge

Ele irá limpar todos os pacotes marcados para remoção. Antes de você limpá-los, você pode verificar a lista que você vai purgar usando,

dpkg --list | grep "^rc" | cut -d " " -f 3 

Eu acho que você não tem nenhum outro pacote marcado para remoção, exceto aqueles que são de xfce . Se você não tem certeza disso. Use o seguinte,

dpkg --list | grep -i xfce | cut -d " " -f 3 | xargs sudo dpkg --purge
    
por souravc 17.01.2014 / 11:02
3

As dependências não ainda estão instaladas.

Quando você executa dpkg -l , dpkg chama dpkg-query . Entradas na primeira coluna (onde você está vendo rc ) consistem em duas abreviações de uma letra.

A primeira letra especifica o estado desejado do pacote conforme especificado pelas ações de gerenciamento de pacotes. r significa que se destina a ser removido. Isso significa que ou

  • é removido, ou
  • foi especificado para remoção, mas ainda não foi totalmente removido ou a remoção falhou.

Para ver qual é o caso, consulte a segunda letra, c . Isso indica o que, do pacote, está instalado. Se nenhum arquivo de qualquer tipo estiver presente, a segunda letra mostrará n (embora, na verdade, como você está executando dpkg -l / dpkg --list sem argumentos e analisando a saída, a entrada simplesmente não aparece se não houver arquivos).

c significa que todos os arquivos de configuração estão . Geralmente, não é seguro assumir que um usuário deseja removê-lo ao desinstalar um pacote. Se você quiser removê-los, poderá passar o sinal --purge para apt-get (ou especificar a ação purge em vez da ação remove ) ao desinstalar os pacotes.

Para remover esses arquivos de configuração, mesmo que os próprios pacotes sejam desinstalados, você ainda poderá eliminá-los, seja com dpkg -P ... ou apt-get purge ... . Usar dpkg para limpar muitos pacotes é pode ser um pouco complicado mas apt-get corresponderá a regras regulares (como grep faz) para nomes de pacotes. Supondo que você queira um único comando curto que remova todos esses pacotes e * supondo que você realmente queira remover todos os pacotes com xfce em seu nome, isso fará o seguinte:

sudo apt-get purge xfce.\*

Observe que o * não é um curinga, .\* corresponde a zero ou mais de qualquer caractere. O . é essencial para que isso aconteça (veja abaixo). Este regexp é equivalente a apenas xfce , mas é reconhecido como um regexp por apt-get porque contém o caractere especial * .

(Da mesma forma, se você usasse xfce\* ou xfce* , removeria todos os pacotes com xfc . As pessoas tentaram se livrar do Wine removendo wine* , o que resultou em todos os pacotes com win em qualquer parte do nome que está sendo removido, quebrando seus sistemas!)

Ou se você preferir fazer a limpeza com dpkg , uma maneira facilmente compreensível (que eu acho que reduz os erros) é dizer a dpkg-list como formatar sua própria saída:

sudo dpkg -P 'dpkg-query -f='${Package}\n' -W | grep xfce'

Ou você pode simplesmente executar dpkg-query -f='${Package} ' -W | grep xfce , permitindo examinar a saída para garantir que é o que deseja e, em seguida, copiar e colar essa lista de pacotes delimitada por espaço em um comando sudo apt-get purge ou sudo dpkg -P .

    
por Eliah Kagan 17.01.2014 / 11:25