5

У меня нет сервера или чего-то еще, но у меня есть 1 iMac с Snow Leopard в моем офисе, который использует нетехник. Я хотел бы, чтобы он автоматически устанавливал все новые обновления, когда компьютер велел выключаться каждый день. Я знаю, что могу настроить Обновление ПО, чтобы ежедневно проверять наличие обновлений и загружать их, если они существуют. Но как насчет установки их без подтверждения каждый раз. Я не хочу делать работу cron, потому что, если этот человек работает допоздна, было бы не хорошо, если он попытается закрыть их. Также этот человек работает с учетной записью пользователя std, поэтому для установки обновлений мне нужно ввести учетные данные моей учетной записи уровня администратора. Есть какой-либо способ сделать это?

1 ответ1

4

Установка обновлений (или что-либо еще, в этом отношении) при завершении работы в 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 и устанавливать все доступные обновления.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .