回答:
フォルダーをマウントしてコピーする.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をインストールするbash関数は次のとおりです。
# 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
ようにありませんでした