`Dpkg -i` और` apt-get install` के बीच अंतर


16

अन्य सभी प्रश्नोत्तर से (जैसे: dpkg और aptitude / apt-get के बीच अंतर क्या है? ) मैं समझता हूं कि apt-getयह एक आवरण है dpkgऔर निर्भरता प्रबंधन प्रदान करता है।

मान लिया जाये कि मैं कुछ स्थापित करने रहा है कि किसी भी निर्भरता नहीं है (या वे भी एक ही समय में स्थापित कर रहे हैं) वहाँ का उपयोग कर इसे स्थापित करने के बीच कोई अंतर होगा apt-getबनामdpkg

उदाहरण के लिए (थोड़े ठोस अंतर मैं देख रहा हूँ)

  • कहते हैं dpkgकहीं से pkg डाउनलोड नहीं कर सकता, मैं, स्थापना शुरू करने से पहले डाउनलोड करना होगा, जबकि apt-getमेरी ओर से यह कर देगा।
  • dpkgpkg कॉन्फ़िगर नहीं होगा, यह केवल फ़ाइलों की प्रतिलिपि बनाएगा। apt-getभी कॉन्फ़िगर करेगा।

...

जवाबों:


16

dpkg -i*.debसंकुल स्थापित करता है, जो कहना है कि संकुल आप पहले ही कहीं से डाउनलोड कर चुके हैं। यह उन्हें कॉन्फ़िगर भी करता है, लेकिन निर्भरता को डाउनलोड / स्थापित नहीं करता है। आपको कहीं से मैन्युअल रूप से बाइनरी पैकेज फ़ाइल डाउनलोड करना होगा। उन स्थानों से पैकेज डाउनलोड करने में भी खतरा हो सकता है जो रिपॉजिटरी नहीं हैं जिन्हें आपके डिस्ट्रो ने डिफ़ॉल्ट रूप से शामिल / सक्षम किया था, क्योंकि तृतीय-पक्ष पैकेज प्रकृति में दुर्भावनापूर्ण हो सकते हैं।


apt-get/aptitude install स्वचालित रूप से आपके द्वारा सक्षम किए गए रिपॉजिटरी और PPA इंडेक्स को एक्सेस करता है, सबसे अच्छे उम्मीदवार की खोज करता है, इसे डाउनलोड करता है और इसकी सभी निर्भरताएँ स्थापित करता है और उन्हें स्वचालित रूप से कॉन्फ़िगर करता है।

का उपयोग कर apt-get install -f, आप स्वचालित रूप से संकुल के गुम निर्भरताएँ जैसे उदा dpkg -i


5
यहां एक त्वरित नोट, के apt-getसाथ स्थापित संकुल से निर्भरता स्थापित कर सकता है dpkg -iapt-get install -fउसे पूरा करने के लिए दौड़ो ।
noirscape

1
@ Ev1l0rd सही, मैंने कहा कि मेरे जवाब में।
बाइट कमांडर

2
एक और महत्वपूर्ण अंतर, और उपयोग करने के लिए एक मामला है , apt-getया aptitudeयह है कि उन्हें याद है कि क्या पैकेज मैन्युअल रूप से स्थापित किया गया था (विशेष रूप से अनुरोध किया गया), या क्या यह एक निर्भरता को पूरा करने के लिए स्थापित किया गया था। इस तरह, जब आप बाद में एक पैकेज को हटाते हैं, तो वे स्वचालित रूप से हटाने में सक्षम होते हैं (या कम से कम आपको इसके बारे में बताते हैं) पैकेज जो "स्वचालित रूप से स्थापित थे और अब आवश्यक नहीं हैं"। यदि आपने प्रत्येक पैकेज स्थापित किया है, dpkgतो आपको याद रखना होगा और मैन्युअल रूप से न केवल अपने पैकेज को हटाना होगा, बल्कि उसकी सभी निर्भरताएं (और कुछ नहीं उन पर निर्भर करता है)।
बेंजामिन स्टेटन

1
@BenjaminStaton अच्छी तरह से, dpkg -iनिर्भरता के बारे में परवाह नहीं है, इसके साथ स्थापित सब कुछ निश्चित रूप से "मैन्युअल रूप से" स्थापित है।
बाइट कमांडर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.