Respuestas:
Tuve que montar y copiar el .app
de /Applications
la carpeta. Para Etcher.app:
Primero como dijo @trojanfoe:
sudo hdiutil attach /Users/janatac/Etcher-1.2.1.dmg
Luego
sudo cp -R /Volumes/Etcher\ 1.2.1/Etcher.app /Applications
Luego tienes tu aplicación en la /Applications
carpeta
No olvide desmontar el volumen:
sudo hdiutil unmount /Volumes/Etcher\ 1.2.1/
Lo hice funcionar después de leer las instrucciones de una publicación de blog .
Si desea realizar una secuencia de comandos de la instalación, requiere algunos pasos más, ya que el nombre del .dmg
archivo, el nombre del volumen creado, el nombre de la aplicación y el nombre del dispositivo que debe desconectarse pueden ser diferentes. Además, pueden tener espacios en ellos.
También se .dmg
puede tener un .app
archivo o un .pkg
archivo y requieren un comportamiento diferente.
Aquí hay una función bash para instalar un dmg desde una URL remota:
# 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
}
Tenga en cuenta que si .dmg
tiene un .app
archivo que se ejecuta para instalar el programa, deberá volver a hacer algo diferente.
hdiutil: detach failed - No such file or directory
Podrías probar el comando open disk://host.tld/image.dmg
.
open
no hizo nada, solo salió, sin mensaje de error.
open path/to/file.dmg
disk://host.tld/
Docker.dmg
y no tenía<image>.pkg
para que no funcionara