উত্তর:
প্রথমে, dmg চিত্রটি মাউন্ট করুন: sudo hdiutil attach <image>.dmg
ছবিটি মাউন্ট করা হবে /Volumes/<image>
। খনিতে একটি প্যাকেজ রয়েছে যা আমি এটি দিয়ে ইনস্টল করেছি:sudo installer -package /Volumes/<image>/<image>.pkg -target /
অবশেষে ইমেজ আন-মাউন্ট করা: sudo hdiutil detach /Volumes/<image>
।
আমাকে মাউন্ট .app
করে /Applications
ফোল্ডারে অনুলিপি করতে হয়েছিল । ইচার.অ্যাপের জন্য:
@ ট্রোজানফোয় হিসাবে প্রথম বলেছেন:
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
I disk://host.tld/
যদিও আমি কাজ করি বলে মনে করি না ))
Docker.dmg
এবং আমার এমন কোনও<image>.pkg
কাজ ছিল যাতে ডিট কাজ না করে