rpm जो एक फ़ाइल प्रदान करता है


11

Rpms किसी विशेष फ़ाइल को क्या प्रदान कर सकता है, यह सूचीबद्ध करने के लिए कमांड क्या है: rpm जो पहले से इंस्टॉल की गई फ़ाइलें प्रदान करता है या rpms उन फ़ाइलों को प्रदान कर सकता है जो स्थापित नहीं हैं?

जवाबों:


10

पहले से स्थापित फ़ाइलों / पैकेजों के लिए:

[jb @ smokey ~] $ rpm -qf / etc / sudoers
sudo-1.6.9p13-8.fc9.x86_64

अभी तक स्थापित फ़ाइलों और पैकेजों के लिए:

[jb @ smokey ~] $ yum whatprovides "/ etc / sudoers"
sudo-1.6.9p13-8.fc9.x86_64: निर्दिष्ट उपयोगकर्ताओं के लिए प्रतिबंधित रूट एक्सेस की अनुमति देता है
रेपो: अपडेट-न्यूकी
से मिलान:
फ़ाइल नाम: / etc / sudoers  

sudo-1.6.9p13-4.fc9.x86_64: निर्दिष्ट उपयोगकर्ताओं के लिए प्रतिबंधित रूट एक्सेस की अनुमति देता है
रेपो: फेडोरा
से मिलान:
फ़ाइल नाम: / etc / sudoers

sudo-1.6.9p13-8.fc9.x86_64: निर्दिष्ट उपयोगकर्ताओं के लिए प्रतिबंधित रूट एक्सेस की अनुमति देता है
रेपो: स्थापित
से मिलान:
अन्य: प्रदान करता है-मैच: / आदि / sudoers

ध्यान दें कि "yum whatprovides" एक पैटर्न मैच है, इसलिए यदि आप सुनिश्चित नहीं हैं कि जिस फ़ाइल को आप देख रहे हैं वह निर्देशिका संरचना में रहती है, तो बस इसे उद्धरण और तारांकन के साथ घेरें:

yum whatprovides "* फू *"

इसी तरह यदि आप सुनिश्चित हैं कि आप जो खोज रहे हैं वह एक द्विआधारी है जो आप कर सकते हैं:

yum whatprovides "* बिन / फू"

5

मैं पहले से इंस्टॉल नहीं की गई फ़ाइलों के बारे में नहीं जानता, लेकिन पहले से इंस्टॉल की गई फ़ाइल के लिए आप rpm -qif का उपयोग कर सकते हैं:

rpm -qif / bin / ls
नाम: कोरुटिल्स स्थानांतरण: (स्थानांतरित नहीं)
संस्करण: 5.97 विक्रेता: रेड हैट, इंक।
रिलीज़: 23.el5 बिल्ड डेट: सोम 13 जुलाई 2009 04:21:27 AM MDT
दिनांक स्थापित करें: शुक्र 11 सितंबर 2009 04:46:01 AM एमडीटी मेजबान बनाएँ: hs20-bc1-7.build.redhat.com
समूह: सिस्टम पर्यावरण / आधार स्रोत RPM: coreutils-5.97-23.el5.src.rpm
आकार: 9053874 लाइसेंस: GPLv2 +
हस्ताक्षर: DSA / SHA1, Tue 28 जुलाई 2009 03:42:40 AM MDT, कुंजी आईडी 53268101370118186
पैकर: रेड हैट, इंक। 
URL:
सारांश: जीएनयू कोर यूटिलिटीज: शेल स्क्रिप्ट में आमतौर पर उपयोग किए जाने वाले उपकरणों का एक सेट
विवरण :
ये जीएनयू कोर यूटिलिटीज हैं। इस पैकेज का संयोजन है
पुराने जीएनयू फ़ाइल्यूटिल्स, श-बर्तनों और टेक्सटाइल पैकेज।
यदि आपके पास RPM डाउनलोड है, तो आप यह देखने के लिए क्वेरी कर सकते हैं कि क्या स्थापित होने जा रहा है:
rpm -qilp//erver/jzlib-1.0.7-4jpp.1.i386.rpm
चेतावनी:
नाम: jzlib स्थान: (स्थानांतरित नहीं)
संस्करण: 1.0.7 विक्रेता: रेड हैट, इंक।
रिलीज़: 4jpp.1 बिल्ड डेट: मंगल 08 अगस्त 2006 12:10:03 अपराह्न एमडीटी
स्थापना तिथि: (स्थापित नहीं) होस्ट बनाएँ: hs20-bc1-6.build.redhat.com
समूह: विकास / पुस्तकालय / जावा स्रोत RPM: jzlib-1.0.7-4jpp.1.src.rpm
आकार: 280436 लाइसेंस: बीएसडी-शैली
हस्ताक्षर: DSA / SHA1, Thu 18 Jan 2007 08:49:50 AM MST, मुख्य आईडी 53268101370118186
पैकर: रेड हैट, इंक। 
URL: 
सारांश: शुद्ध जावा में zlib का JZlib फिर से कार्यान्वयन
विवरण :
ज़ालिब को एक स्वतंत्र, सामान्य उद्देश्य, कानूनी रूप से बिना लाइसेंस के बनाया गया है
- अर्थात्, किसी भी पेटेंट द्वारा कवर नहीं - दोषरहित डेटा-संपीड़न
लगभग किसी भी कंप्यूटर हार्डवेयर और ऑपरेटिंग सिस्टम पर उपयोग के लिए पुस्तकालय।
ज़ालिब जीन-लूप गेल्ली (संपीड़न) और मार्क एडलर द्वारा लिखा गया था
(विसंपीड़न)।
/usr/lib/gcj/jzlib/jzlib-1.0.7.jar.db
/usr/lib/gcj/jzlib/jzlib-1.0.7.jar.so
/usr/share/doc/jzlib-1.0.7
/usr/share/doc/jzlib-1.0.7/LICENSE.txt
/usr/share/java/jzlib-1.0.7.jar
/usr/share/java/jzlib.jar
यदि आप RPM के बारे में सभी जानकारी को देखने की परवाह नहीं करते हैं तो आप विकल्पों में से "-i" को छोड़ सकते हैं।


2

यम आधारित रिपॉजिटरी में, आप कुछ इस तरह की कोशिश कर सकते हैं yum provides */filename


1

afaik, यह शुद्ध आरपीएम के साथ संभव नहीं है। rpm यह केवल विकल्प के साथ संस्थापित संकुल के लिए प्रदान करता है --whatprovides

जब आप yum का उपयोग कर सकते हैं, yum provides <filename>तो रिपॉजिटरी में खोजने का प्रयास करें।


1

यदि आप yum का उपयोग नहीं करना चाहते (या किसी ऑफ़लाइन मशीन पर), तो आप RPMs को न करके स्थापित कर सकते हैं

# rpm -qp --filesbypkg *rpms-to-search-in* | grep *file-to-search-for*

यह कुछ समय ले सकता है, इसलिए उदाहरण के लिए, इंस्टॉल किए गए डीवीडी की तरह एक बड़े भंडार पर * .rpm के बीच खोज करते समय धैर्य रखें। लेकिन, "-qpl" के विपरीत, "-qp --filesbypkg", उदाहरण के लिए, फ़ाइल और RPM दोनों को सूचीबद्ध करेगा:

# rpm -qpl p*.rpm|grep libpq.so.4
/usr/lib/libpq.so.4
/usr/lib64/libpq.so.4

# rpm -qp --filesbypkg p*.rpm|grep libpq.so.4
postgresql-libs          /usr/lib/libpq.so.4
postgresql-libs          /usr/lib64/libpq.so.4

जिस स्थिति में स्पष्ट डुप्लिकेट i386 और x86_64 संकुल की उपस्थिति के कारण होता है ("lib64" स्ट्रिंग से स्पष्ट किया जाता है)।


-3

मुझे डर है कि मुझे यकीन नहीं है कि यह आरपीएमएस के साथ कैसे किया जाए, लेकिन डेबियन और उबंटू के साथ आप कार्यक्रम का उपयोग कर सकते हैं apt-file

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