如何卸载一个目录下的所有RPM?

如何卸载一个目录下的所有RPM?

我有一个最近安装的充满 RPM 文件的目录(通过在安装之前运行 yum install --downloadonly 获得)。

我想知道出于测试原因删除所有这些 RPM 以接近“全新”安装。

有没有一种简单的方法可以一次性卸载目录中列出的所有 RPM?

我试过这个:

find . *.rpm | sed "s/.rpm$//g" | xargs sudo yum remove

但我收到列表中每个 rpm 的消息“参数不匹配。/”,因此该命令有问题。

答案1

单程:

rpms=( *.rpm )
sudo yum remove "${rpms[*]%.rpm}"

答案2

完成此质量去除的另一种方法:

for i in *.rpm
do 
    sudo yum remove $(basename "$i" | sed "s/.rpm$//g")
done

basename将删除所有前面的路径值,仅保留文件名,然后.rpm从末尾删除。

笔记:

-y在之后添加sudo yum remove将消除在提示卸载每个文件时手动输入“y”的需要。

相关内容