Могу ли я настроить OS X на автоматическую установку любых загруженных обновлений, когда компьютер получит команду завершить работу?

5

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

jamone
источник
Все, что происходит автоматически, потребует сохранения вашего пароля на компьютере, что является плохой идеей. Можете ли вы настроить свой аккаунт, чтобы он мог устанавливать обновления самостоятельно. Если у него есть компьютер, он сможет управлять ими.
Ramhound
Я не знаю, что я могу сделать, чтобы авторизовать его учетную запись, чтобы иметь возможность устанавливать обновления, но не изменять другие параметры системы. Есть идеи по этому поводу?
jamone

Ответы:

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 и устанавливать все доступные обновления.

Скотт
источник
1
Приятно знать, что softwareupdateэто не заставляет перезапустить. Очень удобно. Любая идея, если это может сломать вещи, продолжая использовать машину?
Даниэль Бек
@ Даниэль Бек Я действительно не знаю. Инструкции Apple (для OS X Server, хотя softwareupdateи на клиенте тоже) я связал, чтобы сказать: «Важно: если обновление помечено как« [перезапуск] », вам нужно будет перезагрузить сервер сразу после установки». что подразумевает, что лучше перезапустить немедленно, но они не дают больше подробностей. Тем не менее, если бы риск что-то плохого случился так велик, я бы подумал, softwareupdateчто перезагрузит саму машину.
Скотт