如何修复损坏的突触更新:“包处于非常糟糕的不一致状态”

如何修复损坏的突触更新:“包处于非常糟糕的不一致状态”

我有一台运行 Ubuntu 8.10 的 Dell Mini9。有一天,我灵光一闪,想看看是否可以安装 LAMP 堆栈。我在安装 MySQL 5.0 时遇到了麻烦。我不记得错误是什么了,但从那时起,所有运行 update-manager、synaptic 或 apt-get 的尝试都失败了,并出现有关 mysql-server-5.0 的错误:“软件包处于非常糟糕的不一致状态”。

apt-get remove mysql-server-5.0也尝试过install,但都没有成功。两者都失败并出现以下相同错误。我该如何修复此问题?

$ sudo apt-get 删除 mysql-server-5.0
正在读取软件包列表...完成
构建依赖关系树       
正在读取状态信息...完成
以下软件包已自动安装并且不再需要:
  dhcdbd libisc32
使用“apt-get autoremove”来删除它们。
下列软件包将被删除:
  mysql-服务器-5.0
升级了 0 个,新安装了 0 个,删除了 1 个,还有 164 个没有升级。
1 未完全安装或删除。
此操作完成后,将释放85.4MB的磁盘空间。
您想继续 [Y/n] 吗?
dpkg:处理 mysql-server-5.0 时出错(--remove):
 包裹处于非常糟糕的不一致状态 - 你应该
 尝试删除之前请重新安装它。
处理时遇到错误:
 mysql-服务器-5.0
E: 子进程 /usr/bin/dpkg 返回错误代码 (1)

答案1

关于 Maverick,其他答案都不适合我。

就我而言,我发现这个有效:

sudo rm /var/lib/dpkg/info/flashplugin-nonfree.prerm

sudo dpkg --remove --force-remove-reinstreq flashplugin-nonfree

(用损坏的软件包的名称替换“flashplugin-nonfree”,用失败的脚本类型替换“prerm” - 在我的情况下它是“postrm”,即删除后脚本。)

他们说 Ubuntu 很容易使用!!咕噜咕噜

答案2

我在安装 mysql 时遇到了完全相同的问题。你需要清除软件包。简单地删除软件包并不会删除其附带的配置文件。

另外,我将参考mysql-服务器-5.0,但要意识到有一个包装包mysql 服务器它总是指向最新版本。例如,如果你要求安装mysql 服务器apt-get应该告诉你这取决于mysql-服务器-5.0并安装两者。如果您有mysql 服务器系统上的包,在尝试重新安装之前,您应该确保它也已经消失了。

  • 确保 mysql 服务器 (mysqld) 没有运行。如果正在运行,请将其关闭:

    sudo /etc/init.d/mysqld 停止

  • 检查是否有任何软件包依赖于 mysql-server-5.0:

    sudo apt-cache 依赖 mysql-server-5.0

    如果需要,您需要使用- 力量卸载选项。

  • 清除包(包括- 力量选项,取决于 #2)

    sudo apt-get --purge remove --force mysql-server-5.0

  • 确保安装程序文件也已通过运行清除

    sudo apt-get 自动清理
    sudo apt-get 自动删除

  • 再次安装服务器包

    sudo apt-get 安装 mysql-server-5.0

这应该可以解决您的问题。但是,包裹可能仍然破损,如果您对来自以下文件所做的任何更改mysql 常用包裹。

mysql 常用是客户端和服务器组件使用的基础包。如果仍然无法正常工作,请尝试重新安装此包。肯定会有依赖此包的包;使用上面的 #2 检查。清除mysql 服务器重新安装之前mysql 常用。另外,不要忘记重新安装mysql 常用,否则你的系统将会严重崩溃。

答案3

您可能想尝试一下aptitude,它可以更好地处理依赖关系:

sudo aptitude remove mysql-server-5.0

答案4

尝试

sudo dpkg -i reconfigure mysql-server-5.0
sudo apt-get remove --force mysql-server-5.0

如果另一个包裹损坏了,apt-get remove --force也尝试一下那个包裹。

相关内容