Zypper kullanarak, belirli bir havuzdan yüklenen tüm paketleri nasıl kaldırabilirim?


10

Diyelim ki kullanarak bir depo ekledim zypper ar. Sonra, o depodan birden fazla paket çıktım ve kurdum, ama şimdi hepsini kaldırmak istiyorum.

Sadece bu depodan yüklediğim tüm paketleri kaldırmamı sağlayan bir komut var mı?

Yanıtlar:


7

Bence böyle bir emir yok. Belirli bir depodaki paketleri listeleyebilirsiniz:

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

veya bu havuzu daha önce kaldırdıysanız artık öksüz kalan tüm paketler:

zypper packages --orphaned

Daha sonra cutçıktıdan isimleri paketlemeye zypper removeve çabaya değiyorsa iletmeyi deneyebilirsiniz .


OpenSuSE 12.3 sistemimde --orphanedseçenek yok, ancak bu işe yarayabilir:: zypper packages -i -Ryüklü paketi depoyu ters sırada listeler.
Jeroen Wiert Pluimers

2
--orphanedzypper 1.9.2 (eklenmiştir github.com/openSUSE/zypper/issues/34 )
marcin

1

Sen bir arada kullanabilir zypper search, awkve xargsbir depodan tüm paketlerini kaldırmak. Örneğin:

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

awk '/^i(\+|\s)/ {print $3}'kurulu tüm paketleri eşleştirmek için (i veya i +)
Mesco

@Mesco zypper'ın kendisi yalnızca kurulu paketleri kullanırken kullanmalıdır --installed.
sebix

-iveya kullanarak --installed-only. Ama aynı zamanda ilk birkaç satırı ( Loading repository data...) atlamak için i ve i + 'yı aradım . Belki ilk 5 satırı atlamak için daha iyi yöntemler vardır, ancak zaten regex kullanıyorsanız ...;)
Mesco

belki farklı zypper sürümü (1.14.4) kullanıyorum ama adam siparişin olması gerektiğini söylüyor, se [options] [query]böylece çözümünüz işe yaramadı.
Mesco

Ah, şimdi endişeni anlıyorum. Cevabı güncelledim. Arama-sözdizimi hakkında: Ben sadece seçenekleri kullanın ve hiçbir sorgu, bu yüzden sipariş doğru bence.
sebix
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.