.Deb और .rpm क्या हैं और वे .msi से कैसे भिन्न हैं? [बन्द है]


30

ये फ़ाइल प्रारूप क्या हैं और ये .msiविंडोज में प्रारूप से कैसे भिन्न हैं ? इसके अलावा इन पैकेज प्रबंधन योजनाओं के पेशेवरों और विपक्ष क्या हैं?


.deb और .rpm .exe की तुलना में .msi से अधिक समान हैं।
इग्नासियो वाज़केज़-अब्राम्स

नोट: "rpm बनाम deb / dpkg के पेशेवरों और विपक्ष क्या हैं" यह पूछते हुए इंटरनेट पर कहीं और इसके साथ एक लौ युद्ध को उकसाने की संभावना है।
स्ट्रूजी डे

जवाबों:


40

फ़ाइलें जैसे .debऔर .rpmएक .zipफ़ाइल के लिए अधिक समान हैं । वे फ़ाइलों और उप-निर्देशिकाओं की एक निर्देशिका ट्री हैं जिसमें एक विशेष एप्लिकेशन और / या फ़ाइलों की लाइब्रेरी से संबंधित फाइलें होती हैं।

distros

.debफ़ाइलें लिनक्स के वितरण कि डेबियन (Ubuntu, लिनक्स टकसाल, आदि) से निकाले जाते हैं के लिए हैं। .rpmफ़ाइलें मुख्य रूप से वितरण कि Redhat आधारित distros (फेडोरा, CentOS, RHEL) से और साथ ही OpenSUSE distro द्वारा निकाले जाते हैं द्वारा किया जाता है।

उनके बारे में क्या खास है?

इन फ़ाइलों में एक अन्य विशेष विशेषता होती है जो उन्हें .zipफ़ाइलों से अलग करती है , इसमें वे एक विनिर्देश शामिल कर सकते हैं जिसमें ऐसे नियम होते हैं जो पैकेज प्रबंधक को एक सिस्टम पर चलने वाले सॉफ़्टवेयर को बताते हैं जो अतिरिक्त कार्यों को करने के लिए इन फ़ाइलों में से एक को स्थापित कर रहा है। इन कार्यों में निम्न बातें शामिल होंगी:

  • सिस्टम पर उपयोगकर्ता खाते बनाना
  • कॉन्फ़िगरेशन फ़ाइलों को बनाना / संशोधित करना जो वास्तव में .debया .rpmफ़ाइल में निहित नहीं हैं
  • स्थापना के बाद फ़ाइलों पर स्वामित्व / अनुमतियाँ सेट करें
  • पैकेज स्थापित करने वाले सिस्टम पर रूट के रूप में कमांड चलाएं
  • निर्भरता, दोनों प्रारूपों में नाम या पैकेज और / या सेवा के नाम शामिल हो सकते हैं जिन्हें उन्हें इंस्टॉलेशन से पहले एक सिस्टम पर मौजूद होना चाहिए।

.Msi फ़ाइलों के बारे में क्या?

.msiफ़ाइलें .deb& .rpmफ़ाइलों के समान हैं, लेकिन संभवतः और भी अधिक परिष्कृत हैं। .msiफ़ाइलें Windows इंस्टालर द्वारा उपयोग और इस तरह के रूप में अतिरिक्त सुविधाओं की पेशकश कर रहे हैं:

  • जीयूआई फ्रेमवर्क
  • दृश्यों की स्थापना रद्द करें
  • अपने भीतर एक फ्रेमवर्क - 3 पार्टी इंस्टालर द्वारा उपयोग के लिए
  • रोलबैक
  • विज्ञापन
  • प्रयोक्ता इंटरफ़ेस
  • आदि।

यदि आप अधिक गहराई से स्पष्टीकरण चाहते हैं, तो मैं इन विषयों पर विभिन्न विकिपीडिया पृष्ठों पर एक नज़र डालने का सुझाव दूंगा।

संदर्भ


चूँकि इसका उत्तर ".deb और .rpm जैसी फाइलें .zip फाइल के समान है ar।" डीबस के मामले में यह सत्यापित करना आसान है कि किसी डिबेट को अनपैक किया जा सकता है ar -x। आरपीएम के मामले में मुझे नहीं पता कि क्या यह संभव है।
फहीम मीठा

@ फहीममिथ:rpm2cpio package.rpm | cpio -idv
निंजाल

@njjalj - धन्यवाद मैं उस कमांड को जोड़ना भूल गया। मैंने इसका उपयोग rpms को अनपैक करने के लिए किया है जब मैं केवल एक फ़ाइल या उनमें से दो चाहता था। आमतौर पर .spec फाइलें।
SLM

@njjalj धन्यवाद, मुझे नहीं पता था कि एक।
फहीम मीठा

31

अन्य उत्तर गुणों के आधार पर स्पर्श करते हैं .debऔर .rpmजो समान हैं .msi। वे सभी एक संकुचित प्रारूप में सॉफ्टवेयर रखते हैं जो कुछ अतिरिक्त चीजें कर सकते हैं। पहले से बताई गई उन अतिरिक्त चीजों में उपयोगकर्ता, पूर्व और बाद के कार्यों को जोड़ना, सिस्टम के साथ कार्यक्रम को पंजीकृत करना (जैसे विंडोज़ रजिस्ट्री, xdg-dirs, OpenRC / systemd init, आदि) शामिल हैं।

स्वरूपों को अलग करता है (और एक विशाल समर्थक है) निर्भरता है। दोनों .debऔर .rpmफाइलें अन्य कार्यक्रमों के नामों और संस्करणों को सूचीबद्ध कर सकती हैं और कर सकती हैं जिन्हें पूर्व-आवश्यक सॉफ़्टवेयर के रूप में स्थापित किया जाना चाहिए। अपने आप से, यह सिर्फ सूचनात्मक है, लेकिन ...

आप आमतौर पर सीधे सहभागिता के साथ नहीं है .debऔर .rpmजिस तरह से आप के साथ क्या फ़ाइलें .msiफ़ाइलें। वास्तव में, जैसा कि पहले कहा गया था, .debएक विशिष्ट निर्देशिका लेआउट में निहित फ़ाइलों के साथ एक्सज़ के साथ संपीड़ित आमतौर पर सिर्फ एक आर्क (अर या टार) है। इसके बजाय आप जैसे टूल का उपयोग dpkgऔर rpmइन फ़ाइलों में हेरफेर करने के।

dpkgऔर rpmसामग्री .debऔर .rpmफ़ाइलों को स्थापित करेगा और सत्यापित करेगा कि सभी पूर्व-अपेक्षित सॉफ़्टवेयर स्थापित हैं। इन प्रोग्राम्स को चलाना किसी .msiफाइल पर क्लिक करने के समान है । उपयोगकर्ता हालांकि, आमतौर पर dpkgया rpmइसके बजाय बातचीत नहीं करते हैं apt-getऔर yumपैकेजों का उपयोग करते हैं। इन उपकरणों में खिड़कियों पर सटीक एनालॉग नहीं हैं।

दोनों apt-getऔर yumदूरदराज के (या स्थानीय) खजाने से फ़ाइलें नहीं लाई और में संग्रहीत निर्भरता जानकारी का उपयोग करने में सक्षम हैं .debऔर .rpmफ़ाइलें लाने के लिए और किसी भी ज़रूरी नहीं मिले स्थापित करने के लिए। इन उपकरणों के साथ मुझे यह जानने या चिंता करने की आवश्यकता नहीं है कि मुझे किस अन्य सॉफ़्टवेयर की आवश्यकता है, मैं बस निर्दिष्ट कर सकता हूं apt-get install chromiumऔर apt-getयह सुनिश्चित कर सकता हूं कि मेरे पास gtk +, alsa, कुछ एक्स लाइब्रेरी इत्यादि हैं, जो मेरे बिना मैन्युअल रूप से खोजने और स्थापित करने के लिए स्थापित किए गए हैं .debऔर ' .rpmफ़ाइलें।

apt-getऔर yumबड़े दो पैकेज प्रबंधक हैं, आप वहां भी पाएंगे emergeऔर pacmanबाहर निकलेंगे, जो अलग-अलग अंतर्निहित तंत्रों के साथ समान कार्य करते हैं।


7
निर्भरता प्रबंधन के बारे में बात करने के लिए +1। इसे नजरअंदाज नहीं किया जाना चाहिए।
ldrumm

1
नोट: मेरा मानना ​​है .debकि arउपयोगिता का उपयोग करके पैक किए गए हैं । पता नहीं क्यों।
स्ट्रूजी

1
यदि आप emergeएक पैकेज मैनेजर के रूप में गिनती करने जा रहे हैं, तो शायद आपको बीएसडी पोर्ट्स पर भी विचार करना चाहिए (हालाँकि मुझे उनके बारे में ज्यादा जानकारी नहीं है, इसलिए मुझे यकीन नहीं है कि उनके पास GNU / लिनक्स)।
स्ट्रूजी

3
@strugee सच है, मैंने इसे प्रतिबिंबित करने के लिए संपादित किया है। तकनीकी रूप से, पोर्टेज पैकेज प्रबंधन इंजन के पीछे है emergeऔर यह बंदरगाहों के समान है। यह सभी स्रोत आधारित और बहुत विन्यास योग्य है, लेकिन यदि कोई कमांड स्थापित / स्थापना रद्द करेगा, निर्भरता को संभालेगा और स्थापित पैकेजों का एक डेटाबेस रखेगा, तो मैं इसे पैकेज प्रबंधक कहूंगा। अच्छी टिप्पणियाँ।
केसी

@ सुस्ती: मुझे dpkg और rpm के अंतर्निहित तंत्र के बारे में अधिक जानकारी कहाँ मिल सकती है?
डेथहोल्स

4

यह विंडोज के तहत एक MSI फ़ाइल के रूप में काफी कार्यात्मकताएं हैं:

  • यह एक रजिस्ट्री में सॉफ्टवेयर को पंजीकृत करता है,
  • यह पंजीकृत करता है कि कौन सी फाइलें उस पैकेज के साथ स्थापित की गई हैं।

लिनक्स के तहत, वे अन्य पैकेजों के बीच निर्भरता का प्रबंधन भी करते हैं।

यह पैकेज प्रबंधन प्रारूप कई अन्य चीजें करता है, लेकिन यह मुख्य कार्य है।


2

.rpmफाइलें RPM पैकेज हैं, जो Red Hat और Red Hat-व्युत्पन्न डिस्ट्रोस (जैसे फेडोरा, RHEL, CentOS) द्वारा उपयोग किए जाने वाले पैकेज प्रकार को संदर्भित करती हैं। .debफाइलें DEB पैकेज हैं, जो डेबियन और डेबियन-डेरिवेटिव्स (जैसे डेबियन, उबंटू) द्वारा उपयोग किए जाने वाले पैकेज प्रकार हैं।

जब डाउनलोड किया जाता है, तो वे आम तौर पर संबंधित डिस्ट्रोस पर क्रमशः rpmऔर dpkgकमांड के माध्यम से इंस्टॉल किए जाते हैं । दूसरे शब्दों में, वे कहते हैं कि द्वारा स्थापित कर रहे हैं फ़ाइलें हैं rpmऔर dpkgबजाय .msiया .exeसेटअप फ़ाइलें जो निष्पादनयोग्य कि खुद को स्थापित कर रहे हैं।

RPM और DEB पैकेज MSI से कई मायनों में भिन्न होते हैं।

  • (यानी जैसा कि ऊपर, वे फ़ाइलें जो अन्य उपकरणों की आवश्यकता होती है rpmऔर dpkg) स्थापित करने के लिए।
  • स्थापित होने पर, उन्हें एक डेटाबेस में जोड़ा जाता है, जो MSI फ़ाइलों में नहीं होता है। MSI फाइलें रजिस्ट्री में प्रोग्राम को सूचीबद्ध करती हैं, लेकिन कंट्रोल पैनल द्वारा एक अनइंस्टॉल को डिस्क से सभी स्थापित फ़ाइलों को पूरी तरह से हटाने की संभावना नहीं है । इस प्रकार, जब RPM और DEB संकुल को अनइंस्टॉल किया जाता है, तो सभी फाइलें सफाई से हटा दी जाती हैं।
  • वे आम तौर पर सीधे डाउनलोड और इंस्टॉल नहीं किए जाते हैं, लेकिन क्रमशः yumऔर जैसे पैकेज प्रबंधकों के माध्यम से aptitude- तथाकथित रिपॉजिटरी हैं जो संबंधित सिस्टम के लिए संकलित पैकेज की पेशकश करते हैं, और पैकेज मैनेजर रिपॉजिटरी में डेटा से स्वचालित रूप से सभी निर्भरता स्थापित करेगा।
  • इंस्टॉल किए गए पैकेज आम तौर पर कई कॉन्फ़िगरेशन टूल चलाते हैं, उदाहरण के लिए यदि आप लाइट डीडीएम के साथ पहले से इंस्टॉल किए गए सिस्टम पर जीडीएम स्थापित करते हैं, तो उपकरण पूछते हैं कि क्या आप लाइट डीडीएम का उपयोग करना पसंद करेंगे।
  • पैकेज स्थापित करते समय, निर्भरता के अलावा कुछ पैकेज सुझाए जाते हैं, जो पैकेज की आवश्यकता नहीं दिखाते हैं, लेकिन उपयोगकर्ता के लिए उपयोगी हो सकते हैं।

1

दोनों .debऔर .rpm(कार्यक्रम (s), आवेदन (रों), आदि) जीएनयू / लिनक्स वितरण के लिए सॉफ्टवेयर संकुल, सॉफ्टवेयर युक्त और "* संस्थापक *" सॉफ्टवेयर ही है और कैसे स्थापित करें क्या और कहाँ करने के बारे में निर्देशों के बारे में सॉफ्टवेयर के लिए जानकारी कर रहे हैं सही ढंग से।

  • .debडेबियन सॉफ्टवेयर पैकेज , डेबियन (आधारित) वितरण पर। जैसे के माध्यम से स्थापित apt/ aptitude(कमांड लाइन), या रेखांकन के माध्यम से उदाहरण के लिए " Synaptic " " Ubuntu सॉफ्टवेयर केंद्र ", " Gdebi ", ...
  • .rpmRed Hat पैकेज प्रबंधक : फेडोरा / Red Hat (आधारित) लिनक्स वितरण में। स्थापित के माध्यम से जैसे yum(कमांड लाइन), या रेखांकन के माध्यम से उदाहरण के लिए " yumex "
  • .msiहै → माइक्रोसॉफ्ट इंस्टॉलर : माइक्रोसॉफ्ट विंडोज ओएस के लिए ऊपर जैसा ही है

खुद इंस्टालर भी रखरखाव, अद्यतन और / या संकुल को हटाने का काम कर सकते हैं। इसके अलावा: यहाँ, " इंस्टॉलर " का अर्थ है इस कार्य को सही ढंग से पूरा करने के लिए सॉफ़्टवेयर - यह उपयोगकर्ता को स्वयं के लिए उल्लेखित जानकारी प्रदान करता है, ज़ाहिर है, ऐसे कार्यों को मैन्युअल रूप से पूरा करने के लिए।


1
PackageKit एक एप्लिकेशन नहीं है। यह वितरण में विभिन्न पैकेज प्रबंधकों के लिए एक अमूर्त पुस्तकालय है।
स्ट्रूजी

@strugee का ख़तरा, लगा कि यही नाम है। मैं वास्तव में आशा yumexहै कि सही नाम है ... संकेत के लिए धन्यवाद
11

मेरा मानना ​​है कि फेडोरा पर डिफ़ॉल्ट गनोम सॉफ्टवेयर है।
स्ट्रैजी डे

@strugee मैंने थोड़ी देर के लिए फेडोरा की कोशिश की, LXDE का इस्तेमाल किया और पैकेज प्रबंधन के लिए एक ग्राफिकल फ्रंट-एंड को याद किया, लेकिन नाम था ... मुझे लगता है, जो भी काम करता है और किसी की इच्छाओं को सबसे अच्छा लगता है :)
erch

1

.deb: डेबियन पैकेज का उपयोग डेबियन-आधारित लिनक्स डिस्ट्रोस जैसे उबंटू, लिनक्स मिंट आदि के लिए किया जाता है।

.rpm: rpmरेड हैट-आधारित लिनक्स डिस्ट्रोस जैसे आरएचईएल, फेडोरा और सेंटोस के लिए इंस्टॉलर

.msi: विंडोज प्लेटफॉर्म के लिए बाइनरी इंस्टॉलर


स्टैक एक्सचेंज में आपका स्वागत है! इस बात का स्पष्टीकरण कि आपको पदच्युत क्यों किया गया है: मैं उन दो लोगों में से नहीं हूं, जिन्होंने नीचा दिखाया है, लेकिन मेरा अनुमान है कि उन्होंने ऐसा इसलिए किया क्योंकि आप यह आरोप लगा रहे हैं कि डेबियन और / या उबंटू जीएनयू / लिनक्स नहीं हैं, और यह असत्य। वो हैं। (और वहाँ सिर्फ डेबियन, उबंटू और फेडोरा की तुलना में बहुत अधिक वितरण हैं।) भी, आपने वास्तव में कुछ भी नहीं समझाया।
17

1
अपडेट: उस निहितार्थ को हटाने के लिए संपादित
डेविडसन चुआ

मुझे लगता है कि डाउनवोट्स वास्तव में केवल एक पंक्ति का विवरण देने के लिए हैं कि फ़ाइल का क्या मतलब है, न कि इन पैकेजों को एक दूसरे से अलग होने का वास्तविक विवरण। चयनित उत्तर पर एक नज़र डालें, यह उस प्रकार की गुणवत्ता है जिसकी वे उत्तर से उम्मीद करते हैं :)
मुनीम
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.