जब आप अपने Mac के लिए कोई नया प्रोग्राम डाउनलोड करते हैं, तो यह अक्सर ".dmg" फ़ाइल के साथ आता है। उनके डिस्क-ऑन-पेपर आइकन द्वारा आसानी से पहचाने जाने योग्य, "dmg" एक्सटेंशन डिस्क इमेज के लिए है। जब आप dmg पर डबल-क्लिक करते हैं, तो यह माउंट होता है (या, अधिक उचित रूप से, अटैच होता है), जिससे Finder में इसकी सामग्री प्रकट होती है। वहां से, उपयोगकर्ता नए ऐप्स को अपने Macs पर इंस्टॉल करने के लिए इमेज की सामग्री को एप्लिकेशन डायरेक्टरी में ड्रैग और ड्रॉप करते हैं।
यह प्रक्रिया Windows की इंस्टॉलर-नेतृत्व वाली प्रक्रिया से बहुत अलग है और नए macOS उपयोगकर्ताओं के लिए दुस्साहस का कारण बन सकती है। जब मैं Windows से माइग्रेट कर रहा था, तो मुझे नहीं पता था कि यह अंतिम चरण आवश्यक है। आखिरकार, कई प्रोग्राम अपनी डिस्क इमेज से पूरी तरह से चल सकते हैं, और डिस्क इमेज हमेशा "ड्रैग-टू-एप्लिकेशन" चरण की व्याख्या नहीं करती हैं। परिणामस्वरूप, मैंने लगभग एक महीने तक Firefox को डिस्क इमेज से लॉन्च किया जब तक कि मुझे एहसास नहीं हुआ कि मेरे पास कोई बुकमार्क नहीं है और मैं समझ नहीं पाया कि क्यों।
तो नए एप्लिकेशन के लिए DMG फ़ाइलें क्यों आवश्यक हैं, और किसी चीज़ को "माउंट" करने का क्या मतलब है सिर्फ एक फ़ाइल को ड्रैग और ड्रॉप करने के लिए?
कारण 1: Mac एप्लिकेशन संरचना

जबकि एक Mac एप्लिकेशन को एक आकर्षक आइकन द्वारा दर्शाया जाता है जिसे आप एप्लिकेशन लॉन्च करने के लिए डबल-क्लिक करते हैं, वह आइकन एक रहस्य छुपाता है। वह .app फ़ाइल वास्तव में एक पैकेज का प्रतिनिधित्व करती है। यह अनिवार्य रूप से एक फ़ोल्डर है जिसमें एप्लिकेशन की सभी फाइलें होती हैं।
स्वयं देखें: Finder में किसी भी एप्लिकेशन पर राइट-क्लिक करें और अपने दम पर एक्सप्लोर करने के लिए "पैकेज सामग्री दिखाएं" चुनें। क्योंकि macOS एप्लिकेशन अनिवार्य रूप से फ़ोल्डर हैं, उन्हें नए कंप्यूटरों तक फ़ाइलों को खोए बिना ले जाने के लिए किसी प्रकार के कंटेनर की आवश्यकता होती है। एक नग्न फ़ोल्डर को स्थानांतरित करना गड़बड़ हो सकता है, खासकर नेटवर्क पर।
यह एक दर्जन अंडों को कार्टन के बिना ले जाने जैसा है। और पता चला है कि DMG एक बहुत अच्छा अंडा कार्टन बनाता है। बेशक, अन्य फॉर्मेट एक फ़ोल्डर को रख सकते हैं; DMG को इतना टिकाऊ और क्या बनाता है?
कारण 2: सौंदर्य अनुकूलन

डिस्क इमेज एक अद्वितीय लाभ भी प्रदान करती हैं: उनकी उपस्थिति और उपयोगकर्ता के इंस्टॉलेशन अनुभव को अनुकूलित करने की क्षमता। इसमें कस्टम आइकन, आइकन पोजिशनिंग और बैकग्राउंड इमेज जैसी सुविधाएं सेट करना शामिल है।
जब आप एक डिस्क इमेज खोलते हैं और ऐप को एप्लिकेशन फ़ोल्डर में खींचने के लिए प्रेरित करने वाला तीर देखते हैं, तो आप वास्तव में DMG की बैकग्राउंड इमेज को देख रहे होते हैं। यह अन्य कंटेनर फॉर्मेट के साथ संभव नहीं है, और macOS डेवलपर्स दृश्य डिजाइन के प्रति संवेदनशील हैं। ZIP आर्काइव कंप्रेशन प्रदान कर सकते हैं, लेकिन वे वास्तविक इंस्टॉलर चलाए बिना इस डिग्री का "इंस्टॉलेशन अनुभव" प्रदान नहीं कर सकते। इसके बजाय, अनज़िपिंग प्रोग्राम बस फ़ाइलों को एक फ़ोल्डर में डाल देता है, जिससे डेवलपर को थोड़ा सौंदर्य नियंत्रण मिलता है।
कारण 3: डिस्क इमेज CDs के समान हैं
याद रखें कि डिस्क इमेज भौतिक मीडिया के दिन में लोकप्रिय हुईं (और Apple द्वारा अपनाई गईं)। उस प्राचीन समय में, उपयोगकर्ता एक स्टोर पर जाकर और एप्लिकेशन के इंस्टॉलेशन CD वाले बॉक्स को खरीदकर सॉफ़्टवेयर खरीदते थे। वे फिर CD को अपने CD ड्राइव में डालते थे और "माउंटेड" CD से एप्लिकेशन को एप्लिकेशन फ़ोल्डर में खींचते थे। वे CD को बाहर निकालकर और भविष्य के इंस्टॉलेशन के लिए उसके ज्वेल केस में वापस रखकर इसका पालन करते थे।
डिस्क इमेज उस प्रक्रिया की नकल करती है, एक परिचित उपयोगकर्ता व्यवहार पर पिग्गी-बैकिंग। इमेज रीड-ओनली भी हो सकती हैं (बस एक CD की तरह), जिससे उपयोगकर्ता को एप्लिकेशन की ज्ञात अच्छी कॉपी को नुकसान पहुंचाने या बदलने से रोका जा सके। उपयोगकर्ता डिस्क इमेज को आर्काइव कर सकते हैं, यह जानते हुए कि आपात स्थिति के मामले में उनके पास ऐप की एक कार्यात्मक कॉपी सुरक्षित रखी गई है।
निष्कर्ष: आधुनिक विकल्प और पैकेज इंस्टॉलर

डिस्क इमेज आज भी बहुत उपयोग में हैं। उनके लाभों के साथ, DMGs ने परंपरा और अपेक्षा की एक परत विकसित की है। उपयोगकर्ता नए सॉफ़्टवेयर के DMG के माध्यम से वितरित होने की उम्मीद करते हैं, इसलिए डेवलपर्स इसे उस तरह प्रदान करते हैं। लेकिन आपको इंटरनेट पर बिखरे हुए ZIP आर्काइव के अंदर नंगे .app फ़ाइलों की एक उचित मात्रा भी मिलेगी। यह GitHub या छोटे डेवलपर्स के एप्लिकेशन के लिए विशेष रूप से सच है।
आपको एप्लिकेशन पैकेज (.pkg) में ऑनबोर्ड इंस्टॉलर के साथ भी मिल सकते हैं। डेवलपर्स पैकेज फॉर्मेट का उपयोग तब करते हैं जब एप्लिकेशन को खुलने पर निर्देशों को निष्पादित करने की आवश्यकता होती है। यह विशेष रूप से उपयोगी होता है जब प्रोग्राम को "/Applications" के बाहर निर्देशिकाओं में फ़ाइलों को कॉपी करने की आवश्यकता होती है। उदाहरण के लिए, यदि इंस्टॉलर को कस्टम फॉन्ट इंस्टॉल करने या लाइब्रेरी डायरेक्टरी में फ़ाइलों को कॉपी करने की आवश्यकता है, तो पैकेज फॉर्मेट इंस्टॉलर के साथ इसे पूरा कर सकता है।
यदि आप इस सब में रुचि रखते हैं, तो आप डिस्क इमेज के इतिहास के बारे में पढ़ सकते हैं।