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
    
  • 3단계: 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")"

관련 정보