Назад | Перейти на главную страницу

как тихо установить .dmg в MacOS?

У меня есть пакет MacOS .dmg (с кнопками «продолжить», лицензионным соглашением и т. Д.), Который мне нужно установить на нескольких компьютерах. Можно ли сделать это незаметно с помощью сценария bash / python / ruby ​​/ etc, как при тихой установке MSI в Windows? Я могу автоматизировать установку скрипта, который будет нажимать кнопки, но это выглядит неестественно :).

чтобы установить DMG, вы можете сделать это:

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/

Вкратце, это

  1. переходит в папку на рабочем столе
  2. захватывает DarwinPorts с сайта opendarwin
  3. устанавливает dmg
  4. переходит к недавно смонтированному тому DarwinPorts
  5. устанавливает пакет, предназначенный для корневого пользователя, как пользователь root
  6. извлекает образ смонтированного диска.

тогда вы можете использовать Автомат сделать это...

код взят из эта страница

Если вы администрируете несколько компьютеров Mac, я настоятельно рекомендую приобрести копию ARD - Я уверен, что на ваш вопрос есть скриптовый ответ, но я так давно использую ARD, боюсь, что не знаю!

Это DMG плюс PKG?

Поскольку DMG, как есть, не может быть установлен, это просто том, образ, как ISO. Так что, вероятно, у вас есть DMG плюс PKG или установщик внутри ...

Если это PKG, вероятно, его можно установить удаленно или автоматически, но если это другой установщик, это может быть сложнее, обратите внимание, что прямо сейчас ...

Удаленный рабочий стол также, как говорит adamvs, может развертывать пакеты в ваших установках ...

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

Я обнаружил, что это действительно чистый способ установки и почти полностью бесшумный (за исключением начального прикрепления)