Mysqlを完全にアンインストールして後で再インストールしようとしています。mysql関連のパッケージをすべてアンインストールした後、mysql-commonは壊れた状態のままです。
$ 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
しかし、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.
または--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)
さらに、すべてのmysql関連のディレクトリとファイルを削除しました。
この長引く壊れたパッケージをどうやって取り除くことができますか?
依存関係がなくなったり、何らかの理由で構成ファイルが削除されたりすると、一部のパッケージをアンインストールできません。最終的に、完全にインストールまたは完全にアンインストールされていないパッケージになります。
この場合の解決策は、パッケージをSudo apt-get install
することです。必要に応じて、Sudo apt-get install --reinstall [package]
を実行します。不足しているファイルがシステムに追加され、不足している依存関係がその場でインストールされます。その後、パッケージは通常の方法で完全にアンインストールできます:Sudo apt-get remove [package]
。
apt-get
が他の(依存関係)問題のためにパッケージの再インストールを拒否する場合、apt-get
を使用してのみパッケージをダウンロードし、dpkg
を使用して直接インストールできます。
apt-get download mysql-common
Sudo dpkg -i mysql-common_*.deb
Sudo apt-get install -f
Aptは以前にダウンロードおよびインストールされたパッケージのアーカイブを/var/cache/apt/archives/
に保持する傾向があるため、ダウンロードをスキップできる場合があります。そのため、2番目のステップから直接開始できます。
Sudo dpkg -i /var/cache/apt/archives/mysql-common_*.deb