
mysql-server-5.6 を再インストールしようとしていますが、次のような奇妙なメッセージが表示されて何もできません:
root@ps****:/home/nikitasorokin# apt-get remove --purge mysql-server-5.6
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following package was automatically installed and is no longer required:
mysql-client-core-5.6
Use 'apt-get autoremove' to remove it.
The following packages will be REMOVED:
mysql-server-5.6*
0 upgraded, 0 newly installed, 1 to remove and 941 not upgraded.
1 not fully installed or removed.
After this operation, 52.5 MB disk space will be freed.
Do you want to continue? [Y/n] y
(Reading database ... 122623 files and directories currently installed.)
Removing mysql-server-5.6 (5.6.25-0ubuntu1) ...
stop: Unknown instance:
invoke-rc.d: initscript mysql, action "stop" failed.
dpkg: error processing package mysql-server-5.6 (--purge):
subprocess installed pre-removal script returned error exit status 1
stop: Unknown instance:
invoke-rc.d: initscript mysql, action "stop" failed.
start: Job failed to start
invoke-rc.d: initscript mysql, action "start" failed.
dpkg: error while cleaning up:
subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
mysql-server-5.6
E: Sub-process /usr/bin/dpkg returned an error code (1)
主な推奨事項は、mysql とそのすべてのコンポーネントを完全にアンインストールすることだとわかっていますが、それができません。何か解決策を検討していただけますか?
答え1
post-installation
スクリプトを編集するsudo nano /var/lib/dpkg/info/mysql-server-5.6.postinst
機能を検索する
invoke() { if [ -x /usr/sbin/invoke-rc.d ]; then invoke-rc.d mysql $1 else /etc/init.d/mysql $1 fi }
そして、
invoke() { echo #if [ -x /usr/sbin/invoke-rc.d ]; then # invoke-rc.d mysql $1 #else # /etc/init.d/mysql $1 #fi }
ファイルを保存する
pre-removal
スクリプトを編集するsudo nano /var/lib/dpkg/info/mysql-server-5.6.prerm
行を検索する
if [ -x "/etc/init.d/mysql" ] || [ -e "/etc/init/mysql.conf" ]; then invoke-rc.d mysql stop || exit $? fi
置き換えて
if [ -x "/etc/init.d/mysql" ] || [ -e "/etc/init/mysql.conf" ]; then echo #invoke-rc.d mysql stop || exit $? fi
post-removal
スクリプトを編集するsudo nano /var/lib/dpkg/info/mysql-server-5.6.postrm
検索
# New packaging paradigm for my.cnf as of Dec-2014 for sharing mysql # variants in Ubuntu. case "$1" in remove|disappear) /usr/share/mysql-common/configure-symlinks remove mysql "$mysql_cfgdir/mysql.cnf" ;; esac
置き換えて
# New packaging paradigm for my.cnf as of Dec-2014 for sharing mysql # variants in Ubuntu. case "$1" in remove|disappear) # /usr/share/mysql-common/configure-symlinks remove mysql "$mysql_cfgdir/mysql.cnf" ;; esac
ファイルを保存してコマンドを再度実行します
sudo apt-get remove --purge mysql-server-5.6