सवाल उबंटू / डेबियन में फ़ाइल का कौन सा पैकेज संबंधित है?


जब मैं अपने उबंटू 8.04 सिस्टम पर काम करता हूं तो मुझे अक्सर प्रोग्राम, मैन पेज या अन्य फाइल याद आती है। क्या किसी पैकेज में किसी दिए गए फ़ाइल को देखने के लिए कोई आसान तरीका है (चाहे वह पहले से इंस्टॉल हो या नहीं)? शायद एपीटी या डीपीकेजी के लिए कुछ अस्पष्ट विकल्प?


261
2017-07-22 19:06


मूल


उबंटू पर भी: askubuntu.com/questions/481/... - Ciro Santilli 新疆改造中心 六四事件 法轮功
dpkg -S /path/to/file अगर आपके पास पैकेज स्थापित है। - Zaz


जवाब:


apt-file search filename

या

apt-file search /path/to/file


स्थापित करने के लिए apt-file, उपयोग:

sudo apt-get install apt-file

इससे पहले कि आप इसका उपयोग कर सकें, आपको अपने डेटाबेस को अपडेट करने की आवश्यकता होगी:

sudo apt-file update

215
2017-07-22 19:08



एफवाईआई: एपीटी-फाइल रिपॉजिटरीज द्वारा प्रदान की गई सामग्री-amd64.gz पर निर्भर करती है। और सभी तृतीय पक्ष repos इस फ़ाइल को प्रदान नहीं करते हैं। - Jokester
यह मेरे लिए सही नहीं रहा। मैंने डेटाबेस अपडेट किया लेकिन यह कुछ भी वापस नहीं करता है। dpkg -S नीचे वर्णित के रूप में काम करता है। - Northys


(डेबियन / उबंटू) डिस्कवर एक फ़ाइल से संबंधित पैकेज का पता लगाएं:

dpkg -S /usr/bin/ls

'dpkg -S' बस आपको स्ट्रिंग से मेल खाता है   इसे आपूर्ति करें, तो बस 'ls' को एक के रूप में उपयोग करें   तर्क किसी से किसी भी फाइल से मेल खाता है   पैकेज जिसमें कहीं भी 'एलएस' है   फ़ाइल का नाम। तो आमतौर पर यह एक अच्छा विचार है   एक पूर्ण पथ का उपयोग करने के लिए। आप देख सकते हैं   दूसरे उदाहरण में 12 हजार   फाइलें जो डीपीकेजी से मेल खाते हैं   नंगे स्ट्रिंग 'एलएस'।


353
2017-07-22 19:13



यह तभी होता है जब फाइल पहले से इंस्टॉल हो - John T
के विपरीत apt-file, यह पैकेज को फ़ाइल में भी पाता है अगर इसे मैन्युअल रूप से इंस्टॉल किया गया था dpkg -i! - tanius
अगर तुम्हे मिले डीपीकेजी-क्वेरी: कोई पथ मिलान पैटर्न नहीं मिला  इसे इस्तेमाल करे: dpkg -S "$(readlink -fn "$(which rename)")"। - Pablo Bianchi
अजीब, यह मेरे लिए काम नहीं किया: dpkg-query: no path found matching pattern /usr/bin/javaहालांकि, एक फाइल है /usr/bin/java - nnyby


packages.debian.org मैं इस कार्य को पूरा करने के लिए हमेशा उपयोग करता हूं। यह एपीटी-फाइल से बेहतर है क्योंकि यह फ़ाइल नामों के कुछ हिस्सों को भी ढूंढ सकता है। यह मुख्य पैकेज सूची से भी जुड़ा हुआ है जो विवरण, बग इत्यादि सूचीबद्ध करेगा। सभी एक अच्छी वेबसाइट में। कमांड लाइन से उतना उपयोगी नहीं है, लेकिन अभी भी काफी उपयोगी है।

गति के लिए, मैंने यूआरएल बुकमार्क किया:

http://packages.debian.org/search?searchon=contents&keywords=%s&mode=filename&suite=unstable&arch=any

फ़ायरफ़ॉक्स में, और एक कीवर्ड के रूप में "debfind" जोड़ा गया (इसके साथ बुकमार्क प्रबंधक में "अधिक" पर क्लिक करें), इसलिए मैं बस "debfind" टाइप कर सकता हूं और यह काम करेगा। वितरण के अन्य संस्करणों के लिए, यदि आप चाहें तो अस्थिर से स्थिर या परीक्षण से 'सूट' को बदल सकते हैं।


17
2017-07-22 20:07



हालांकि यह कस्टम repos के साथ काम नहीं करता है। - Ctrl-C
स्वचालन के संबंध में खराब विकल्प। - Alexander Shcheblikin


आप डॉकोकेट का भी उपयोग कर सकते हैं। आदमी पृष्ठ से;

$ dlocate [ PATTERN ]
List all records where either the package name or the filename matches PATTERN.

11
2017-08-08 19:30



dlocate भी मेरी पसंदीदा विधि है, बहुत विश्वसनीय है। - Avio
@Avio dlocate जब तक आप दौड़ते नहीं हैं तब तक हाल ही में स्थापित पैकेज नहीं मिला है sudo update-dlocatedb प्रथम। आदेश स्वचालित रूप से /etc/cron.daily/dlocate में चलाया जाता है - jarno


मुझे वाजिग मिला ...

wajig whichpackage /path/to/file 

जैसे।

wajig whichpackage /etc/apt/sources.list

वाजिग एक आसान कमांड लाइन या कंसोल टूल है जो सभी एपीटी-गेट, डीपीकेजी भलाई को लपेटता है जिसे आप कभी नहीं सीखना चाहते थे। ।

Wajig उपयोग स्थापित करने के लिए:

apt-get install wajig

वह आदेश 'कौन सा पैकेज' एपीटी-फाइल पर निर्भर करता है

इससे पहले कि आप इसका उपयोग कर सकें, आपको अभी भी अपने डेटाबेस को अपडेट करने की आवश्यकता होगी: - मुझे अभी तक पता नहीं है अगर wajig अद्यतन whixh एक apt-get अद्यतन करता है तो फ़ाइल कैश भी अद्यतन करता है, लेकिन मुझे उम्मीद है कि यह हो सकता है।

sudo wajig update

sudo apt-file update

(और सुपर गाय, ईस्टर egss?!)


4
2018-01-14 02:40





डेमियन के लिए जमुरा के जवाब के लिए सिममिलर, आप भी जा सकते हैं http://packages.ubuntu.com/ उबंटू के लिए आपको खोजने के लिए थोड़ा सा स्क्रॉल करना होगा "पैकेज की सामग्री खोजें" सर्चबॉक्स जहां आप फ़ाइल के पथ में प्रवेश कर सकते हैं।


2
2017-10-28 10:40



अब अगर केवल रास्पियन भी एक था :) - XTL


फ़ाइलों का उपयोग कर खोजने की कोशिश करो http://www.kodkast.com/applications/find-which-package-file-belongs-to

यह उन फ़ाइलों की खोज करने का एक अनुप्रयोग है जो विभिन्न आरपीएमएस / लिनक्स पैकेज में निहित हैं, और जब आप अपनी मशीन पर आरपीएम स्थापित नहीं करते हैं तो बहुत उपयोगी होता है।


0
2017-12-20 00:33



डाउनवोट: लिंक टूटा हुआ है और लिंक पहली जगह आरपीएम पैकेज के लिए प्रतीत होता है। - tripleee