¿Cómo instalar silenciosamente .dmg en MacOS?


8

Tengo un paquete .dmg MacOS (con botones 'continuar', EULA, etc.) que necesito instalar en varias computadoras. ¿Es una manera de hacerlo silenciosamente a través de un script bash / python / ruby ​​/ etc como la instalación silenciosa de MSI en Windows? Puedo automatizar la instalación del script de escritura que hará clic en los botones para mí, pero parece un poco antinatural :).

Respuestas:


14

para instalar un DMG puedes hacer esto:

cd ~/Desktop

curl -O http://darwinports.opendarwin.org/downloads/DarwinPorts-1.2-10.4.dmg

hdiutil attach DarwinPorts-1.2-10.4.dmg

cd /Volumes/DarwinPorts-1.2/

sudo installer -pkg DarwinPorts-1.2.pkg -target "/"

hdiutil detach /Volumes/DarwinPorts-1.2/

En pocas palabras, esto

  1. va a la carpeta de tu escritorio
  2. toma DarwinPorts del sitio opendarwin
  3. monta el dmg
  4. va al volumen DarwinPorts recién montado
  5. instala el paquete, dirigido a la raíz, como usuario root
  6. expulsa la imagen del disco montado.

entonces puedes usar Automator para hacer esto ...

código tomado de esta página


2
ejem ... ¿podrías comentar que copiaste codenippets.joyent.com/posts/show/322 ? : D
Andor

¿Cuál es el punto de?
balexandre

77
¿Dar crédito al autor original?
ceejayoz

que me dice que no copiado de otra;)
balexandre

1
El enlace fuente está muerto, ¿cuál es el punto?
Mikael Dúi Bolinder


2

¿Es eso un DMG más un PKG?

Debido a que DMG, tal como está, no se puede instalar, es solo un volumen, una imagen, como un ISO. Entonces, probablemente lo que tienes es un DMG más un PKG o un instalador dentro ...

Si se trata de un PKG, probablemente se pueda instalar de forma remota o silenciosa, pero si se trata de otro instalador, puede ser más complicado, tenga en cuenta ahora mismo ...

El escritorio remoto también, como dice adamvs, puede implementar paquetes en sus instalaciones ...


1
.dmg con un .pkg adentro. .pkg se puede extraer antes de la instalación, no hay problemas.
grigoryvp


0
echo "mounting server"
  mount_afp afp://username:password@yourserver
  hdiutil attach /Volumes/yourserver/pathtodmg.dmg
  /usr/sbin/installer -pkg /Volumes/pathtopkgfile.pkg -target / -verboseR
echo "umounting the repository"
  umount /Volumes/yourserver
  status=$?
    if [ $status != 0 ]
    then
        echo "Something went wront unmounting the server... no problem... we'll just remove the directory"
        rmdir /Volumes/yourserver
    fi

He encontrado que esta es una forma muy limpia de instalación y es casi completamente silenciosa (excepto el archivo adjunto inicial)

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.