Установка обновлений (или что-то еще) при завершении работы в Mac OS X проблематична, так как операционная система дает процессам отключение всего за восемь секунд до того, как она их убивает - почти не хватает времени для обновления.
Тем не менее, есть, вероятно, способы решить вашу проблему. В зависимости от того, насколько хорошо вы и ваши рабочие шаблоны совпадают, вы можете подождать, пока они уведомят вас о наличии обновлений и их удобно перезапустить, а затем ввести пароль администратора лично или через VNC / Screen Sharing.
Кроме того, если у вас активен SSH, вы можете войти в систему и использовать программу командной строки softwareupdate.
Apple предлагает перезагрузить компьютер сразу после запуска, softwareupdateесли есть обновление, которое требует его, но вы можете позволить компьютеру перезагрузиться в обычном режиме в конце дня - перезагрузка определенно не вызывается программой обновления , как это с версией GUI. Если вы готовы рискнуть этим, то можете написать это: создайте следующий список свойств Launchd.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>some.meaningful.name</string>
<key>ProgramArguments</key>
<array>
<string>softwareupdate</string>
<string>-i</string>
<string>-a</string>
</array>
<key>StartCalendarInterval</key>
<dict>
<key>Hour</key>
<integer>20</integer>
<key>Minute</key>
<integer>00</integer>
</dict>
<key>RunAtLoad</key>
<false/>
<key>KeepAlive</key>
<false/>
</dict>
</plist>
Сохраните это /Library/LaunchDaemons/some.meaningful.name.plist, затем в терминале сделайте:
sudo launchctl load /Library/LaunchDaemons/some.meaningful.name.plist
Это будет работать softwareupdateкаждый день в 20:00 и устанавливать все доступные обновления.