apt
दूरस्थ रिपॉजिटरी के प्रबंधन के लिए है, dpkg
- स्थानीय रूप से स्थापित पैकेजों के लिए। वे संबंधित हैं। apt
के सामने सामने है dpkg
। जब आप apt-get install package
इसे चलाते हैं तो यह .deb
फ़ाइल हो जाती है, और इसके जरिए इंस्टॉल हो जाता है dpkg
। इसलिए नंबर अलग-अलग हैं क्योंकि बहुत सारे पैकेज उपलब्ध हैं, लेकिन आपके सिस्टम पर केवल स्थानीय रूप से ही कुछ अंश स्थापित है।
apt-cache
स्थापित और गैर-स्थापित पैकेज दोनों को दिखा सकता है, क्योंकि यह apt
कैश पर सवाल उठाता है - दूरस्थ रिपॉजिटरी में जो उपलब्ध है उसकी लिस्टिंग (जो कि कैश आपको तब मिलती है जब आप करते हैं apt-get update
)। उदाहरण के लिए,
$ apt-cache policy terminator
terminator:
Installed: (none)
Candidate: 1.91-1
$ dpkg -l terminator
dpkg-query: no packages found matching terminator
ध्यान दें कि एक और उपकरण है जो स्थापित या हटाए गए स्थानीय पैकेजों की सूची को क्वेरी कर सकता है, और यह है dpkg-query
। उदाहरण के लिए,
$ dpkg-query -l 'libc6'
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-====================-===============-===============-=============================================
ii libc6:amd64 2.27-3 amd64 GNU C Library: Shared libraries
ii libc6:i386 2.27-3 i386 GNU C Library: Shared libraries
$ dpkg -l libc6
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-====================-===============-===============-=============================================
ii libc6:amd64 2.27-3 amd64 GNU C Library: Shared libraries
ii libc6:i386 2.27-3 i386 GNU C Library: Shared libraries
Dpkg मैनुअल के अनुसार
dpkg को dpkg-deb (1) और dpkg-query (1) के फ्रंट-एंड के रूप में भी इस्तेमाल किया जा सकता है। समर्थित कार्यों की सूची बाद में कार्रवाई अनुभाग में पाई जा सकती है। यदि ऐसी किसी भी कार्रवाई का सामना करना पड़ रहा है तो dpkg केवल दिए गए मापदंडों के साथ dpkg-deb या dpkg-query चलाता है, लेकिन वर्तमान में कोई भी विशिष्ट विकल्प उन्हें नहीं दिया जाता है, ऐसे किसी भी विकल्प का उपयोग करने के लिए बैक-एंड को सीधे कॉल करने की आवश्यकता होती है।
जहां तक dpkg-query
जाता है, यह ध्यान दिया जाना चाहिए कि यह उपकरण स्थापित पैकेजों के डेटाबेस को क्वेरी करने पर केंद्रित है, और विशेष प्रारूप ( -f
विकल्प प्लस -W
एक्शन) में जानकारी को आउटपुट कर सकता है । उदाहरण के लिए,
$ dpkg-query -W -f='PACK:${Package}\nARCH:${Architecture}\nSTAT:${Status}\n---\n' libc6
PACK:libc6
ARCH:amd64
STAT:install ok installed
---
PACK:libc6
ARCH:i386
STAT:install ok installed
---
दिलचस्प रूप से पर्याप्त है, dpkg डेटाबेस उन संकुल की सूची बनाए रखता है जिन्हें हटाने के लिए चुना जाता है या किसी बिंदु पर हटा दिया जाता है । dpkg-query
एक तर्क के रूप में ग्लोब पैटर्न भी ले सकते हैं, और यह अनुपस्थिति की उपस्थिति के आधार पर केवल स्थापित / कॉन्फ़िगर किए गए पैकेज या सभी पैकेज दिखाते हैं।