을 사용하여 저장소를 추가했다고 가정해 보겠습니다 zypper ar
. 그런 다음 이 저장소에서 여러 패키지를 설치했지만 이제 모든 패키지를 제거하고 싶습니다.
해당 특정 저장소에서 설치한 모든 패키지를 제거할 수 있는 명령이 있습니까?
답변1
그런 명령은 없는 것 같아요. 특정 저장소의 패키지를 나열할 수 있습니다.
zypper search --installed-only --repo devel:tools
또는 모든 고아 패키지(저장소를 삭제한 경우):
zypper packages --orphaned
cut
그런 다음 출력에서 이름을 압축하여 ( zypper remove
가치가 있는 경우) 에 전달할 수 있습니다 .
답변2
zypper search
awk
, 및 의 조합을 사용하여 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