मुझे कमांड लाइन से रिपॉजिटरी सेक्शन में सभी पैकेजों की सूची कैसे मिल सकती है?


13

Synaptic में, कोई अनुभाग द्वारा संकुल सूचीबद्ध कर सकता है। उदाहरण के लिए, "एमेच्योर रेडियो (ब्रह्मांड)" खंड के सभी पैकेजों के नीचे की छवि में सूचीबद्ध हैं।

कमांड लाइन पर मुझे इस तरह की सूची (संपादन: पैकेज विवरण के साथ) कैसे मिल सकती है?

मुझे एक कच्ची सूची चाहिए; जैसे कोई टर्मिनल एप्लिकेशन aptitudeनहीं करेगा।

अन्तर्ग्रथनी


apt-cache खोज गोले
पैंथर

@ bodhi.zazen जो एक अच्छा सुझाव है, लेकिन केवल धारा की खोज नहीं करता है
स्टीवन पेनी

जवाबों:


5

ठीक है, हालांकि आप कहते हैं कि आप आउटपुट के कारण योग्यता का उपयोग नहीं करना चाहते हैं, आपको यह जानना होगा कि आप इसे प्राप्त करने के लिए इसे संशोधित कर सकते हैं:

aptitude -F'|%p|%d|' search '?section(hamradio)'

चाल -Fस्विच में है जो आउटपुट स्वरूप को संशोधित करता है। %pपैकेज का मतलब है। यह भी आउटपुट करता है जब पैकेज में विभिन्न आर्किटेक्चर होते हैं (यानी amd64 बनाम i386), और %dजो विवरण को आउटपुट करता है। आप उदाहरण के लिए और अधिक स्थापित पैकेज के लिए खोज पैटर्न को निजीकृत कर सकते हैं:

aptitude -F'|%p|%d|' search '?section(hamradio) !~i'

जहां ~iस्थापित का मतलब है और !एक नहीं है, इसलिए यह "नहीं (!) स्थापित (~ i)" के रूप में पढ़ता है, या यदि आप केवल वही चाहते हैं जो आपकी वास्तुकला के लिए उपलब्ध हैं:

aptitude -F'|%p|%d|' search '?section(hamradio) ~r native'

~rहोने के नाते ?architecture()जो पैकेज की वास्तुकला से मेल खाता है और nativeजो केवल उसी आर्किटेक्चर को सूचीबद्ध करता है जो सिस्टम के समान है, के बराबर है dpkg --print-architecture

पिछली पंक्ति को इसलिए और भी संक्षिप्त रूप में लिखा जा सकता है:

aptitude -F'|%p|%d|' search '~s hamradio ~r native'

बहुत सुरुचिपूर्ण, विशेष रूप से साथ -F'|%p|%d|'। हालाँकि, क्या यह संभव होगा कि स्ट्रिंग में :i386एक- !डेक्प्रेशन जोड़कर पैकेजों को सूचीबद्ध न किया जाए search?
सर्ज स्ट्रोबंड

1
@GGGordon हाँ, बस ~r nativeखोज शब्दों को जोड़ें । ~rकिया जा रहा है ?architectureजो पैकेज और की वास्तुकला से मेल खाते हैं nativeजो इस सूची में केवल लोगों प्रणाली की तुलना में एक ही वास्तुकला, के बराबर है dpkg --print-architecture। BTW, आप पैकेज विवरण के साथ सूची चाहते थे?
ब्रिअम

महान! और हां, मैंने पैकेज विवरण को शामिल करने के लिए प्रश्न को संपादित किया है। कृपया, अपने उत्तर को तदनुसार संपादित करें और आप सबसे संक्षिप्त रूप से अपना सर्वश्रेष्ठ उत्तर देने के योग्य हैं।
सर्ज स्ट्रोबंड 17

@GinGordon इसे देखें।
ब्रिअम

1
@GinGordon यदि आप aptitude-docपैकेज स्थापित करते हैं और /usr/share/doc/aptitude/html/en/index.htmlअपने ब्राउज़र के साथ नेविगेट करते हैं, तो आप file:///usr/share/doc/aptitude/html/en/ch02s04s05.htmlसभी खराब भत्तों में पाएंगे ।
ब्रिअम

11

सुनिश्चित करें कि dctrl-toolsDctrl-tools स्थापित करें पैकेज स्थापित है। यह उपयुक्त और dpkg पैकेज सूचियों को खोजने के लिए उपयोगी कमांड प्रदान करता है। किसी विशेष खंड से सभी पैकेजों का पूरा विवरण प्राप्त करने के लिए, जो कि उपयुक्त हैं, उपयुक्त हैं

grep-aptavail -F Section hamradio

यह hamradioअनुभाग में हर पैकेज के लिए पूर्ण पैकेज मेटाडेटा दिखाएगा । यदि आप सभी को देखना चाहते हैं तो पैकेज के नाम हैं, चलाएं

grep-aptavail -n -F Section -s Package hamradio

यदि आपका सिस्टम मल्टीकार के लिए सेट किया गया है, तो एक ही पैकेज एक से अधिक बार दिखा सकता है यदि यह एक से अधिक आर्किटेक्चर के लिए बनाया गया है। तो इसको और निखारने के लिए या तो इस्तेमाल करें

grep-aptavail -n -F Section -s Package hamradio | sort | uniq

या

grep-aptavail -n -F Section -s Package hamradio | sort -u

पैकेज सूची को सॉर्ट करने और उसी नाम से डुप्लिकेट पैकेजों को निकालने के लिए।

ध्यान दें कि आपको उस अनुभाग के वास्तविक नाम का उपयोग करना होगा, जो "मानव-पठनीय" नाम से अलग है जो सिनाप्टिक अपने GUI में दिखाता है। उदाहरण के लिए, ऊपर दी गई खोजें hamradioSynaptic में दिखाए गए स्ट्रिंग "एमेच्योर रेडियो" के बजाय अनुभाग नाम का उपयोग करती हैं ।

सभी विकल्पों और कुछ उदाहरणों के पूर्ण विवरण के लिए grep-aptavail के लिए मैन पेज देखें ।


3

एकल पंक्ति पर अधिक क्षेत्र, मनमाने ढंग से विभाजक के साथ

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

grep-aptavail -n -s Package,Description -F Section hamradio |paste -sd '||\n' |sed 's:^:|:' |sort -u

2

आप किसी दिए गए अनुभाग से संबंधित संकुल की सूची प्राप्त करने के लिए निम्नलिखित कमांड का उपयोग कर सकते हैं:

$ dpkg-query -W -f='${binary:Package} ${Section}\n' | awk '{if ($2 == "shells") {print $1}}'
bash
bash-completion
busybox-initramfs
busybox-static
dash
zsh
zsh-common
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.