Mysql-common no se puede desinstalar

Mysql-common no se puede desinstalar

Estoy intentando desinstalar completamente mysql para reinstalarlo más tarde. Después de desinstalar todos los paquetes relacionados con mysql, mysql-common parece permanecer en un estado roto.

$ sudo dpkg -l | grep mysql
pc  mysql-common                                  5.6.28-0ubuntu0.15.10.1                      all          MySQL database common files, e.g. /etc/mysql/my.cnf

Pero ejecutando apt-get remove

$ sudo apt-get remove mysql-common
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Package 'mysql-common' is not installed, so not removed
0 upgraded, 0 newly installed, 0 to remove and 36 not upgraded.

O con --purge

$ sudo apt-get remove --purge mysql-common
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages will be REMOVED:
  mysql-common*
0 upgraded, 0 newly installed, 1 to remove and 36 not upgraded.
After this operation, 0 B of additional disk space will be used.
Do you want to continue? [Y/n] y
(Reading database ... 199090 files and directories currently installed.)
Removing mysql-common (5.6.28-0ubuntu0.15.10.1) ...
Purging configuration files for mysql-common (5.6.28-0ubuntu0.15.10.1) ...
update-alternatives: error: no alternatives for my.cnf
dpkg: error processing package mysql-common (--purge):
 subprocess installed post-removal script returned error exit status 2
Errors were encountered while processing:
 mysql-common
E: Sub-process /usr/bin/dpkg returned an error code (1)

Además, eliminé todos los directorios y archivos relacionados con MySQL.

¿Cómo puedo deshacerme de este paquete roto que persiste?

Respuesta1

Algunos paquetes no se pueden desinstalar si algunas dependencias han desaparecido o si algunos archivos de configuración se han eliminado por algún motivo. Terminará con un paquete que no estará completamente instalado ni desinstalado por completo.

La solución, en este caso, está en sudo apt-get installel paquete. Si es necesario, hazlo sudo apt-get install --reinstall [package]. Los archivos faltantes se agregarán al sistema y las dependencias faltantes se instalarán sobre la marcha. Luego el paquete se puede desinstalar completamente de la forma habitual: sudo apt-get remove [package].

Si apt-getse niega a reinstalar el paquete debido a otros problemas (de dependencia), solo puede apt-getdescargar el paquete y usarlo dpkgdirectamente para instalarlo:

apt-get download mysql-common
sudo dpkg -i mysql-common_*.deb
sudo apt-get install -f

A veces puedes omitir la descarga porque Apt tiende a mantener un archivo de los paquetes previamente descargados e instalados /var/cache/apt/archives/para que puedas comenzar directamente desde el segundo paso:

sudo dpkg -i /var/cache/apt/archives/mysql-common_*.deb

información relacionada