Substitua *
por ~n
. Por exemplo, # aptitude purge qt4~n libqt4~n
.
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?
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
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.
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.