我正在考虑在 CentOS7 上包含 3 个步骤来卸载软件包,但卡在将卸载软件包的合并 3 个命令合并到仅 1 个命令中。
好的,这是我的情况:我有 java 包jdk-8u151-linux-x64.rpm之前安装成功,现在想卸载。
当然,我无法使用命令卸载这个java包:
# rpm -e jdk-8u151-linux-x64.rpm
所以我必须分 3 个步骤使用 3 个命令,如下所示:
第 1 步:我必须通过以下方式找到我安装的软件包的名称:
[susu@localhost ~]$ rpm -qip jdk-8u151-linux-x64.rpm [susu@localhost ~]$ rpm -qip jdk-8u151-linux-x64.rpm Name : jdk1.8
步骤2:使用此命令查找确切的包是:
[susu@localhost ~]$ sudo rpm -qa |grep -i 'jdk1.8' [sudo] password for susu: jdk1.8-1.8.0_151-fcs.x86_64
第三步:使用
rpm -e
擦除包:rpm -e jdk1.8-1.8.0_151-fcs.x86_64
所以我的问题是:如何将步骤 2 和步骤 3 中的命令合并为一个命令?
答案1
查询 NVR 并将其删除。
rpm -e "$(rpm -qp --queryformat '%{name}-%{version}-%{release}' "$1")"