किसी सॉफ़्टवेयर को इनस्टॉल करने के दौरान, स्वचालित रूप से डाउनलोड और इंस्टॉल किए dpkg -i packageA.deb
जाने के packageA
लिए आवश्यक निर्भरताएँ डाउनलोड हो जाएंगी? यह कैसे उपयोग करने से अलग है apt-get
या aptitude
?
किसी सॉफ़्टवेयर को इनस्टॉल करने के दौरान, स्वचालित रूप से डाउनलोड और इंस्टॉल किए dpkg -i packageA.deb
जाने के packageA
लिए आवश्यक निर्भरताएँ डाउनलोड हो जाएंगी? यह कैसे उपयोग करने से अलग है apt-get
या aptitude
?
जवाबों:
नहीं, dpkg
केवल एक पैकेज स्थापित करता है, इसलिए dpkg -i packageName.deb
केवल इस डीब पैकेज को स्थापित करना, और आपको किसी भी निर्भरता की सूचना देगा जिसे स्थापित करने की आवश्यकता है, लेकिन यह उन्हें स्थापित नहीं करेगा , और यह क्योंकि अच्छी तरह से कॉन्फ़िगर नहीं करेगा packageName.deb
... निर्भरताएं हैं वहाँ नहीं।
apt-get
एक पैकेज मैनेजमेंट सिस्टम है जो डेबियन-आधारित लिनक्स वितरण पर डीब पैकेज की स्थापना को संभालता है । पैकेज मैनेजमेंट सिस्टम एक उपकरण का एक सेट है जो आपको पैकेज को आसानी से स्थापित करने, हटाने और बदलने में मदद करेगा। तो apt-get
एक चतुर की तरह है dpkg
।
मैं इस समय के बारे में सोचना पसंद करता हूं (निम्नलिखित केवल मुझे अनुभव से बोल रहा है। यह केवल आपको इस पूरी चीज का विचार देने के लिए है):
वे एक "पैकेज" में किसी एप्लिकेशन की फ़ाइलों को "स्टोर" करने के तरीके के साथ आए ताकि इसे आसानी से स्थापित किया जा सके। तो, डीब पैकेज ( .deb
एक्सटेंशन फ़ाइल ) का जन्म हुआ।
एक
.deb
फ़ाइल में चलाने के लिए एक एप्लिकेशन द्वारा आवश्यक फाइलें होती हैं, साथ ही (मैं इसे कॉल करना पसंद करता हूं) "मेटा-डेटा" जो अन्य जानकारी रखता है, जैसे कि निर्भरता के नाम जो एप्लिकेशन को चाहिए। यदि आप किसी.deb
फ़ाइल की सामग्री देखना चाहते हैं , तो आप कमांड का उपयोग कर सकते हैंdpkg -c packageName.deb
, और यदि आप इस "मेटा-डेटा" जानकारी को देखना चाहते हैं, तो कमांड का उपयोग करेंdpkg -I pacakgeName.deb
(और यदि आप केवल निर्भरता देखना चाहते हैं, तोdpkg -I packageName.deb | grep Depends
)।
उन्हें इन .deb
फ़ाइलों को स्थापित करने के लिए एक उपकरण की आवश्यकता थी , इसलिए वे dpkg
उपकरण के साथ आए । यह उपकरण, हालांकि, केवल .deb
फ़ाइल को स्थापित करेगा, लेकिन इसकी निर्भरता को स्थापित नहीं करेगा क्योंकि इसमें वे फाइलें नहीं हैं और निर्भरता को खींचने के लिए "रिपॉजिटरी" तक इसकी पहुंच नहीं है।
apt-get
, जो पिछले बिंदु में समस्याओं को स्वचालित करता है। हुड के नीचे, apt-get
मूल रूप से है dpkg
(मैं इसके लिए apt-get
एक फ्रंट-एंड के रूप में सोचना पसंद करता हूं dpkg
), लेकिन एक चतुर जो आश्रितों की तलाश करेगा और उन्हें स्थापित करेगा। यहां तक कि यह वर्तमान में स्थापित निर्भरताओं को देखता है और उन लोगों को निर्धारित करता है जो किसी अन्य पैकेज द्वारा उपयोग नहीं किए जा रहे हैं, और आपको सूचित करेंगे कि आप उन्हें हटा सकते हैं।aptitude
फिर साथ आया। यह पुस्तकालयों apt-get
का उपयोग करता है और वास्तव में एक इंटरैक्टिव यूआई (उपयोगकर्ता इंटरफ़ेस) है। यदि आप इस UI को देखना चाहते हैं, तो बस aptitude
टर्मिनल में टाइप करें। वह है aptitude
। यह पुस्तकालयों की तुलना में अधिक विकल्प और भत्ते प्रदान करने का लाभ उठाता है apt-get
। उदाहरण के लिए, aptitude
स्वचालित रूप से पात्र पैकेजों को हटा देगा, जबकि ऐसा apt-get
करने के लिए एक अलग कमांड की आवश्यकता होती है। लेकिन, अंत में, कर sudo aptitude install packageName.deb
करना चाहिए कम से कम के रूप में ही sudo apt-get install packageName.deb
। यहां और वहां सूक्ष्म अंतर हो सकते हैं जिनके बारे में मुझे नहीं पता है, लेकिन वे दोनों निर्भरता की तलाश करेंगे और यह सब सामान करेंगे। और के बीच के अंतर के बारे में अधिक जानकारी के लिए आप यहाँ उत्तर पढ़ सकते हैं ।aptitude
apt-get
इसके अलावा, aptitude
सुपर गाय पॉवर्स नहीं है।
संपादित करें: जाहिर है, यह करता है।
aptitude -v[v[v[v[v]]]] moo
।
aptitude
डिफ़ॉल्ट रूप से स्थापित नहीं किया जा सकता है। इसे स्थापित करने के लिए, इसे करें sudo apt-get install aptitude
या क्लिक करें: योग्यता ।
निम्नलिखित जानकारी वास्तव में सीधे जवाब नहीं देती है " dpkg और aptitude / apt-get के बीच क्या अंतर है? " लेकिन यह बड़ी तस्वीर में योगदान देता है।
से कार्लोस Campderrós ' नीचे टिप्पणी :
gdebi
एक और उपकरण है जो बीच apt-get
और की तरह मिश्रण है aptitude
। जब आप एक .deb
पैकेज ( gdebi packageName.deb
) स्थापित करने के लिए इसका उपयोग करते हैं , तो यह लापता निर्भरता की पहचान करेगा, उनका उपयोग करके स्थापित करेगा apt-get
, और फिर अंत में उपयोग करके पैकेज को स्थापित और कॉन्फ़िगर करेगा dpkg
। यहां तक कि एक सरल और साफ-सुथरा GUI है जो आपको.deb
पैकेज के बारे में जानकारी देता है , पैकेज में शामिल फाइलें, और किन निर्भरताओं को स्थापित करने की आवश्यकता है। इस GUI को देखने के लिए, आप करेंगे gdebi-gtk packageName.deb
। आप दे सकते हैं gdebi
के साथ इसे स्थापित करके एक कोशिश sudo apt-get install gdebi
: इस पर क्लिक करें या gdebi ।
मैं किसी को भ्रमित नहीं करना चाहता, लेकिन सिर्फ आपको तस्वीर का एक और हिस्सा देने के लिए, RPM नामक एक और लोकप्रिय लिनक्स पैकेज प्रारूप है, और इसकी फ़ाइलों का .rpm
विस्तार है। यह पैकेज प्रारूप RPM- आधारित लिनक्स वितरण (जैसे Red Hat, CentOS, और Fedora) पर उपयोग किया जाता है। वे rpm
पैकेज को स्थापित करने के लिए कमांड का उपयोग करते हैं , और yum
इसके लिए फ्रंट-एंड है, यह चतुर है। तो उनकी .rpm
फाइलें हमारी .deb
फाइलें हैं, उनका rpm
उपकरण हमारा dpkg
उपकरण है, और उनका yum
हमारा है apt-get
।
से धान Landau के नीचे टिप्पणी :
alien
एक उपकरण है जो बीच .rpm
और .deb
संकुल में परिवर्तित होता है। इसलिए यदि आप कभी उस स्थिति में आते हैं जहां आपके पास एक .rpm
पैकेज है, और आप अपने उबंटू (या किसी अन्य डेबियन-आधारित डिस्ट्रो) में स्थापित करना चाहते हैं, तो आप alien rpm_packageName.rpm
इसे बदलने के लिए कमांड का उपयोग कर सकते हैं .deb
, और फिर इसका उपयोग करके इंस्टॉल कर सकते हैं dpkg
। आप रिवर्स कर सकते हैं (परिवर्तित .deb
करने के लिए .rpm
उपयोग करते हुए) alien -r packageName.deb
।
gdebi
( apt-get install gdebi-core
) कि मिश्रण apt-get
/ aptitude
साथ dpkg
। आप इसे कॉल करते हैं gdebi some_package.deb
और यह इसकी निर्भरता का विश्लेषण करेगा, apt-get
लापता लोगों को स्थापित करने के लिए कॉल करेगा और जब सभी निर्भरता पूरी हो जाएगी, तो dpkg
अंत में अपने पैकेज को स्थापित करने के लिए कॉल करें ।
alien
संकुल को बीच में परिवर्तित करता है .rpm
और .deb
। यह RPM के लिए उपलब्ध पैकेज के लिए उपयोगी है, लेकिन DEB (या इसके विपरीत) के लिए नहीं है। उदाहरण के लिए, alien packagename.rpm
इसे उबंटू के लिए उपयोग करने योग्य बनाना।
aptitude
लिए कोई फ्रंटएंड नहीं है apt-get
। दोनों कार्यक्रम libapt-pkg
पुस्तकालय के लिए व्यय हैं ।
पैकेज प्रबंधन फ़ाइल के apt-get
साथ हाथ से चलाता है /etc/apt/sources.list
।
apt-get install <package_name>
आपके कंप्यूटर पर एक नया पैकेज स्थापित करता है।
apt-get build-dep <package_name>
यह कमांड रिपॉजिटरी खोजता है और इसके लिए बिल्ड निर्भरता स्थापित करता है। यदि पैकेज रिपॉजिटरी में नहीं है, तो यह एक त्रुटि लौटाएगा।
apt-get install <package1_name> <package2_name> <package3_name>
apt-get कई पैकेज स्थापना की अनुमति देता है। एक स्थान के साथ संकुल को अलग करें।
auto-apt run <command_string>
जब आह्वान किया जाता है, तो ऑटो-एप कमांड स्वचालित रूप से गुम फ़ाइल एक्सेस पर पैकेज स्थापित करता है। यदि कोई प्रोग्राम अनइंस्टॉल किए गए पैकेज में संबंधित फ़ाइल को एक्सेस करने की कोशिश करता है, तो ऑटो-एप उस पैकेज का उपयोग करके इंस्टॉल हो जाएगा apt-get
। इस सुविधा को काम करने के लिए उपयुक्त और सुडोल की आवश्यकता होती है।
aptitude
की कार्यक्षमता प्रदान करता है dselect
और apt-get
साथ ही साथ कई अतिरिक्त सुविधाएँ या तो प्रोग्राम में नहीं मिलती हैं।
aptitude
इसका अपना एक शेल है जो कीबोर्ड या माउस सक्रिय है और एक टर्मिनल विंडो में चलता है
aptitude build-dep <package>
- संकुल की निर्माण-निर्भरता स्थापित करें - जिसका अर्थ है कि संकुल को स्रोत स्रोत के संकलन (या निर्माण ) के लिए आवश्यक है । उदाहरण के लिए, कई पैकेजों की जरूरत है debhelper
या autotools
बनाया जाना है, लेकिन उन्हें चलाने की जरूरत नहीं है।
एप्टीट्यूड इंस्ट्रक्शन पेज पर जाएं
डेबियन पैकेजों को स्थापित करने, बनाने, हटाने और प्रबंधित करने का एक उपकरण है। संपर्क
dpkg -i <package.deb>
आपके कंप्यूटर पर एक डेबियन पैकेज स्थापित करता है। यह किसी भी निर्भरता को स्थापित नहीं करता है जहां तक मैं मदद फ़ाइलों से पता लगा सकता हूं।
विवरण के लिए dpkg --help
एक टर्मिनल विंडो में टाइप करें ।
मुझे लगता है कि सबसे महत्वपूर्ण बात और एक अंतर यह भी है कि आपको apt-get
पैकेज को स्थापित करने के लिए उपकरण का उपयोग करना चाहिए । ( apt
या aptitude
ठीक भी है)।
इसका कारण यह है कि dpkg
निर्भर पैकेजों को स्थापित किए बिना पैकेजों को स्थापित करना है। उसके कारण सिर्फ एक पैकेज स्थापित करने से dpkg
, बाद में समस्या हो सकती है जहां निर्भरता समाधान टूटी हुई प्रणाली के साथ समाप्त हो सकता है।
पैकेजों को स्थापित करने के लिए आपको कमांड लाइन apt-get
या apt
(14.04 से) टूल का उपयोग करना चाहिए । ये उपकरण dpkg
आपके लिए उपयोग कर रहे हैं और एक ही समय में अंदर निर्भरता संकल्प तंत्र है।