无法使用“dnf erasure *-.rpm and rpm -e *.rpm”删除所有 rpm 包

无法使用“dnf erasure *-.rpm and rpm -e *.rpm”删除所有 rpm 包

rpm -i *.rpm我使用和安装了一些软件包dnf install *.rpm

但是,我无法删除使用 dnf -i *.rpm、rpm -i *.rpm 安装的所有软件包,但我想使用rpm -e *.rpm和删除这些软件包dnf remove *.rpm

它给出了这个错误:

Error: No packages marked for removal.

rpm -i *.rpm但是,我尝试使用和再次安装这些并删除所有软件包dnf install *.rpm。但是,它给出了此错误:

package somepackage(s).rpm is already installed"

但是,我再次尝试删除这些包,但是,它再次出现了同样的错误:

Error: No packages marked for removal.

我想了解如何才能删除这些软件包,而不是逐个删除。我只想使用 *.rpm 立即删除这些软件包。

我尝试再次安装一个包,它完成了,然后我尝试删除这个包,它完成了。

我只想删除所有包,只需一个命令即可rpm -i *

你能帮我看看 bash 中的命令哪里错了吗?也许我说的不对。你能帮我解决这个问题吗?

抱歉我的英语不好。(我的母语不是英语)。感谢您的时间。

我希望我们生活在一个更加美好的世界,就像每个人都在使用开源软件一样。

答案1

要删除刚刚安装的软件包,您需要名称,而不是文件的名称。通常(并非总是)您可以通过从每个文件中去除“.rpm”后缀来获得此信息,例如,

#!/bin/bash
LIST=
for name in *.rpm
do
    LIST="$LIST $(basename $name .rpm)"
done
sudo dnf remove $LIST

与直接使用相比,使用 删除包dnf更可取rpm,因为考虑到了依赖关系。

答案2

对于安装你使用文件名例如“foo-1.2-x86_64.rpm”。要删除(或查询),请使用包裹名字例如“foo”或“foo-1.2-x86_64”。即没有那个“ .rpm”后缀。

相关内容