ist es möglich, das RPM-Paket mit nur einem Befehl aus Liste>> Grep >> Deinstallieren zu deinstallieren?

ist es möglich, das RPM-Paket mit nur einem Befehl aus Liste>> Grep >> Deinstallieren zu deinstallieren?

Ich denke darüber nach, 3 Schritte zum Deinstallieren eines Pakets unter CentOS7 einzuschließen, stecke aber beim Zusammenführen von 3 Befehlen zum Deinstallieren eines Pakets zu nur 1 Befehl fest.

Okay, das ist meine Situation: Ich habe ein Java-Paketjdk-8u151-linux-x64.rpmdas zuvor erfolgreich installiert wurde und das ich deinstallieren möchte.
Natürlich kann ich dieses Java-Paket nicht mit dem folgenden Befehl deinstallieren:

# rpm -e jdk-8u151-linux-x64.rpm

Ich muss also 3 Befehle in 3 Schritten verwenden, wie unten:

  • Schritt 1: Ich muss den Namen des Pakets finden, das ich installiere, indem ich:

    [susu@localhost ~]$ rpm -qip jdk-8u151-linux-x64.rpm
    [susu@localhost ~]$ rpm -qip jdk-8u151-linux-x64.rpm
    Name        : jdk1.8
    
  • Schritt 2: Verwenden Sie diesen Befehl, um das genaue Paket zu finden:

    [susu@localhost ~]$ sudo rpm -qa |grep -i 'jdk1.8'
    [sudo] password for susu: 
    jdk1.8-1.8.0_151-fcs.x86_64
    
  • Schritt 3: Mit rpm -edas Paket löschen:

    rpm -e jdk1.8-1.8.0_151-fcs.x86_64
    

Meine Frage lautet also: Wie kann ich die Befehle aus Schritt 2 und Schritt 3 zu nur einem Befehl zusammenführen?

Antwort1

Fragen Sie nach dem NVR und entfernen Sie diesen.

rpm -e "$(rpm -qp --queryformat '%{name}-%{version}-%{release}' "$1")"

verwandte Informationen