Как я узнаю, что Mac нужно перезагрузить?

7

Есть ли способ выяснить из скрипта, нужно ли Mac перезагружаться? Файл, наличие или содержание которого я мог бы отслеживать, возможно?

Я ищу эквивалент файла, /var/run/reboot-requiredнайденного на моих коробках Ubuntu. Мой вариант использования - централизованный мониторинг моих серверов (и, возможно, ноутбуков) с помощью Puppet, collectdили ... ну, что-то еще.

llaurén
источник

Ответы:

6

Как и Linux, OS X не требует перезагрузки. Не существует общесистемных средств для определения необходимости перезагрузки или даже запроса процесса.

В ситуациях, когда требуется перезапуск, процесс, отвечающий за необходимость перезапуска, также отвечает за организацию перезапуска.

Инструменты, которые обновляют OS X, наиболее вероятно, запросят перезагрузку.

обновление программного обеспечения

Взгляните на softwareupdateстраницу руководства, чтобы найти наиболее вероятного кандидата для перезапуска.

softwareupdateв конце процесса обновления печатает сообщение о необходимости перезагрузки. Затем вызывающий скрипт или пользователь отвечает за перезапуск.

Отложенные обновления

Если обновление требует перезагрузки для успешной и безопасной установки, OS X задержит процесс обновления. Обновление будет ждать до следующей перезагрузки или выключения.

Этот подход позволяет загружать обновления как часть расписания, но не прерывать и не мешать запущенным процессам или активным пользователям.

Ожидающие обновления

Чтобы узнать, ожидается ли обновление, проверьте содержимое /Library/Updates/. Эта папка содержит файлы со списком свойств, документирующие пакеты и обновления, поставленные в очередь для установки.

Вы можете использовать инструмент defaultsв ваших сценариях для чтения plistтаких файлов, как /Library/Updates/index.plist:

defaults read /Library/Updates/index.plist InstallAtLogout
Грэм Милн
источник
Согласовано. Тем не менее, некоторые обновления системы сообщают об ужасных, неубедительных вещах, таких как Вы установили одно или несколько обновлений, которые требуют перезагрузки компьютера. Пожалуйста, перезапустите немедленно. И это то, что я хотел бы поймать удаленно.
Llaurén
Загляните внутрь /Library/Updates/папки. Я подозреваю, что именно здесь ожидающие обновления документируются.
Грэм Милн
Я буду. Извините за мой предыдущий быстрый комментарий. Только первый абзац вашего ответа прошел в то время. Я не могу найти никаких признаков того, softwareupdateчто могу сказать, что мне нужно перезагрузить компьютер Mac. Как ни странно, на странице руководства отсутствует довольно изящная команда для установки URL-адреса каталога программного обеспечения, чтобы принудительно использовать локальное репо вместо того, которое используется на серверах Apple.
Llaurén
1
@danielAzuelos ничего религиозного в этом нет. ответчик просто сказал OS X был разработан , чтобы не требовать перезагружается. он не сказал, что это не требует перезагрузки на практике. этот ответ действительно объясняет, почему у OS x нет механизма, позволяющего определить, требуется ли перезагрузка системы - он был спроектирован так, чтобы никогда не нуждаться в этом.
флигель
1
@danielAzuelos Многие из этих вещей на самом деле возможны, но обсуждение того, как этого добиться, возможно, выходит за рамки этого сайта :-)
nohillside