मैं कमांड-लाइन से उपलब्ध पैकेजों की खोज कैसे करूं?


584

मैंने कमांड लाइन 'sudo apt-get install ...' का उपयोग करके कुछ पैकेज सफलतापूर्वक स्थापित किए हैं, जब मुझे पहले से पता है कि वे पैकेज उपलब्ध हैं। लेकिन रिपॉजिटरी में क्या उपलब्ध है, इसकी सूची मैं कैसे खोज या प्राप्त कर सकता हूं?

जवाबों:


728

नाम या विवरण द्वारा किसी विशेष पैकेज की खोज करने के लिए:

कमांड-लाइन से, उपयोग करें:

apt-cache search keyword

जहां खोज कीवर्ड पैकेज नाम या उसके विवरण में इस्तेमाल किए गए किसी भी शब्द का हिस्सा हो सकता है।

उदाहरण के लिए, apt-cache search proxyइन दोनों पैकेजों में शामिल हैं:

छोटे प्रॉक्सी - एक हल्के, गैर-कैशिंग, वैकल्पिक रूप से HTTP प्रॉक्सी का अनावरण
tircd - ट्विटर एपीआई को
 ircd प्रॉक्सी

ध्यान दें: सूची लंबी हो सकती है, इसलिए आप आउटपुट को lessएक समय में स्क्रॉल करने योग्य एक लाइन या एक स्क्रीन बनाने के लिए पाइप कर सकते हैं , अर्थात apt-cache search something | less

सभी पैकेजों की सूची प्राप्त करने के लिए

apt-cache search .

यदि आपके पास X- फ़ॉरवर्डिंग सक्षम है या डेस्कटॉप पर है, तो Synaptic का उपयोग करें

Synaptic अक्सर ऐसा करने के लिए एक अधिक सुविधाजनक तरीका है, लेकिन आपके अंत में कम से कम X सर्वर की आवश्यकता होती है (जब तक कि आप डेस्कटॉप वातावरण नहीं चला रहे हैं)। sudo apt-get install synapticयदि आवश्यक हो तो स्थापित करें ।

  • एक्स फॉरवर्डिंग के माध्यम से ssh'd सर्वर पर सिनैप्टिक:

    यहां छवि विवरण दर्ज करें

  • Synaptic स्थानीय स्तर पर Ubuntu डेस्कटॉप पर चल रहा है:

    यहां छवि विवरण दर्ज करें


@MarkThomas apt-cache policyभी कोशिश करें , यह आपको स्रोतों के बारे में अधिक जानकारी देता है।
येलियन

जैसे apt-get, आप apt-cacheबिना किसी तर्क के बस चला सकते हैं और छोटी मदद / धोखा दे सकते हैं। आप उस पर लंबे समय तक मदद के लिए हमेशा मैनपेज पढ़ सकते हैं। (यानी man apt-cache)
pd12

यह मानते हुए कि मैं परिणामों को जीने के लिए पर्याप्त मूर्ख हूं apt install, क्या ऐसा करने का एक स्मार्ट तरीका है? इस फ़ंक्शन से आउटपुट गड़बड़ है। प्रत्येक लाइन से पहला शब्द का उपयोग कर सकता है, लेकिन एक आसान तरीका होना चाहिए।
डेलेव

आप ऑनलाइन भी खोज सकते हैं। packages.ubuntu.com
activedecay

यदि आपको केवल उपलब्ध सभी पैकेजों के नामों की आवश्यकता हैapt-cache pkgnames
flaz14

42

उपयोग करना aptitude, apt-cacheऔर aptसभी आउटपुट को अलग तरीके से प्रारूपित करते हैं। ( sudoजब पैकेज की खोज करते हैं तो इनमें से किसी के उपयोग की आवश्यकता नहीं होती है ।) मैं aptइसकी पठनीयता के लिए उपयोग करना पसंद करता हूं । यह पैकेज के नाम पर प्रकाश डालता है और विभिन्न पैकेजों के बीच एक स्थान रखता है। यह [installed]पहले से स्थापित प्रत्येक पैकेज के बगल में भी सूचीबद्ध है। उपयोग:

apt search package-name

2
अगर मैं कहता हूं कि '$ apt search firefox' यह उत्पादन के टन का उत्पादन करता है :(
user3804598

आप अपनी खोज को कुछ इस तरह से संकुचित कर सकते हैं:apt search firefox | grep -A 3 firefox
jbrock

1
खोज को संकीर्ण करने का एक और विकल्प: apt search ^firefoxयाapt search ^firefox$
जूल

25

आप कमांड लाइन से एप्टीट्यूड का भी उपयोग कर सकते हैं:

aptitude search xxxxxx

2
इस बारे में कष्टप्रद बात यह है कि उबंटू इसे डिफ़ॉल्ट रूप से आपको नहीं देता है। जब तक मुझे इसके बारे में पता चला apt-cache, मैं हमेशा अपने द्वारा apt-get install aptitudeस्थापित प्रत्येक नए बॉक्स पर ऐसा कर रहा था। हालाँकि, जब से मुझे यह दिखाने के लिए कोई रास्ता नहीं मिल रहा apt-cacheहै कि क्या यह स्थापित है, तो मुझे लगता है कि मुझे इसे थोड़ा सा करना होगा :-)

2
@paxdiablo बस दो लाइन शेल स्क्रिप्ट बनाएं (दूसरी लाइन कुछ इस तरह की dpkg --list | grep "$1") या शेल फ़ंक्शन को इस आशय में जोड़ें .bash_login... :-)
FooF

5

एप-कैश कमांड लाइन टूल का उपयोग एप सॉफ्टवेयर पैकेज कैश को खोजने के लिए किया जाता है। सरल शब्दों में, इस टूल का उपयोग सॉफ्टवेयर पैकेजों को खोजने के लिए किया जाता है, पैकेजों की जानकारी एकत्र करता है और यह भी खोज करने के लिए उपयोग किया जाता है कि डेबियन या उबंटू आधारित प्रणालियों पर इंस्टॉलेशन के लिए क्या उपलब्ध पैकेज तैयार हैं।

स्थापित करने से पहले पैकेज का नाम और उसके साथ विवरण जानने के लिए, 'खोज' ध्वज का उपयोग करें। Apt-cache के साथ "खोज" का उपयोग करते हुए संक्षिप्त विवरण के साथ मिलान पैकेजों की एक सूची प्रदर्शित करेगा। मान लें कि आप पैकेज 'vsftpd' का विवरण प्राप्त करना चाहते हैं, तो कमांड होगा।

वाक्य - विन्यास:

apt-cache search SearchTerm
$ apt-cache search vsftpd

संभावित उत्पादन होगा:

vsftpd - lightweight, efficient FTP server written for security
ccze - A robust, modular log coloriser
ftpd - File Transfer Protocol (FTP) server
yasat - simple stupid audit tool

'Vsftpd' से शुरू होने वाले सभी पैकेजों को खोजने और सूचीबद्ध करने के लिए, आप निम्न कमांड का उपयोग कर सकते हैं।

$ apt-cache pkgnames vsftpd

आप परिणाम को अधिक, या यहाँ तक कि एक grep के माध्यम से चलाना चाह सकते हैं। उदाहरण के लिए:

apt-cache search firefox | grep plugin

3

यह मानते हुए कि आप टर्मिनल से यह सब करना चाहते हैं, निम्नलिखित का उपयोग करें:

पहले मैं आपको पैकेज इंडेक्स फाइलों को अपडेट करने की सलाह देता हूं ताकि आपके द्वारा बनाए जाने वाले भंडार में सभी फाइलों की सूची अद्यतित हो

sudo apt-get update

फिर " खोज रेगेक्स" फ़ंक्शन का उपयोग करेंapt-cache जहां "रेगेक्स" नियमित अभिव्यक्ति के लिए खड़ा है और खोज के लिए दिया गया पैटर्न है। खोज पैटर्न के बारे में अधिक जानकारी के लिए आप कमांड man 7 regexया अंग्रेजी में मैनुअल रेगेक्स (7) देख सकते हैं । एक रेगेक्स चर के बराबर पर्याप्त होगा।

apt-cache search .

उपरोक्त आपको सभी परिणाम देगा लेकिन यह किसी भी क्रम में नहीं है जो विशेष रूप से ब्राउज़िंग के लिए सहायक है।

इसलिए अंत में हम डिक्शनरी ऑर्डर का उपयोग करके सॉर्ट कर सकते हैं sort -dऔर एक बार में केवल एक पेज दिखा सकते हैं less

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