जवाबों:
मुझे फ़ोल्डर को माउंट और कॉपी करना .app
था /Applications
। Etcher.app के लिए:
सबसे पहले @trojanfoe ने कहा:
sudo hdiutil attach /Users/janatac/Etcher-1.2.1.dmg
फिर
sudo cp -R /Volumes/Etcher\ 1.2.1/Etcher.app /Applications
फिर आपके पास /Applications
फ़ोल्डर में अपना आवेदन है
वॉल्यूम अनमाउंट करना न भूलें:
sudo hdiutil unmount /Volumes/Etcher\ 1.2.1/
यह एक ब्लॉग पोस्ट से निर्देश पढ़ने के बाद काम मिल गया ।
यदि आप इंस्टॉल को स्क्रिप्ट करना चाहते हैं .dmg
, तो फ़ाइल के नाम, बनाए गए वॉल्यूम का नाम, एप्लिकेशन का नाम और जिस डिवाइस को अलग करने की आवश्यकता है उसके नाम के लिए कुछ और चरणों की आवश्यकता होती है , सभी अलग-अलग हो सकते हैं। साथ ही उनमें स्पेस हो सकता है।
इसके अलावा .dmg
इसमें एक .app
फ़ाइल या एक .pkg
फ़ाइल हो सकती है और इसके लिए अलग-अलग व्यवहार की आवश्यकता होती है।
यहाँ एक दूरस्थ URL से एक dmg स्थापित करने के लिए एक बश फ़ंक्शन है:
# usage: installdmg https://example.com/path/to/pkg.dmg
function installdmg {
set -x
tempd=$(mktemp -d)
curl $1 > $tempd/pkg.dmg
listing=$(sudo hdiutil attach $tempd/pkg.dmg | grep Volumes)
volume=$(echo "$listing" | cut -f 3)
if [ -e "$volume"/*.app ]; then
sudo cp -rf "$volume"/*.app /Applications
elif [ -e "$volume"/*.pkg ]; then
package=$(ls -1 "$volume" | grep .pkg | head -1)
sudo installer -pkg "$volume"/"$package" -target /
fi
sudo hdiutil detach "$(echo "$listing" | cut -f 1)"
rm -rf $tempd
set +x
}
ध्यान दें कि यदि आपके .dmg
पास एक .app
फ़ाइल है जो प्रोग्राम को स्थापित करने के लिए चलती है, तो आपको फिर से कुछ अलग करने की आवश्यकता होगी।
hdiutil: detach failed - No such file or directory
आप कमांड को आजमा सकते हैं open disk://host.tld/image.dmg
।
open
त्रुटि संदेश के बिना, बस बाहर निकलें, कुछ भी नहीं किया।
open path/to/file.dmg
। मुझे नहीं लगता कि disk://host.tld/
हालांकि काम करता है।)
Docker.dmg
और मेरे पास<image>.pkg
ऐसा नहीं था, जो काम नहीं करता था