कैसे पता करें कि सेंटोस पर कौन सा पैकेज निश्चित कमांड से संबंधित है?


19

उदाहरण के लिए, मुझे आसानी से मिल रही कमान 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

लेकिन यह पता लगाना इतना आसान नहीं है कि कौन सा पैकेज मुफ्त कमांड के अंतर्गत आता है:

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

तो क्या यह जानने का कोई ठोस तरीका है कि लिनक्स पर विशिष्ट कमांड किस पैकेज से संबंधित है? उदाहरण के लिए CentOS या कुछ अन्य वितरण

जवाबों:


17

Rpmdb को क्वेरी करें।

rpm -qf $(which free)

rpm -qf का उपयोग क्यों नहीं करते which free?
ह्यूजमेव

कुछ भी चलेगा। $(...)मेरे लिए आदत है।
इग्नासियो वाज़केज़-अब्राम्स

पाइप रास्ताwhich free | xargs rpm -qf
Eido95

24

freeकमांड के पैकेज की जांच करने के लिए उबंटू / डेबियन उदाहरण :

dpkg -S $(which free)

यह केवल स्थापित पैकेजों के लिए काम करता है। मैं यहाँ कुछ है कि गैर स्थापित संकुल के लिए काम करता है$ dpkg -S */free$*
bobrobbob

@bobrobbob मुझे डर है कि सही नहीं है। मैंने परीक्षण किया कि dpkg -S */firefox$*कौन सा फ़ायरफ़ॉक्स स्थापित किए गए सर्वर पर कई परिणाम देता है, फ़ायरफ़ॉक्स के बिना सर्वर पर कोई भी नहीं। मुझे लगता है कि यह काम नहीं कर सकता क्योंकि dpkgस्थानीय रूप से स्थापित पैकेजों पर एक कमांड संचालित है। गैर इंस्टॉल किए गए पैकेज को खोजने के लिए आप के लिए जा सकते packages.ubuntu.com/...
जेरोन वर्म्यूलेन - MageHost

अरे मेरा। आप सही हैं, इसके लिए क्षमा करें
bobrobbob

1
आप मिलता है dpkg-क्वेरी: कोई पथ प्रतिमान मिलान पाया इस कोशिश : dpkg -S "$(readlink -fn "$(which free)")"
पाब्लो ए

7

CentOS के लिए, yum कैसे प्रदान करता है?

उपयोग

which free 

यह पता लगाने के लिए कि यह कहां है

मेरे लिए यह पर है

/ Usr / bin / मुक्त

तो आप चला सकते हैं

yum provides /usr/bin/free

और यह आपको बताएगा कि यह किस पैकेज में है


यदि the commandआपके सेंटोस में स्थापित या उपलब्ध नहीं था, तो आप उपयोग कर सकते हैं yum provides <command>, क्योंकि which <command>वापस आ जाएगीnot <command> in ...
लेन ओयुंग

1

सभी लाल-टोपी आधारित वितरणों के लिए आप yum पैकेज प्रबंधन उपयोगिता का उपयोग कर सकते हैं

yum provides `which free`

तर्क यह निर्दिष्ट करता है कि कौन सा पैकेज निश्चित सुविधा या फ़ाइल प्रदान करता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.