Shell: Como desinstalar todos os pacotes relacionados para um específico? / Ubuntu

1

Recentemente pedi ao meu provedor de hospedagem para recarregar o sistema operacional para Ubuntu 12.04 64 bit minimal , considerando que o mínimo teria os pacotes mínimos necessários instalados, mas percebi que o mysql estava instalado, pois não preciso disso, quero desinstalar todos pacotes relacionados a ele.

O que eu fiz foi:

$ sudo apt-get --purge remove mysql-client
$ sudo apt-get --purge remove mysql-server

No entanto, eu ainda estou encontrando binários e arquivos do mysql

$ whereis mysql
mysql: /usr/bin/mysql /etc/mysql /usr/bin/X11/mysql /usr/share/mysql /usr/share/man/man1/mysql.1.gz

Estou pensando em algo como

$ dpkg -s mysql*

Mas isso não ajudou.

Algum conselho?

    
por tachomi 08.10.2014 / 19:02

2 respostas

3

Se você quiser usar apt-get remove para um arquivo contido em um pacote específico, faça o seguinte:

apt-get remove $(dpkg  -S /usr/bin/mysql | cut -d ':' -f 1)

(substitua /usr/bin/mysql , com qualquer arquivo que você esteja procurando para remover)

Usando isso, apt-get ainda perguntará se você realmente deseja remover o pacote (que o dpkg encontrou), às vezes você percebe que não queria isso depois de ver o nome do pacote

    
por 08.10.2014 / 19:22
5

Por que você tem tanta certeza de que não precisa disso? Talvez outros pacotes dependam disso, ele não é usado exclusivamente para configurar um servidor mysql, alguns programas gerenciam seus bancos de dados internos usando-o por exemplo.

Agora, para responder à sua pergunta, o primeiro passo é descobrir qual pacote instalou esses arquivos:

$ dpkg -S /usr/bin/mysql
mysql-client-core-5.5: /usr/bin/mysql

Essa é a saída de uma máquina virtual Ubuntu 14.04, a sua provavelmente será uma versão diferente, mas o mesmo princípio se aplica. Agora você sabe o nome do pacote e pode removê-lo manualmente.

Basicamente, os dois pacotes que você removeu são ambos meta pacotes que apontam para outros pacotes. Então, quando você os removeu, você removeu apenas o pacote fictício e não tudo que estava instalado com eles. Para remover tudo relacionado ao mysql, execute isto:

sudo apt-get remove --purge mysql-*
    
por 08.10.2014 / 19:22