"dnf era *-.rpm 및 rpm -e *.rpm"을 사용하여 모든 rpm 패키지를 지울 수 없습니다.

"dnf era *-.rpm 및 rpm -e *.rpm"을 사용하여 모든 rpm 패키지를 지울 수 없습니다.

나는 rpm -i *.rpm다음 과 같은 패키지를 설치했습니다.dnf install *.rpm

rpm -e *.rpm하지만 dnf -i *.rpm, rpm -i *.rpm을 사용하여 설치한 모든 패키지를 지울 수는 없지만 and 를 사용하여 지우고 싶습니다.dnf remove *.rpm

이 오류가 발생했습니다.

Error: No packages marked for removal.

rpm -i *.rpm하지만 및 를 사용하여 모든 패키지를 다시 설치해 보았습니다 dnf install *.rpm. 그러나 다음과 같은 오류가 발생했습니다.

package somepackage(s).rpm is already installed"

하지만 이 패키지를 다시 지우려고 다시 시도했지만 다시 동일한 오류가 발생했습니다.

Error: No packages marked for removal.

패키지를 하나씩 지우지 않고 어떻게 지울 수 있는지 배우고 싶습니다. *.rpm을 사용하여 이러한 패키지를 즉시 지우고 싶습니다.

패키지 하나만 다시 설치하려고 했으나 완료되었고, 이 패키지를 지우려고 했더니 완료되었습니다.

나는 단지 하나의 명령으로 모든 패키지를 지우고 싶습니다.rpm -i *

Bash 명령의 잘못된 부분을 도와주실 수 있나요? 어쩌면 내가 옳지 않을 수도 있습니다. 이 문제를 해결하도록 도와주실 수 있나요?

제 영어가 서툴러서 죄송합니다.(제 모국어는 영어가 아닙니다.) 시간 내 줘서 고마워.

모두가 오픈소스 소프트웨어를 사용하는 것처럼 우리도 더 나은 세상에 살기를 바랍니다.

답변1

방금 설치한 패키지를 제거하려면 해당 패키지가 필요합니다.이름, 파일 이름이 아닙니다. 일반적으로 (항상 그런 것은 아님) 각각에서 ".rpm" 접미사를 제거하여 이를 얻을 수 있습니다. 예:

#!/bin/bash
LIST=
for name in *.rpm
do
    LIST="$LIST $(basename $name .rpm)"
done
sudo dnf remove $LIST

종속성을 고려하므로 직접 사용하는 것보다 패키지를 제거하는 것이 dnf더 좋습니다 .rpm

답변2

설치하려면 다음을 사용하십시오.파일 이름. 예: "foo-1.2-x86_64.rpm." 제거 (또는 쿼리)를 위해 다음을 사용합니다.패키지 이름예: "foo" 또는 "foo-1.2-x86_64". 즉없이".rpm" 접미사입니다.

관련 정보