Bagaimana cara menemukan paket yang menyediakan file yang diberikan di OpenSuSE?

11

Saya sedang memikirkan beberapa seperti Contents-<arch>.gzdi Debian. Layanan jaringan juga baik-baik saja. Apakah itu ada

Elaborasi sederhana: Sebagai contoh, kita membutuhkan nama biner exampletool, yang kita tahu sangat baik dari distribusi atau sistem operasi lain. Kami ingin menginstalnya, misalnya, dengan zypper. Tetapi zypper hanya dapat menginstal paket. Untuk mengetahuinya, di paket mana kita dapat menemukan exampletoolbiner yang diperlukan , kita perlu melakukan pencarian praktis, dan idealnya pencarian cepat, diindeks dalam daftar file yang saat ini tidak diinstal, tetapi dalam repositori paket yang tersedia . Pada debian, ada file indeks di repositori paket bernama Contents-amd64.gz, di mana kita dapat menemukan paket yang diperlukan dengan satu zgrepperintah. Saya mencari beberapa solusi perintah tunggal yang serupa untuk OpenSUSE juga. Jika tidak ada, layanan web juga oke untuk fungsi yang sama.

peterh - Pasang kembali Monica
sumber

Jawaban:

7

Untuk mencari dari semua paket yang tersedia untuk menemukan file tertentu, Anda dapat menggunakan opsi wpatau se --provides --match-exactsebagai contoh:

zypper se --provides --match-exact hg

Anda akan melihat output serupa dengan yang berikut:

Loading repository data...
Reading installed packages...

S | Name      | Summary                  | Type   
--+-----------+--------------------------+--------
  | mercurial | Scalable Distributed SCM | package

Dari titik itu Anda dapat menginstal paket melalui instalasi zypper standar

zypper in mercurial

Perlu dicatat bahwa zypper wpsudah usang dan mungkin tidak lagi tersedia.

SailorCire
sumber
Ini tidak selalu dapat diandalkan. Saya tidak tahu mengapa tetapi nama file seperti zypper search --provides [--match-exact] getenforcetidak mengembalikan hasil, sementara zypper search --provides nslookuptidak.
Lester
6

Bagi para googler masa depan: di samping solusi hebat @SailorCire :-), ada juga sebuah alat bernama scout, yang dapat mencari hampir semuanya, kita dapat menemukan rpm-s untuk biner sama seperti kita dapat menemukan guci untuk kelas java yang diberikan.

Sebagai contoh, kita dapat menggunakan binperintah scout untuk mencari tahu paket apa yang hgdapat dieksekusi:

scout bin hg

Hasil pencarian ini adalah mercurialpaket:

 repository      | package   | path     | binary
-----------------+-----------+----------+--------
 zypp (repo-oss) | mercurial | /usr/bin | hg    
peterh - Pasang kembali Monica
sumber
Bisakah Anda sedikit lebih spesifik tentang scoutalat ini? Bisakah Anda memberikan kode 'nama lengkap atau URL-nya'?
SebMa
@SebMa Itu bisa diunduh dari rpm, mungkin oleh zypper. Mungkin saja, itu dalam repo non-standar. Saya tidak dapat mengingat dengan baik :-( Saya tidak lagi menggunakan SuSE. Tetapi sangat mungkin saya akan melakukannya, maka saya akan memeriksanya dan menjelaskan apa yang saya temukan. Mungkin saja, bahwa SuSE telah banyak berubah. sejak saat itu.
peterh
Pada perangkat Jolla1 saya (SailFishOS), zypper wp scoutmengatakanNo matching items found.
SebMa
@SebMa Googling untuk "scout tool rpm" Saya menemukan tautan ini di tempat, pada saat ini saya tidak dapat membantu lagi. Mungkin Anda perlu menginstalnya dari beberapa repositori non-standar.
peterh
Pada tautan yang Anda berikan, dikatakan: "Scout adalah antarmuka untuk catatan Tomboy atau Gnote yang menggunakan DBus untuk berkomunikasi." Saya tidak yakin itu alat yang kami cari.
SebMa
1

Saya menggunakan Gecko Linux XFCE. Saya membuka Yast2 dan menginstal gnome-search-tool dan gnome-shell-search-provider-nautilus . Ini berfungsi dengan baik, sama seperti Lele.

Ross Vassilev
sumber