답변:
폴더 를 마운트하고 복사해야 .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
그렇게 작동 하지 않도록 아무것도 없었다