क्यों हम `.dmg` फ़ाइलों के माध्यम से सॉफ़्टवेयर स्थापित करते हैं?


28

जब मैं सॉफ़्टवेयर स्थापित करना चाहता हूं, तो मैं आमतौर पर एक .dmg(डिस्क iMaGe) फ़ाइल डाउनलोड करता हूं । जब मैं इसे खोलता हूं, तो यह .dmgफाइल दिखती है कि मैं "वर्चुअल डिस्क" क्या कहूंगा (इसलिए इसका नाम मैं मान लेता हूं) और इसके Finderअंतर्गत सूचीबद्ध है devices। यह भी Disk Utilityनीचे सूचीबद्ध है Disk Imagesऔर ऐसा लगता है कि यह किसी भी अन्य डिस्क की तरह मिटाया या अनमाउंट किया जा सकता है।

  • किस तर्क के लिए सॉफ़्टवेयर को "वर्चुअल डिस्क" के साथ स्थापित करने की आवश्यकता है?
  • यह एक साधारण बाइनरी फ़ाइल के रूप में क्यों नहीं आता है या मुझे नहीं पता कि क्या है?

12
स्थापित कर रहा है सॉफ्टवेयर हमेशा कारण बन सकते हैं d एक मीटर एक जी ई।
मिठाई

1
एक साधारण बाइनरी फ़ाइल एक इंस्टॉलर होगी। DMG के साथ आप बस इंस्टॉलर को चलाए बिना एप्लिकेशन को कॉपी करते हैं।
थोरबजोरन रावन एंडरसन

10
अधिकांश मैक ऐप्स एकल फ़ाइलों की तरह दिखते हैं, लेकिन वास्तव में "एप्लिकेशन बंडल" हैं, मूल रूप से अंदर कई फ़ाइलों के साथ फ़ोल्डर। खोजक इसे एकल इकाई के रूप में प्रदर्शित करता है, लेकिन आप उन पर राइट क्लिक कर सकते हैं और अंदर फ़ाइलों का निरीक्षण करने के लिए "खुली सामग्री" का चयन कर सकते हैं। तो, "सरल बाइनरी" काम नहीं करेगा।
el.pescado


अंतिम पैराग्राफ एक अलग प्रश्न होना चाहिए क्योंकि यह अलग-अलग उत्तरों को जन्म दे रहा है
user151019

जवाबों:


34

DMG में कुछ प्रमुख विशेषताएं होती हैं जो उन्हें सादे पुराने ज़िप से बेहतर बनाती हैं

  • वे एक पूर्ण फ़ाइल सिस्टम हैं (जिसका अर्थ है कि वे फ़ाइल अनुमतियों को संग्रहीत कर सकते हैं, कस्टम फ़ोल्डर पृष्ठभूमि आदि हो सकते हैं)
  • वे बढ़ते हुए पहले "अनिवार्य" EULAs का समर्थन करते हैं जो कानूनी सामान के लिए अच्छा है
  • अधिक विश्वसनीय निष्पादन वातावरण प्रदान करें। यदि आपको स्थापना के लिए पूर्ण पथ सामान करना है (जो आपको नहीं चाहिए) तो आप DMG तैयार कर सकते हैं, इसे केवल पढ़ने के लिए चिह्नित करें और इसे स्थापित करने के लिए उपयोग करें

वास्तव में मुख्य विशेषता यह है कि वे पूर्ण HFS + फाइलसिस्टम का समर्थन करते हैं। ज़िप (आमतौर पर, लिनक्स संस्करण कभी-कभी अनुमतियों का समर्थन करते हैं) बेवकूफ है और केवल फाइलों और फ़ोल्डरों को बंडल करने का समर्थन करता है और कुछ नहीं। कोई मेटाडेटा नहीं, बस फाइलें।


14
अतिरिक्त बिंदु: 10.12 से शुरू होकर .dmg फ़ाइलों को अखंडता के लिए कोड-हस्ताक्षरित किया जा सकता है (.zip फ़ाइलों में हस्ताक्षरित कोड हो सकता है , लेकिन खुद को इस तरह से साइन इन नहीं किया जा सकता है जो डाउनलोड होने से बचे रहेंगे)। इसके अलावा, "सरल बाइनरी" विकल्प बिल्कुल भी काम नहीं करता है, क्योंकि अधिकांश macOS सॉफ्टवेयर संकुल के रूप में आते हैं - कॉम्प्लेक्स (छिपे हुए) आंतरिक संरचना वाले फ़ोल्डर - सादे फ़ाइलों के बजाय।
गॉर्डन डेविसन

9
"जिप बेवकूफ है और केवल समर्थन करता है ..." - मैं उस मूल्यांकन से असहमत हूं। सिर्फ इसलिए कि कुछ सरल है इसका मतलब यह नहीं है कि यह बेवकूफ है। सादगी एक गुण है, और वितरित इंस्टॉलर में किसी भी मूल्य का फ़ाइल मेटाडाटा शायद ही कभी (अक्सर अदृश्य है)।
दाई

14
@ दाई का अर्थ है कि वह मूर्ख के रूप में मूर्ख है; कार्यक्रम यह नहीं जानता कि यह क्या कर रहा है - यह नहीं कि यह बेकार है।
टिम

3
मुझे लगता है कि ज़िप बहुत अच्छी तुलना में नहीं है। क्यों नहीं जैसे संकुचित TAR tar.gz? यह स्टोर की अनुमति देता है।
रुस्लान

2
@Dai, "शायद ही कभी (अक्सर अदृश्य है) एक वितरित इंस्टॉलर में किसी भी मूल्य का मेटाडेटा फ़ाइल" - कई अन्य प्लेटफार्मों पर सच है, लेकिन ऐप्पल के पास "संसाधन कांटे" में महत्वपूर्ण सामग्री (यानी आइकन!) संग्रहीत करने का एक लंबा इतिहास है। इन दिनों, xattrs)।
चार्ल्स डफी

3

मैक सॉफ्टवेयर को एक .appएप्लिकेशन बंडल के रूप में वितरित किया जा सकता है (अनिवार्य रूप से एक फ़ोल्डर जिसमें सभी प्रोग्राम संसाधन होते हैं) या एक .pkgइंस्टॉलर के रूप में जो एक प्रोग्राम है जो विंडोज़ के समान तरीके से एप्लिकेशन इंस्टॉल करता है।

केवल कमांड लाइन उपकरण सादा बाइनरी जो फिर उपयोगकर्ता के में कहीं में कॉपी किया जाएगा रूप में उपलब्ध हैं PATHजैसे /usr/local/bin

इन्हें OS X / macOS डिस्क छवि ( .dmg) या पारंपरिक संग्रह प्रारूप जैसे कि .zipया में पैक किया जा सकता है .tar


किस तर्क के लिए सॉफ़्टवेयर को "वर्चुअल डिस्क" के साथ स्थापित करने की आवश्यकता है?

यह काफी हद तक डेवलपर के लिए है। A .dmgसिर्फ एक वर्चुअल हार्ड ड्राइव है जो इंस्टॉलर नहीं है। उपयोग करने का विकल्प .dmgस्थापना के बजाय पैकेजिंग के बारे में है।

यदि कोई एप्लिकेशन एक साधारण .appबंडल है तो यह स्वयं समाहित है और इसे डबल क्लिक करके चलाया जा सकता है। यह आमतौर पर /Applicationsसुविधा के लिए कॉपी किया जाता है ।

खोलने पर एन्क्रिप्शन और EULAs के अलावा, .dmgएक संग्रह प्रकार से अधिक का लाभ ब्रांडिंग है। .dmgs को कस्टम आइकन, कस्टम बैकग्राउंड इमेज और कंटेंट का लेआउट दिया जा सकता है। .dmgs आमतौर पर केवल इसलिए पढ़े जाते हैं ताकि सामग्री वैसी ही बनी रहे जैसा कि डेवलपर ने इरादा किया था।

वे उपयोगकर्ता को यह चुनने के लिए भी मजबूर करते हैं कि वे आवेदन कहाँ करना चाहते हैं; जब आप किसी संग्रह को अनज़िप करते हैं तो सामग्री आम तौर पर जहां भी संग्रह स्थित थी, वहां से निकाली जाएगी। इसके विपरीत, .dmgएस फाइल सिस्टम में माउंट होगा और फिर .appबंडल को स्पष्ट रूप से कॉपी किया जाना चाहिए।


यह एक साधारण बाइनरी फ़ाइल के रूप में क्यों नहीं आता है या मुझे नहीं पता कि क्या है?

एक मैक एप्लीकेशन सिर्फ एक बाइनरी से अधिक है। बाइनरी के अलावा (पर स्थित <appname>.app/Contents/MacOS/) में कई .appसंसाधन शामिल हैं <appname>.app/Contents/Resources/। इन संसाधनों में आइकन, ग्राफिक्स और स्थानीयकरण फ़ाइलें शामिल हैं जैसे en.lproj


2

क्या सॉफ़्टवेयर स्थापना के अलावा .DMg फ़ाइलों के लिए कोई अन्य उपयोग है?

DMGs के बारे में एक अन्य उपयोगी विशेषता (जब से आपने अन्य उपयोगों के बारे में पूछा) एक एन्क्रिप्टेड स्टोरेज स्पेस बनाने और उस संरक्षित स्थान में फ़ाइलों को स्टोर करने की क्षमता है। उपयोगी है अगर आप कुछ फ़ाइलों को सुरक्षित रखना चाहते हैं, लेकिन अपनी संपूर्ण मुख्य हार्ड डिस्क को एन्क्रिप्ट नहीं करते हैं।

MacOS Sierra के लिए डिस्क उपयोगिता देखें : एन्क्रिप्टेड .dmg फ़ाइलों को बनाने के लिए अधिक जानकारी के लिए डिस्क उपयोगिता का उपयोग करके एक डिस्क छवि बनाएं


एन्क्रिप्शन हालांकि पहले से ही आवश्यकता के बिना उल्लेखनीय है .dmg। Unix एन्क्रिप्ट नहीं करता है?
पचेरियर

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