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 :).

grigoryvp
fonte

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

balexandre
fonte
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
4

Se você estiver administrando vários Macs, recomendo investir em uma cópia do ARD - tenho certeza de que há uma resposta de script para sua pergunta, mas estou usando o ARD há tanto tempo que, infelizmente, não Sei!

avstrallen
fonte
11
para responder à pergunta, e usando ARD, veja este link: apple.com/remotedesktop/softwaredistribution.html
balexandre
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 ...

Andor
fonte
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)

matthew.bassett
fonte