RPM install/uninstall 死锁

RPM install/uninstall deadlock

我遇到了一个问题:无法安装包 "TD-agent"。原因有死锁:

如果您尝试安装 (sudo rpm -ivh /my/pass/td-agent-3.2.1-0.el7.x86_64.rpm) - 您遇到错误:

Preparing...                          ################################# [100%]
        package td-agent-3.2.1-0.el7.x86_64 is already installed

如果您尝试卸载它 (rpm -e td-agent) - 出现另一个错误:

Stopping td-agent ...
error reading information on service td-agent: No such file or directory
error: %preun(td-agent-3.2.1-0.el7.x86_64) scriptlet failed, exit status 1
error: td-agent-3.2.1-0.el7.x86_64: erase failed

所以,我什么也做不了:不安装,不卸载...

请回答:如何手动卸载它? RPM 使用什么 DIR 来安装软件包?

  1. 您可以强制 rpm 使用相同的编号重新安装软件包:rpm -ivh /my/pass/td-agent-3.2.1-0.el7.x86_64.rpm --replacepkgs
  2. 您可以通过告诉 rpm 不要 运行 脚本来强制卸载:rpm -e td-agent --noscripts

也可以通过命令强制安装

rpm -Fvh /my/pass/td-agent-3.2.1-0.el7.x86_64.rpm