web-dev-qa-db-fra.com

Mysql-common ne peut pas être désinstallé

J'essaie de désinstaller complètement mysql pour le réinstaller ultérieurement. Après avoir désinstallé tous les paquets liés à mysql, mysql-common semble rester dans un état cassé.

$ 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

Mais exécuter 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.

Ou avec --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)

De plus, j'ai supprimé tous les répertoires et fichiers liés à mysql.

Comment puis-je me débarrasser de ce paquet cassé?

3
Azeirah

Certains packages ne peuvent pas être désinstallés si certaines dépendances ont été supprimées ou si certains fichiers de configuration ont été supprimés pour une raison quelconque. Vous allez vous retrouver avec un paquet qui n'est pas complètement installé ni complètement désinstallé.

La solution, dans ce cas, consiste à Sudo apt-get install le paquet. Si nécessaire, faites Sudo apt-get install --reinstall [package]. Les fichiers manquants seront ajoutés au système et toutes les dépendances manquantes seront installées à la volée. Ensuite, le paquet peut être désinstallé complètement de la manière habituelle: Sudo apt-get remove [package].

Si apt-get refuse de réinstaller le paquet en raison d'autres problèmes (de dépendance), vous pouvez uniquement utiliser apt-get pour le télécharger et utiliser dpkg directement pour l'installer:

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

Parfois, vous pouvez ignorer le téléchargement car Apt a tendance à conserver une archive des packages précédemment téléchargés et installés dans /var/cache/apt/archives/ afin que vous puissiez démarrer directement à partir de la 2e étape:

Sudo dpkg -i /var/cache/apt/archives/mysql-common_*.deb
4
Jos