zypper를 사용하여 특정 저장소에서 설치된 모든 패키지를 제거하려면 어떻게해야합니까?


10

를 사용하여 저장소를 추가했다고 가정 해보십시오 zypper ar. 그런 다음 해당 저장소에서 여러 패키지를 이동하여 설치했지만 이제는 모든 패키지를 제거하려고합니다.

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

답변:


7

나는 그런 명령이 없다고 생각합니다. 특정 저장소에서 패키지를 나열 할 수 있습니다.

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

또는 해당 저장소를 이미 제거한 경우 모든 고아 패키지 :

zypper packages --orphaned

그런 다음 cut출력에서 이름 을 패키지 zypper remove하여 노력할 가치가있는 경우 전달할 수 있습니다.


내 openSuSE 12.3 시스템에는 --orphaned옵션이 없지만 작동 할 수 있습니다 : zypper packages -i -R: 설치된 패키지를 저장소의 역순으로 나열합니다.
Jeroen Wiert Pluimers

2
--orphanedzypper 1.9.2에 추가되었습니다 ( github.com/openSUSE/zypper/issues/34 )
marcin

1

당신의 조합을 사용할 수 있습니다 zypper search, awk그리고 xargs저장소에서 모든 패키지를 제거합니다. 예를 들면 다음과 같습니다.

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

awk '/^i(\+|\s)/ {print $3}'설치된 모든 패키지 (i 또는 i +)와 일치
Mesco

@Mesco zypper 자체는 사용할 때 설치된 패키지 만 인쇄해야합니다 --installed.
sebix

바로 사용 -i또는 --installed-only. 또한 처음 몇 행 ( Loading repository data...) 을 건너 뛰기 시작하면서 i와 i +를 검색했습니다 . 어쩌면 처음 5 행을 건너 뛰는 더 좋은 방법이 있지만 이미 정규 표현식을 사용하는 경우 ...;)
Mesco

어쩌면 나는 다른 zypper 버전 (1.14.4)을 사용하고 있지만 그 사람은 주문이 se [options] [query]솔루션이 작동하지 않도록 해야한다고 말합니다 .
Mesco

아, 이제 나는 당신의 관심사를 이해합니다. 나는 대답을 업데이트했다. 검색 구문 정보 : 옵션 만 사용하고 쿼리는 사용하지 않으므로 순서가 정확하다고 생각합니다.
sebix
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.