Estou pensando em incluir 3 etapas para desinstalar um pacote no CentOS7, mas travei no comando merge 3 de desinstalar um pacote para apenas 1 comando.
Ok, esta é a minha situação: eu tenho o pacote javajdk-8u151-linux-x64.rpmque foi instalado com sucesso antes e quero desinstalá-lo.
Claro, não consigo desinstalar este pacote java usando o comando:
# rpm -e jdk-8u151-linux-x64.rpm
Então eu tenho que usar 3 comandos em 3 etapas como abaixo:
Etapa 1: preciso encontrar o nome do pacote que instalo:
[susu@localhost ~]$ rpm -qip jdk-8u151-linux-x64.rpm [susu@localhost ~]$ rpm -qip jdk-8u151-linux-x64.rpm Name : jdk1.8
Etapa 2: usar este comando para encontrar exatamente o pacote é:
[susu@localhost ~]$ sudo rpm -qa |grep -i 'jdk1.8' [sudo] password for susu: jdk1.8-1.8.0_151-fcs.x86_64
Etapa 3: usando
rpm -e
para apagar o pacote:rpm -e jdk1.8-1.8.0_151-fcs.x86_64
Então, minha pergunta é: como posso mesclar o comando da Etapa 2 e da Etapa 3 em apenas um comando?
Responder1
Consulte o NVR e remova-o.
rpm -e "$(rpm -qp --queryformat '%{name}-%{version}-%{release}' "$1")"