我已经确定要卸载的 rpm 如下:
mysql-5.0.77-4.el5_6.6
我运行以下 rpm 命令来卸载它:
rpm -e mysql-5.0.77-4.el5_6.6
然后我收到一个依赖性错误,基本上说它不能删除这个 rpm,因为它依赖于 rpm exim-4.63-10.el5.x86_64。请参阅以下错误:
libmysqlclient.so.15()(64bit) is needed by (installed) exim-4.63-10.el5.x86_64
libmysqlclient.so.15(libmysqlclient_15)(64bit) is needed by (installed) exim-4.63-10.el5.x86_64
然后我查看了 exim-4.63-10.el5.x86_64 到底是什么,确定它是一个类似于 sendmail 的电子邮件应用程序。所以我尝试卸载它,结果收到一些其他依赖项错误。
有没有办法让 rpm 命令忽略依赖关系,或者我的方法是否错误。任何见解都将不胜感激。
谢谢!
答案1
有什么理由不使用 Yum 吗?
yum erase mysql
将解决依赖关系并显示需要删除的所有内容。
答案2
你可以告诉 RPM 忽略依赖关系,只需使用 --nodeps 标志删除内容即可。在某些情况下,我不得不这样做,但请确保你真正了解哪些内容依赖于这些软件包。
另一个巧妙的技巧是运行rpm -qa|grep <thing you want to uninstall>|xargs rpm -e
,它将删除名称中带有“要卸载的东西”的所有软件包。我发现很多时候如果它们都与同一个安装相关,这有助于减轻依赖关系。
答案3
尝试:
yum remove mysql mysql-server
答案4
如果您确实想删除 rpm 而不检查依赖关系,您可以随时使用 --nodeps 标志,如下所示:
rpm -e mysql-5.0.77-4.el5_6.6 --nodeps