Debian

如何在 debian 中清除軟體包而不影響其他軟體包?

  • May 22, 2012

我安裝了 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-* 包?

顯然,Percona 和 MySQL 密切相關(肯定是從前者的網頁來看的),所以 APT 認為它應該停止它。這很可能是其中一個包腳本中的一個小錯誤。

您可以嘗試以下兩種方法之一:

  1. 將此報告為錯誤,升級問題包,然後清除 MySQL。
  2. 破解它。我最喜歡的方法:在導致問題的腳本的exit 0第 1 行之後添加。/etc/init.d完成後不要忘記撤消更改!在一般情況下,我不建議這樣做,但如果您確定依賴項的性質並且您知道清除 MySQL 不會破壞 Percona 中的任何內容,那麼它可以工作。

第二個選項是解決這類奇怪的依賴問題的一種可接受的方法,例如,當您升級一台很久沒有升級的實時機器時,結果是舊的和/或有缺陷的包。但我會格外小心。並準備好故障轉移伺服器,如果你有的話。

引用自:https://unix.stackexchange.com/questions/39136