zypper를 사용하여 특정 저장소에서 설치된 모든 패키지를 제거하는 방법은 무엇입니까?

zypper를 사용하여 특정 저장소에서 설치된 모든 패키지를 제거하는 방법은 무엇입니까?

을 사용하여 저장소를 추가했다고 가정해 보겠습니다 zypper ar. 그런 다음 이 저장소에서 여러 패키지를 설치했지만 이제 모든 패키지를 제거하고 싶습니다.

해당 특정 저장소에서 설치한 모든 패키지를 제거할 수 있는 명령이 있습니까?

답변1

그런 명령은 없는 것 같아요. 특정 저장소의 패키지를 나열할 수 있습니다.

zypper search --installed-only --repo devel:tools

또는 모든 고아 패키지(저장소를 삭제한 경우):

zypper packages --orphaned

cut그런 다음 출력에서 ​​이름을 압축하여 ( zypper remove가치가 있는 경우) 에 전달할 수 있습니다 .

답변2

zypper searchawk, 및 의 조합을 사용하여 xargs저장소에서 모든 패키지를 제거할 수 있습니다. 예를 들어:

zypper se --repo openSUSE-Tumbleweed-Debug --installed | awk '/^i(\+|\s)/ {print $3}' | xargs sudo zypper rm

답변3

이 라인은 나에게 잘 맞는다

zypper search --installed-only --repo yourbadrepo|awk {'print $3'}|xargs sudo zypper rm 

위험을 감수하거나 스크립트에서 사용하려면 -n 옵션을 사용하여 확인을 피하세요(deps가 중단될 수 있음).

  zypper search --installed-only --repo yourbadrepo|awk {'print $3'}|xargs sudo zypper -n rm 

관련 정보