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

spo*_*son 15 aptitude ubuntu

我有一台运行 Ubuntu 8.10 的戴尔 Mini9。有一天,我有一个好主意,看看我是否可以安装一个 LAMP 堆栈。我在安装 MySQL 5.0 时遇到了问题。我不记得这个错误,但自从所有尝试运行 update-manager、synaptic 或 apt-get 都失败并出现关于 mysql-server-5.0 的错误:“包处于非常糟糕的不一致状态”。

我也试过apt-get remove mysql-server-5.0install但没有运气。两者都失败并出现以下相同的错误。我怎样才能解决这个问题?

$ sudo apt-get 删除 mysql-server-5.0
阅读包裹清单...完成
构建依赖树       
读取状态信息...完成
以下软件包已自动安装,不再需要:
  dhcdbd libisc32
使用 'apt-get autoremove' 删除它们。
以下软件包将被删除:
  mysql-server-5.0
0 升级,0 新安装,1 删除,164 未升级。
1 未完全安装或拆除。
执行此操作后,将释放 85.4MB 磁盘空间。
你想继续[是/否]吗? 
dpkg: 错误处理 mysql-server-5.0 (--remove):
 包处于非常糟糕的不一致状态 - 你应该
 在尝试删除之前重新安装它。
处理时遇到错误:
 mysql-server-5.0
E:子进程/usr/bin/dpkg返回错误码(1)

Rob*_*een 20

在 Maverick 上,其他答案都不适合我。

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

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

sudo dpkg --remove --force-remove-reinstreq flashplugin-nonfree
Run Code Online (Sandbox Code Playgroud)

(用损坏的包的名称替换“flashplugin-nonfree”,用失败的脚本类型替换“prerm”——在我的例子中它是“postrm”,即删除后的脚本。)

他们说 Ubuntu 很容易使用!!抱怨 抱怨


小智 6

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

另外,我将参考mysql-server-5.0,但意识到有一个包装包mysql-server总是指向最新版本。即如果你要求安装mysql-serverapt-get应该告诉你它依赖于mysql-server-5.0并安装两者。如果系统上有mysql-server软件包,则在尝试重新安装之前,应确保它也已消失。

  • 确保 mysql 服务器 (mysqld) 没有运行。如果是,把它放下:

    须藤 /etc/init.d/mysqld 停止

  • 检查是否有依赖于 mysql-server-5.0 的包:

    须藤 apt-cache rdepends mysql-server-5.0

    如果他们这样做,您将需要使用--force选项来卸载。

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

    须藤 apt-get --purge 删除 --force mysql-server-5.0

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

    须藤 apt-get autoclean
    须藤 apt-get autoremove

  • 再次安装服务器包

    须藤 apt-get 安装 mysql-server-5.0

这应该有望解决您的问题。但是,如果您对来自mysql-common包的文件进行了任何更改,该包可能仍会损坏。

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


Joh*_*ley 0

尝试

sudo dpkg -i reconfigure mysql-server-5.0
sudo apt-get remove --force mysql-server-5.0
Run Code Online (Sandbox Code Playgroud)

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