Yanıtlar:
Ben monte zorunda kaldı ve kopyalamak .app
için /Applications
klasöre. Etcher.app için:
@Trojanfoe dediği gibi ilk:
sudo hdiutil attach /Users/janatac/Etcher-1.2.1.dmg
Sonra
sudo cp -R /Volumes/Etcher\ 1.2.1/Etcher.app /Applications
Daha sonra uygulamanızı /Applications
klasörde bulundurun
Birimi ayırmayı unutma:
sudo hdiutil unmount /Volumes/Etcher\ 1.2.1/
Bir blog gönderisinden gelen talimatları okuduktan sonra çalışmaya başladı .
Yüklemeyi başlatmak isterseniz, .dmg
dosyanın adı, oluşturulan Birimin adı, uygulamanın adı ve çıkarılması gereken aygıtın adı farklı olabileceğinden, birkaç adım daha gerekir. Artı, içinde boşluklar da olabilir.
Ayrıca .dmg
, içinde bir .app
dosya veya bir .pkg
dosya olabilir ve bunlar farklı davranış gerektirir.
Uzak bir URL'den bir dmg yüklemek için bir bash işlevi:
# 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
}
Not: Programı kurmak için çalışan .dmg
bir .app
dosyanız varsa, tekrar farklı bir şey yapmanız gerekecek.
hdiutil: detach failed - No such file or directory
Komutu deneyebilirsin open disk://host.tld/image.dmg
.
open
hiçbir şey yapmadım, sadece hata mesajı olmadan çıkın.
open path/to/file.dmg
disk://host.tld/
Docker.dmg
ve<image>.pkg
işe yaramadım ki hiçbir işe yaramadı