Я определил следующие обороты, которые нужно удалить:
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 игнорировать зависимость, или я подхожу к этому неверно. Приветствуется любое понимание.
Спасибо!
Вы можете указать RPM игнорировать зависимости и просто удалять файлы с помощью флага --nodeps. Мне приходилось делать это в некоторых случаях, но убедитесь, что вы действительно понимаете, что зависит от этих пакетов.
Еще один изящный трюк - запустить rpm -qa|grep <thing you want to uninstall>|xargs rpm -e
, который удалит все пакеты, в названии которых есть «вещь, которую вы хотите удалить». Я много раз обнаружил, что это помогает уменьшить зависимости, если все они связаны с одной и той же установкой.
Есть ли причина не использовать Yum?
yum erase mysql
разрешит зависимости и покажет вам все, что нужно удалить.
Попробуйте:
yum remove mysql mysql-server
Если вы действительно хотите удалить rpm без проверки зависимостей, вы всегда можете использовать флаг --nodeps следующим образом:
rpm -e mysql-5.0.77-4.el5_6.6 --nodeps