aptitude remove pkg_name * não funciona como apt-get

1

Eu desinstalei (purga do aptitude) o pacote qt-sdk , mas ainda há muitos pacotes qt4* e libqt* no meu sistema.

Existe uma maneira de remover todos esses pacotes com aptitude remove/purge beginning_of_pkg_name* , como podemos fazer com apt-get ? Talvez com a sintaxe bash ${} ?

Eu não entendo porque nós não podemos fazer isso com o aptitude, é realmente uma droga se você tem que remover todos os pacotes manualmente, um por um.

PS: o aptitude purge package_name não deve remover todas as dependências baixadas?

    
por baptx 26.01.2013 / 19:22

2 respostas

2

Substitua * por ~n . Por exemplo, # aptitude purge qt4~n libqt4~n .

    
por 26.01.2013 / 20:04
2

Remoção segura de pacotes sem dependência

apt-get autoremove

Isso fornecerá uma lista de pacotes extraídos por dependência, mas que não serão mais necessários (todos os pacotes dependentes removidos).

Pacotes de motivos que não aparecem na lista

  1. Eles ainda são usados (dependentes) por outros pacotes
  2. Eles são instalados manualmente, não são atraídos pela dependência.

Verificar a dependência inversa

Para verificar se um pacote é necessário para outras pessoas, use apt-rdepends -r <pacakge>

# apt-rdepends -r libmagic1| head
Reading package lists... Done
Building dependency tree       
Reading state information... Done
libmagic1
  Reverse Depends: aegis (4.24.3-3)
  Reverse Depends: aegis-web (4.24.3-3)
  Reverse Depends: dares (0.6.5-6)
  Reverse Depends: dares-qt (0.6.5-6)
  Reverse Depends: dff (1.2.0+dfsg.1-1)
  Reverse Depends: ebook-speaker (2.0-2)
  Reverse Depends: file (= 5.09-2)
  Reverse Depends: file-roller (3.4.1-0ubuntu1)
  Reverse Depends: fossology-agents (1.2.0-3.1ubuntu2)

Isso mostrará a lista de pacotes dependendo da libmagic1. O motivo head é usado porque apt-rdepends -r calculará recursivamente a dependência reversa. Para ver se libmagic1 é dependente de qualquer coisa, precisamos apenas das poucas linhas superiores.

Verifique o estado de instalação automática do apt-get

Para verificar se um pacote é instalado manualmente através do apt-get ou do aptitude

apt-mark showauto | grep libqt4-sql-mysql

ou

apt-mark showmanual | grep libqt4-sql-mysql

PS: sem o grep apt-mark mostrará toda a lista de pacotes instalados automaticamente ou manualmente.

    
por 26.01.2013 / 19:57