Ubuntu

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

  • December 12, 2009

我正在嘗試安裝 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 安裝時將其刪除。

我該如何解決?

您可以使用 ? 強制刪除 bugzilla 包dpkg --purge

如果你查看 /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 本身

引用自:https://serverfault.com/questions/25311