Bagaimana menemukan paket mana yang dimiliki oleh perintah tertentu pada CentOS?


19

Sebagai contoh saya dapat dengan mudah menemukan perintah loc milik paket mlocate.i386.

yum search locate
mlocate.i386 : An utility for finding files by name
[mirror@home /]$ rpm -qa | grep locate
mlocate-0.15-1.el5.1

yum search updatedb
Loaded plugins: fastestmirror, protectbase
0 packages excluded due to repository protections
=========================================== Matched: updatedb ===========================================
mlocate.i386 : An utility for finding files by name

Tetapi tidak mudah untuk menemukan perintah bebas paket mana yang menjadi milik:

yum search free   // this command just returns too much informationy 
rpm -qa | grep free
freetype-2.2.1-31.el5_8.1   // obviously not the package by which free command is installed

Jadi, apakah ada cara meyakinkan untuk mengetahui paket mana yang dimiliki oleh perintah tertentu di Linux? Misalnya CentOS atau distribusi lainnya

Jawaban:



24

Contoh Ubuntu / Debian untuk memeriksa paket freeperintah:

dpkg -S $(which free)

ini hanya berfungsi untuk paket yang diinstal. saya menemukan sesuatu di sini yang berfungsi untuk paket yang tidak diinstal$ dpkg -S */free$*
bobrobbob

@obobbob Saya khawatir itu tidak benar. Saya diuji dengan dpkg -S */firefox$*yang memberikan beberapa hasil pada server yang telah menginstal Firefox, tidak ada pada server tanpa Firefox. Saya pikir itu tidak bisa berfungsi karena dpkgada perintah yang beroperasi pada paket yang diinstal secara lokal. Untuk menemukan paket yang tidak terinstal, Anda dapat pergi ke packages.ubuntu.com/...
Jeroen Vermeulen - MageHost

Astaga. Anda benar, maaf untuk itu
bobrobbob

1
Jika Anda mendapatkan dpkg-query: ada jalan ditemukan yang cocok dengan pola coba ini : dpkg -S "$(readlink -fn "$(which free)")".
Pablo A

7

Untuk CentOS, bagaimana kalau yum menyediakan?

Menggunakan

which free 

untuk mencari tahu di mana letaknya

Bagi saya itu di

/ usr / bin / gratis

Jadi kamu bisa berlari

yum provides /usr/bin/free

dan itu akan memberi tahu Anda paket mana yang memilikinya


Jika the commandtidak diinstal atau tersedia di centos Anda, Anda bisa menggunakan yum provides <command>, karena which <command>akan kembalinot <command> in ...
Lane Ouyang

1

Untuk semua distribusi berbasis red-hat Anda dapat menggunakan utilitas manajemen paket yum

yum provides `which free`

menyediakan argumen menentukan paket mana yang menyediakan fitur atau file tertentu.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.