是否可以僅使用 list>> grep >> uninstall 中的一個命令來卸載 rpm 軟體包?

是否可以僅使用 list>> grep >> uninstall 中的一個命令來卸載 rpm 軟體包?

我正在考慮在 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")"

相關內容