como instalar silenciosamente .dmg no MacOS?


8

Eu tenho um pacote .dmg do MacOS (com botões 'continuar', EULA etc.) que preciso instalar em vários computadores. É uma maneira de fazer isso silenciosamente por meio de um script bash / python / ruby ​​/ etc, assim como a instalação silenciosa do MSI no Windows? Eu posso automatizar a instalação escrevendo scripts que clicam em botões para mim, mas isso parece meio natural :).

Respostas:


14

Para instalar um DMG, você pode fazer isso:

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/

Em poucas palavras, isso

  1. vai para sua pasta da área de trabalho
  2. pega o DarwinPorts no site opendarwin
  3. monta o dmg
  4. vai para o volume DarwinPorts recém-montado
  5. instala o pacote, direcionado à raiz, como o usuário root
  6. ejeta a imagem do disco montado.

você pode usar o Automator para fazer isso ...

código retirado desta página


2
ahem ... você poderia apenas comentar que copypasted codesnippets.joyent.com/posts/show/322 ? : D
Andor 28/05

qual é o objetivo?
Balexandre 28/05/09

7
Dar crédito ao autor original?
ceejayoz

que me diz que ele não copiado de outra;)
balexandre

11
O link de origem está morto, então qual é o objetivo?
Mikael Dúi Bolinder 23/10


2

Isso é um DMG mais um PKG?

Como o DMG, como está, não pode ser instalado, é apenas um volume, uma imagem, como um ISO. Então provavelmente o que você tem é um DMG mais um PKG ou um instalador dentro ...

Se for um PKG, provavelmente pode ser instalado remotamente ou silenciosamente, mas se for outro instalador, pode ser mais complicado, observe agora.

A área de trabalho remota também, como diz o adamvs, pode implantar pacotes nas suas instalações ...


11
.dmg com um .pkg dentro. O .pkg pode ser extraído antes da instalação, não há 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

Eu descobri que essa é uma maneira muito limpa de instalar e é quase totalmente silenciosa (exceto pelo anexo inicial)

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.