디렉토리의 모든 RPM을 제거하는 방법은 무엇입니까?

디렉토리의 모든 RPM을 제거하는 방법은 무엇입니까?

최근 설치의 RPM 파일로 가득 찬 디렉토리가 있습니다(설치하기 전에 yum install --downloadonly를 실행하여 얻음).

"새로" 설치에 가까워지기 위한 테스트 목적으로 이러한 RPM을 모두 제거하는 방법이 궁금합니다.

디렉토리에 나열된 모든 RPM을 한 번에 제거하는 쉬운 방법이 있습니까?

나는 이것을 시도했습니다 :

find . *.rpm | sed "s/.rpm$//g" | xargs sudo yum remove

하지만 목록의 모든 rpm에 대해 "매개변수 불일치./" 메시지가 표시되므로 명령에 문제가 있습니다.

답변1

일방 통행:

rpms=( *.rpm )
sudo yum remove "${rpms[*]%.rpm}"

답변2

대량 제거를 수행하는 또 다른 방법은 다음과 같습니다.

for i in *.rpm
do 
    sudo yum remove $(basename "$i" | sed "s/.rpm$//g")
done

basename이전 경로 값을 모두 제거하고 파일 이름만 남긴 후 .rpm끝부터 제거됩니다.

노트:

-y뒤에 추가하면 sudo yum remove각 파일을 제거하라는 메시지가 표시될 때 "y"를 수동으로 입력할 필요가 없습니다.

관련 정보