由于错误地卸载MariaDB,我在Ubuntu 16.04系统中丢失了MySQL和MariaDB的工作实例...
我已经破坏了依赖项,以至于我无法使用apt-get
或dpkg
卸载或安装MySQL或MariaDB......
以下所有命令都失败:
apt-get [install -f] [update] [remove] [purge] [autorove] [clean] [check]
以及带有dpkg
的选项,例如:
dpkg --remove --force-remove-reinstreq mysql
也不帮我。
手动下载软件包并尝试从本地文件安装没有帮助。
对于每次安装、卸载或其他尝试,我都会得到几乎相同的结果:
Reading package lists... Done
Building dependency tree
Reading state information... Done
You might want to run 'apt-get -f install' to correct these.
The following packages have unmet dependencies:
mariadb-client : Depends: mariadb-client-10.0 (>= 10.0.34-0ubuntu0.16.04.1) but it is not installed
mariadb-server-10.0 : PreDepends: mariadb-common (>= 10.0.34-0ubuntu0.16.04.1) but it is not installed
Depends: mariadb-client-10.0 (>= 10.0.34-0ubuntu0.16.04.1) but it is not installed
Breaks: mysql-server
mariadb-server-core-10.0 : Depends: mariadb-common (>= 10.0.34-0ubuntu0.16.04.1) but it is not installed
mysql-server : Depends: mysql-community-server (= 5.7.22-1ubuntu16.04) but it is not installed
E: Unmet dependencies. Try using -f.
有没有不同的方法可以从操作系统中永久删除MySQL和MariaDB的任何痕迹和残留物,以便我可以重新安装MySQL本身?
我需要使用MySQL,但我无法重新安装操作系统。
请帮助我。
上帝存在! :D
通过输入以下内容解决了该问题:
sudo apt-get -f install
没有任何其他参数
然后通过以下方式显示所有包:
sudo dpkg -l | grep mariadb
sudo dpkg -l | grep mysql
并按正确的顺序删除有问题的软件包:
sudo apt-get --purge autoremove package_name
完全删除所有有问题的软件包后,我可以毫无问题地重新安装MySQL......
谢谢@YuriLachin的帮助。
最好向serverfault.com 提出这个问题。
跑:
dpkg --audit
以查找损坏的内容。
然后运行:
dpkg --list|grep -i mysql
和
dpkg --list|grep -i mariadb
查看第一列(状态(,并根据需要检查某些包的详细状态:
dpkg-info -s <name-of-package>
然后你可以尝试删除找到的mysql/mariadb相关包
dpkg -remove --force-remove-reinstreq <package-list>
作为一种解决方法,您始终可以在 docker 容器中运行 mysq,而无需安装 mysql