bugzilla3、mysql-server-5.1、mysql-server-5.0 和 ubuntu

bugzilla3、mysql-server-5.1、mysql-server-5.0 和 ubuntu

我正在尝试安装 bugzilla3。我之前安装了 mysql-server-5.1,但出现以下错误:

Aborting downgrade from (at least) 5.1 to 5.0.
dpkg: error processing /var/cache/apt/archives/mysql-server-5.0_5.1.30really5.0.75-0ubuntu10.2_i386.deb (--unpack):
subprocess pre-installation script returned error exit status 1
Errors were encountered while processing:
/var/cache/apt/archives/mysql-server-5.0_5.1.30really5.0.75-0ubuntu10.2_i386.deb

E: Sub-process /usr/bin/dpkg returned an error code (1)

我进入 ubuntu irc 频道并寻求帮助,他们告诉我将 mysql 降级到 5.0,然后安装 bugzilla。

所以我去做了这件事。然而当我

sudo apt-get remove mysql-server-5.1

Bugzilla 安装配置开始,直到它再次停止抱怨 5.1 -> 5.0 降级。

于是我又去 IRC 上问了一次,他们告诉我

sudo apt-get clean
sudo apt-get update

我做到了。

但是它仍然会发生,所以我删除了 bugzilla3 包,然后尝试删除 mysql。显然它不在那里。(我检查了 mysql-server、mysql-server-5.1 和 mysql-server-5.0)。

所以我再次安装 bugzilla3,结果和上次一样,提示 mysql-server-5.1 -> 5.0 降级。现在 apt-get 报告它在那里,但它不会在启动 bugzilla 安装时将其删除。

我该如何解决?

答案1

dpkg --purge您可以使用?强制删除 bugzilla 包

答案2

如果你查看 /var/lib/dpkg/info/mysql-server-5.0.preinst,你会看到:

show_downgrade_warning=0
for i in `ls $DATADIR/debian-*.flag 2>/dev/null`; do
  found_version=`echo $i | sed 's/.*debian-\([0-9\.]\+\).flag/\1/'`
  if dpkg --compare-versions "$this_version" '<<' "$found_version"; then
    show_downgrade_warning=1
    break;
  fi
done

因此,如果您删除 /var/lib/mysql/debian-*.flag,它就会通过。

mysql 文档如何安全地降级 mysql

答案3

只需这样做:

sudo apt-get 删除 mysql-server-5.1

sudo apt-get clean

mv /var/lib/mysql /var/lib/mysqlbak

sudo apt-get 更新

sudo apt-get 安装 mysql 服务器

mv /var/lib/mysql /var/lib/mysqlbak2

mv /var/lib/mysqlbak /var/lib/mysql

sudo /etc/init.d/mysql 重启

我知道它既不干净也不完美,但至少对我来说它是有用的。

相关内容