Yum: mencari paket dengan nama biner

16

Apakah ada cara untuk mencari paket menggunakan nama biner.

misalnya saya ingin mencari paket rpm untuk perintah " ls" maka itu harus coreutils-6.9-10.4.i586misalnya.

Deimus
sumber

Jawaban:

20

Perintah yum "whatprovides" menerima wildcard. Jika Anda mencari paket yang menyediakan file tertentu atau dapat dieksekusi dan tidak tahu path lengkapnya, gunakan "yum whatprovides * / filename".

$ yum whatprovides */ls

coreutils-5.97-23.el5_4.2.x86_64 : The GNU core utilities: a set of tools
                                 : commonly used in shell scripts
Repo        : installed
Matched from:
Filename    : /bin/ls
John Simpson
sumber
3
yum provides /bin/ls
repoquery -f /bin/ls

... keduanya akan dtrt. Versi "yum" terbaru juga akan secara otomatis melakukan sejumlah pencarian file jika Anda melakukannya:

yum provides ls
James Antill
sumber
1

Sepertinya, scout bin lsmelakukan itu. Alat ini dapat mengindeks berbagai jenis repo (tidak hanya rpm, tetapi java, dll) dan mencari tahu apa yang perlu Anda instal untuk mendapatkan biner / command / javaclass / fitur yang diperlukan. Ini terintegrasi dengan suse.

Anda dapat membaca lebih lanjut tentang pramuka di sini .

Deimus
sumber
Ini solusinya. Jangan lupa: kami mencari tidak belum diinstal binari! Jadi, setiap jawaban lainnya mendapat downvote.
peterh
-1

Perintah 'rpm -qf' akan memberi tahu Anda paket mana yang memiliki file yang diinstal.

> whereis ls
ls: /bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.g

> rpm -qf /bin/ls
coreutils-5.97-23.el5_6.4
angsa
sumber
1
misalkan saya tidak menginstal paket ... bagaimana saya bisa mendapatkan nama paket hanya mengetahui nama biner?