赞
踩
dpkg: 处理软件包 mysql-server-5.7 (--configure)时出错:子进程 已安装 post-installation 脚本 返回错误状态 1
的问题,
正在设置 mysql-server-5.7 (5.7.17-0ubuntu0.16.04.1) ...
dpkg: 处理软件包 mysql-server-5.7 (--configure)时出错:
子进程 已安装 post-installation 脚本 返回错误状态 1
dpkg: 依赖关系问题使得 mysql-server 的配置工作不能继续:
mysql-server 依赖于 mysql-server-5.7;然而:
软件包 mysql-server-5.7 尚未配置。
然后想到卸载重装MYSQL,但还是同样的问题,然后折腾来折腾去,感觉网上能看到的方法都试过了,最终终于解决了,特记录一下。
系统提示是运行dpkg --configure -a
,我运行后还是同样的问题,在类似的博客评论下,看到有人说该条命令不建议运行,我运行倒是挺快的,也没出啥意外。
或者是将dpkg中的安装包重新下载一遍,过程如下:
sudo mv /var/lib/dpkg/info /var/lib/dpkg/info_bak
sudo mkdir /var/lib/dpkg/info/
sudo apt update
sudo apt install -f
sudo mv /var/lib/dpkg/info/* /var/lib/dpkg/info_bak
sudo rm -rf /var/lib/dpkg/info
sudo mv /var/lib/dpkg/info_bak /var/lib/dpkg/info
然后重新安装mysql-server,但是我的没奏效,甚至重新安装了dpkg也还是这个问题,如果小伙伴们也没解决的话,请往下看。
另一种说法就是原来的MYSQL没有卸载干净,需要完完全全卸载掉,再重装,过程如下:
sudo rm -rf /var/lib/mysql/ -R
sudo rm -rf /etc/mysql/ -R
sudo apt autoremove mysql* --purge
sudo apt-get update
有人说还需要运行以下命令,
dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P
sudo apt remove apparmor
上边第一条,会删掉挺多东西的,不建议运行,第二条说是卸载apparmor,不过apparmor是用来权限管理的,经查询也跟我的问题无关,想对apparmor进一步了解的,可以跳转Ubuntu AppArmor Helper,可通过dpkg --list | grep mysql
来查看是否卸载完全,若无输出则已卸载干净,而后重新安装mysql,悲催的是,我还是遇到了同样的问题,于是继续折腾,来到方法三。
方法二中,理论上来讲,已经把原有的MYSQL全部清理干净了,但是在我广泛撒网时,发现一条需要kill mysql相关进程的,于是ps -ef | grep mysql
,还真有,全部kill掉,而后重装,它就成了!!因为我是纯净卸载之后重装的,小伙伴们也可kill进程后,再走一遍方法二,不知道有没有啥影响。
最后附上两篇Ubuntu社区的文章,希望有所帮助。
SOLVED:Couldn’t install mysql-server
How to Fix sub-process /usr/bin/dpkg returned an error code (1) in Ubuntu
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。