como instalar silenciosamente .dmg no MacOS?

8

Eu tenho um pacote .dmg MacOS (com os botões 'continue', EULA, etc) que preciso instalar em vários computadores. É uma maneira de fazer isso silenciosamente através de um script bash / python / ruby / etc, assim como a instalação silenciosa do MSI no Windows? Eu posso automatizar o script de escrita de instalação que clicará nos botões para mim, mas isso não é natural:).

    
por grigoryvp 28.05.2009 / 11:01

4 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 a pasta da área de trabalho
  2. pega o DarwinPorts no site do opendarwin
  3. monta o dmg
  4. vai para o volume recém-montado do DarwinPorts
  5. instala o pacote, direcionado para a raiz, como o usuário raiz
  6. ejeta a imagem do disco montado.

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

código retirado de esta página

    
por 28.05.2009 / 12:01
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 eu tenho usado o ARD por tanto tempo, eu tenho medo de não saber disso!

    
por 28.05.2009 / 11:45
2

Isso é um DMG mais uma PKG?

Porque o DMG, como é, 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 é um PKG, provavelmente pode ser instalado remotamente ou silenciosamente, mas se for outro instalador, pode ser mais complicado, tenha certeza agora ...

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

    
por 28.05.2009 / 11:50
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

Descobri que esta é uma maneira realmente limpa de instalar e é quase totalmente silenciosa (exceto pela conexão inicial)

    
por 23.10.2014 / 14:56