![无法使用“dnf erasure *-.rpm and rpm -e *.rpm”删除所有 rpm 包](https://linux22.com/image/1469779/%E6%97%A0%E6%B3%95%E4%BD%BF%E7%94%A8%E2%80%9Cdnf%20erasure%20*-.rpm%20and%20rpm%20-e%20*.rpm%E2%80%9D%E5%88%A0%E9%99%A4%E6%89%80%E6%9C%89%20rpm%20%E5%8C%85.png)
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”后缀。