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 -e
das 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")"