如何在 debian 中清除软件包而不影响其他软件包?

如何在 debian 中清除软件包而不影响其他软件包?

我安装了 mysql-server-5.1,然后升级到 mysql-server-5.5,现在升级到 percona 服务器(包 percona-server-server-5.5)。所以现在我删除了 2 个 mysql-server 包,但没有清除(处于“rc”状态)。我尝试清除 mysql-server-5.1,在此期间,它停止了 percona 服务器!

dpkg -L mysql-server-5.1
/etc
/etc/mysql
/etc/mysql/conf.d
/etc/init.d
/etc/logrotate.d
/etc/logcheck
/etc/logcheck/ignore.d.server
/etc/logcheck/ignore.d.server/mysql-server-5_1
/etc/logcheck/ignore.d.paranoid
/etc/logcheck/ignore.d.paranoid/mysql-server-5_1
/etc/logcheck/ignore.d.workstation
/etc/logcheck/ignore.d.workstation/mysql-server-5_1

如何在不影响正在运行的系统的情况下摆脱 mysql-server-* 软件包?

答案1

显然,Percona 和 MySQL 密切相关(当然是通过前者的网页),因此 APT 认为应该阻止它。这很可能是包脚本之一中的一个小错误。

您可以尝试以下两种方法之一:

  1. 将此报告为错误,升级有问题的包,然后清除 MySQL。
  2. 破解它。我最喜欢的方法:在导致问题的脚本exit 0的第 1 行之后添加。/etc/init.d完成后不要忘记撤消更改!在一般情况下我不会推荐这样做,但如果你当然关于依赖关系的本质,你知道清除 MySQL 不会破坏 Percona 中的任何内容,它可以工作。

第二种选择是解决这类奇怪的依赖性问题的可接受的方法,例如,当您升级一台已经很长时间没有升级的实时计算机时,结果会出现旧的和/或有缺陷的软件包。但我会格外小心。如果有的话,请准备好一台故障转移服务器。

相关内容