Antworten:
Hängen Sie zuerst das dmg-Image ein: sudo hdiutil attach <image>.dmg
Das Bild wird an gemountet /Volumes/<image>. Meins enthielt ein Paket, das ich mit installierte:sudo installer -package /Volumes/<image>/<image>.pkg -target /
Schließlich aushängen das Bild: sudo hdiutil detach /Volumes/<image>.
Ich musste den .appin /ApplicationsOrdner mounten und kopieren . Für Etcher.app:
Zuerst wie @trojanfoe sagte:
sudo hdiutil attach /Users/janatac/Etcher-1.2.1.dmg
Dann
sudo cp -R /Volumes/Etcher\ 1.2.1/Etcher.app /Applications
Sie haben dann Ihre Bewerbung im /ApplicationsOrdner
Vergessen Sie nicht, den Datenträger abzuhängen:
sudo hdiutil unmount /Volumes/Etcher\ 1.2.1/
Habe es funktioniert, nachdem ich Anweisungen aus einem Blog-Post gelesen habe .
Wenn Sie die Installation .dmgper Skript ausführen möchten, sind einige weitere Schritte erforderlich, da der Name der Datei, der Name des erstellten Volumes, der Name der Anwendung und der Name des Geräts, das getrennt werden muss, unterschiedlich sein können. Außerdem können sie Leerzeichen enthalten.
A .dmgkann auch eine .appDatei oder eine .pkgDatei enthalten, die ein anderes Verhalten erfordern.
Hier ist eine Bash-Funktion, um ein DMG von einer entfernten URL zu installieren:
# 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
}
Hinweis: Wenn auf Ihrem .dmgComputer eine .appDatei zum Installieren des Programms ausgeführt wird, müssen Sie erneut eine andere Aktion ausführen.
hdiutil: detach failed - No such file or directory
Sie könnten den Befehl versuchen open disk://host.tld/image.dmg.
openhabe nichts gemacht, nur beenden, ohne Fehlermeldung.
open path/to/file.dmg. Ich glaube nicht disk://host.tld/funktioniert.)
Docker.dmgund ich hatte keine<image>.pkgso, dass es nicht funktioniert