![如何在 debian 中清除软件包而不影响其他软件包?](https://linux22.com/image/43163/%E5%A6%82%E4%BD%95%E5%9C%A8%20debian%20%E4%B8%AD%E6%B8%85%E9%99%A4%E8%BD%AF%E4%BB%B6%E5%8C%85%E8%80%8C%E4%B8%8D%E5%BD%B1%E5%93%8D%E5%85%B6%E4%BB%96%E8%BD%AF%E4%BB%B6%E5%8C%85%EF%BC%9F.png)
我安装了 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 认为应该阻止它。这很可能是包脚本之一中的一个小错误。
您可以尝试以下两种方法之一:
- 将此报告为错误,升级有问题的包,然后清除 MySQL。
- 破解它。我最喜欢的方法:在导致问题的脚本
exit 0
的第 1 行之后添加。/etc/init.d
完成后不要忘记撤消更改!在一般情况下我不会推荐这样做,但如果你当然关于依赖关系的本质,你知道清除 MySQL 不会破坏 Percona 中的任何内容,它可以工作。
第二种选择是解决这类奇怪的依赖性问题的可接受的方法,例如,当您升级一台已经很长时间没有升级的实时计算机时,结果会出现旧的和/或有缺陷的软件包。但我会格外小心。如果有的话,请准备好一台故障转移服务器。