他のパッケージに影響を与えずに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と密接に関連しているので(もちろん以前のWebページを介して)、APTはこれをブロックする必要があると思いました。これはパッケージスクリプトの1つの小さなバグである可能性が高いです。

次の 2 つの方法のいずれかを試すことができます。

  1. これをバグとして報告し、問題のあるパッケージをアップグレードし、MySQLをクリーンアップします。
  2. それを壊してください。私の好きな方法は、exit 0問題を引き起こすスクリプトの最初の行の後に追加することです。/etc/init.d完了したら、変更をキャンセルすることを忘れないでください!一般的に私はこの方法をお勧めしませんが、もしあなたが確かに依存関係の性質に関してMySQLをクリアすると、Perconaでは何も中断されないことがわかります。できる働く

2番目のオプションは、この種の奇妙な依存関係の問題を解決するために許可される方法です。たとえば、長い間アップグレードされていないライブシステムをアップグレードし、最終的に古くなったり欠陥のあるパッケージになったりします。しかし、私は特に注意します。フェールオーバーサーバーがある場合は、フェールオーバーサーバーを準備してください。

関連情報