Dengan menggunakan zypper, bagaimana saya bisa menghapus semua paket yang diinstal dari repositori tertentu?

10

Katakanlah saya telah menambahkan repositori menggunakan zypper ar. Lalu, saya telah pergi dan menginstal beberapa paket dari repositori itu, tetapi sekarang saya ingin menghapus semuanya.

Apakah ada perintah yang memungkinkan saya untuk menghapus semua paket yang saya instal hanya dari repositori tertentu?

Trent Bing
sumber

Jawaban:

7

Saya pikir tidak ada perintah seperti itu. Anda dapat mendaftar paket dari repositori tertentu:

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

atau semua paket yatim jika Anda sudah menghapus repositori itu:

zypper packages --orphaned

Kemudian Anda bisa mencoba cutmengemas nama dari output dan meneruskannya zypper removejika itu sepadan dengan usaha.

marcin
sumber
Sistem openSuSE 12.3 saya tidak memiliki --orphanedopsi, tetapi ini mungkin berhasil zypper packages -i -R:: ia mencantumkan paket yang diinstal dalam urutan Reverse repositori.
Jeroen Wiert Pluimers
2
--orphanedtelah ditambahkan di zypper 1.9.2 ( github.com/openSUSE/zypper/issues/34 )
marcin
1

Anda dapat menggunakan kombinasi dari zypper search, awkdan xargsuntuk menghapus semua paket dari repositori. Sebagai contoh:

zypper se --repo openSUSE-Tumbleweed-Debug --installed | awk '/^i(\+|\s)/ {print $3}' | xargs sudo zypper rm
sebix
sumber
awk '/^i(\+|\s)/ {print $3}'untuk mencocokkan semua paket yang diinstal (i atau i +)
Mesco
@Mesco zypper sendiri seharusnya hanya mencetak paket yang diinstal saat menggunakan --installed.
Sebix
benar, menggunakan -iatau --installed-only. Tetapi saya juga sudah mencari i dan i + di awal untuk melewati beberapa baris pertama ( Loading repository data...). Mungkin ada metode yang lebih baik, untuk melewati 5 baris pertama tetapi jika Anda sudah menggunakan regex ...;)
Mesco
mungkin saya menggunakan versi zypper yang berbeda (1.14.4) tetapi orangnya mengatakan bahwa urutannya seharusnya se [options] [query]jadi solusi Anda tidak berfungsi.
Mesco
Ah, sekarang aku mengerti kekhawatiranmu. Saya memperbarui jawabannya. Tentang pencarian-sintaks: Saya hanya menggunakan opsi dan tidak ada permintaan, jadi urutannya benar saya pikir.
Sebix