如何使用 apt-get 仅删除一个特定的包?

如何使用 apt-get 仅删除一个特定的包?

我刚刚安装了 MySQL-server 及其所有依赖项,以及其他必需品。但是当它配置 mysql-server 时,它失败了,并弹出一个错误。哪个错误与此无关,因为我设法将问题定位为 mysql-server 和 mysql-common 之间的依赖关系问题。需要删除 Mysql-common。

但当我去

apt-get purge remove mysql-common 

它还会自动删除与其相关的所有内容,包括所有 mysql 依赖项,甚至 apache2 和 php5..

那么需要在 apt-get 命令中添加什么参数才能仅卸载一个包,而保留所有其他包。

答案1

apt-get不会让您这样做,因为对于包管理系统来说,这是一个潜在危险的步骤。

只要您意识到可能会有后果,就可以dpkg选择--remove去做。例如:

sudo dpkg --remove mysql-common

笔记:在我的 12.04 系统上apache2, php5, mysql-server单独安装,使用apt-get删除mysql-common不想删除阿帕奇2或者php5

来自失眠的评论:如果您需要覆盖依赖系统的决定,您可以(非常小心并确保您知道自己在做什么)使用额外的--force-depends

sudo dpkg --remove --force-depends mysql-common

答案2

如果有人想知道 2014 debian 命令:

dpkg --force-all -r name_of_package

有点改变了

有很多 --force- 参数,因此为了依赖性,最好通过以下方式检查它们:

dpkg --force-help

相关内容