Представьте типичное утро понедельника в ИТ-отделе: вы открываете систему тикетов и видите десять одинаковых заявок: «После вчерашнего обновления macOS перестал работать [важный корпоративный софт]».
Если это звучит знакомо, не паникуйте, вы не одиноки. Apple постоянно выпускает обновления безопасности и новые версии ОС. Об этом компания напоминает даже в документации: «поддержка актуального ПО – одна из самых важных задач для поддержки безопасности Mac». Однако в корпоративной среде эта же надёжность может обернуться головной болью для админа. С одной стороны, пропуск обновления может оставить дыры в безопасности; с другой – каждое обновление сопряжено с рисками несовместимости с бизнес-приложениями, скриптами и оборудованием.
И наконец привет! Меня зовут Эрик, я инженер технической поддержки в Ринго. В этом руководстве мы разберёмся со всеми основными инструментами и техниками по управлению обновлениями macOS. Материал построен по принципу от простого к сложному: начнём с базовых компонентов системы обновлений, затем — разбор softwareupdate и defaults, рассмотрим MDM-профили, а также методы блокировки и оптимизацию доставки обновлений.
Типичные проблемы совместимости: почему каждое обновление — лотерея
Прежде чем углубиться в технические детали, важно понять, с чем мы имеем дело на практике. Вот несколько нередких сценариев, когда обычное обновление превращается в кризис:
1С:Предприятие и другие бизнес-приложения. После перехода на новую ОС (например, с Ventura на Sonoma или далее) тонкий клиент 1С часто перестаёт запускаться. Причины могут быть разными: изменились системные библиотеки, расширились политики безопасности SIP/KVM либо апгрейд ядра нарушил старые зависимости. Итог предсказуем: бухгалтерия остаётся без доступа к учёту в самый неподходящий момент.
Adobe Creative Cloud. Дизайнеры привыкли к стабильности Photoshop и Illustrator, но крупный апгрейд macOS (например, Big Sur или Monterey) может нарушить работу графических приложений. Часто наблюдаются зависания, ошибки или чрезмерная нагрузка на систему.
Legacy-системы и скрипты автоматизации. Например, из Monterey исчез штатный Python 2.7: все скрипты, которые использовали
/usr/bin/python
, перестали работать.
Вывод
Чтобы минимизировать риски, нужен проактивный подход: тщательное планирование, тестирование обновлений и поэтапное развертывание.
Архитектура системы обновлений macOS: как всё устроено
Чтобы эффективно управлять обновлениями, полезно понимать, как вообще работает механизм обновлений в macOS. Рассмотрим компоненты этой системы.
Пользовательский интерфейс
Сюда относятся: приложение System Settings (Системные настройки) и уведомления — всплывающие окна и значки на иконке System Settings, которые информируют пользователя о доступных обновлениях.
Командная строка
Утилита softwareupdate предоставляет полный доступ к функции поиска, загрузки и установки апдейтов. Именно она лежит в основе автоматизации обновлений в скриптах.
Системные службы
Фоновый процесс softwareupdated
(рис.1) занимается проверкой, загрузкой и подготовкой обновлений для установки. Есть также фреймворк SoftwareUpdate, связывающий GUI и демона. Конфигурационные профили в macOS (plist
или .mobileconfig
) позволяют централизованно задавать политику обновлений (блокировка настроек, отложенная установка и т.д.).

Сетевая инфраструктура
Встроенные обновления приходят с серверов Apple по HTTPS. Apple поддерживает глобальные CDN (Content Delivery Network - Сеть доставки контента) (рис.2), чтобы контент доставлялся быстро. Система проверяет, подписаны ли Apple пакеты обновлений, чтобы убедиться в их целостности.

Кэширование контента (Content Caching)
Есть локальная особенность macOS, когда один Mac в сети сохраняет обновления и другой контент (App Store, iCloud и т.д.) для остальных. Мы обсуждаем этот механизм ниже в блоке про AssetCacheManagerUtil.
Типы обновлений
Apple делит обновления на несколько категорий по масштабу и приоритету. Это важно для понимания рисков и стратегии отката.
Мажорные обновления (Major OS Upgrades). Это большие апгрейды (рис.3) со cледующим номером версии (например, macOS 15 Sequoia после 14 Sonoma). Выходят обычно раз в год осенью. В них много новых функций, и часто меняется сама архитектура системы. Такие апдейты несут самые большие риски по совместимости. Они, как правило, долго устанавливаются и требуют перезагрузки. Через MDM их можно отложить максимум на 90 дней, а затем система попытается установить их в любом случае. Apple обычно выпускает мажорные релизы после минимального внутреннего тестирования, поэтому крупным организациям не стоит торопиться с обновлением.

Минорные обновления (Minor OS Updates). Это промежуточные версии внутри одной мажорной, например, 15.1 → 15.2). Выходят чаще (раз в месяц или по мере необходимости) и содержат исправления багов, улучшения производительности, небольшие новые функции. При их установке риск чуть меньше, но они тоже могут поломать что-то важное. Минорные обновления также можно отложить до 90 дней через MDM-профили. Например, если у крупного обновления есть проблемы, админ может дать пользователям версию 15.1, пока тестируется 15.2.
Обновления безопасности (Security Updates и Rapid Security Responses) (рис.4.). Это критические «патчи» для уязвимостей. Помимо регулярных обновлений безопасности, в новых macOS введён механизм Rapid Security Response (RSR, Быстрые ответы на угрозы) – дополнения, которые устанавливаются без полного апгрейда системы (между основными релизами). Apple подчёркивает важность RSR в документации: они выходят только для последних версий системы и могут устанавливаться практически сразу (часто без перезапуска). RSR обычно вносят минимальные изменения в систему, но они критичны для безопасности. В отличие от обычных апдейтов их сложно отложить: система сама решает, когда показать пользователю на вашем Mac соответствующий патч.

Процесс обновления
Типичный цикл обновления проходит примерно так:
Проверка обновлений. Пользователь или система запускает проверку (GUI или
softwareupdate -l
). macOS делает HTTPS-запросы к серверам Apple (например, swscan.apple.com) и получает список доступных апдейтов.Запрос и загрузка. Система посылает на сервер метаданные о версии ОС и получает информацию о нужных файлах. Затем через CDN скачиваются пакеты обновлений, при этом проверяется цифровая подпись каждого файла.
Подготовка. Загруженные файлы распаковываются и проверяются системными утилитами. Если обнаружены несоответствия, например, недостаточно места на диске, не выполняются минимальные требования, то загрузка может приостановиться.
Установка. Применяются изменения: файлы копируются в систему, при необходимости происходит перезагрузка. На этом этапе macOS меняет системные компоненты. Пользователь видит индикатор установки или экран загрузки.
Верификация. После перезагрузки система проверяет успешность установки с помощью встроенных механизмов. Обновлённая версия ОС фиксируется в System Version, и выполняются переходы между старыми и новыми компонентами. Если что-то пошло не так, могут быть записаны ошибки в системных логах.
Инструмент softwareupdate
Утилита softwareupdate
– основной инструмент для работы с обновлениями через командную строку. Она предоставляет весь функционал графического интерфейса Системных настроек и даже больше, и при этом доступна для использования в скриптах и автоматизации. Все команды softwareupdate
обычно требуют прав администратора (sudo
). Главное, что она умеет, — это поиск, загрузка и установка обновлений.
Проверка доступных обновлений:
softwareupdate -l
Выводит полный список всех доступных обновлений с именами, размерами и пометками [recommended] или [restart-required].
Установка рекомендуемых обновлений:
sudo softwareupdate -i -r
Эта команда устанавливает все обновления, отмеченные системой как рекомендуемые (часто хватает именно их). Флаг -i
означает “install”, -r
– “recommended”.
Установка конкретного обновления:
sudo softwareupdate -i "macOS Sequoia 15.1-24B83"
Укажите точное имя из вывода -l
. Например, так можно установить патч 15.1 отдельной сборки.
Мы не будем описывать абсолютно все флаги и параметры, так как у команды есть отличный встроенный справочник:
softwareupdate --help
Тонкая настройка через defaults: контроль на системном уровне
Команда defaults позволяет править системные настройки напрямую, в том числе параметры Software Update. Это даёт более полный контроль, но требует осторожности. Ниже несколько примеров команд, которые меняют параметры автоматических обновлений в /Library/Preferences/com.apple.SoftwareUpdate.plist
Отключить автоматическую проверку обновлений:
sudo defaults write /Library/Preferences/com.apple.SoftwareUpdate AutomaticCheckEnabled -bool false
Отключить автоматическую загрузку обновлений:
sudo defaults write /Library/Preferences/com.apple.SoftwareUpdate AutomaticDownload -bool false
Отключить автоматическую установку обновлений macOS:
sudo defaults write /Library/Preferences/com.apple.SoftwareUpdate AutomaticallyInstallMacOSUpdates -bool false
Отключить автоматическую установку системных файлов данных:
sudo defaults write /Library/Preferences/com.apple.SoftwareUpdate ConfigDataInstall -bool false
Отключить автоматическую установку критических обновлений безопасности:
sudo defaults write /Library/Preferences/com.apple.SoftwareUpdate CriticalUpdateInstall -bool false
Проверить текущие настройки:
defaults read /Library/Preferences/com.apple.SoftwareUpdate
Приоритеты настроек и разрешение конфликтов
В macOS существует чёткая иерархия настроек, вот их приоритет при конфликтах:
MDM-профили — централизованные настройки, применяемые через систему управления устройствами.
Системные настройки (/Library/Preferences/) — общесистемные параметры, заданные через defaults.
Пользовательские настройки (~/Library/Preferences/) — индивидуальные настройки пользователя.
При конфликте настроек система применяет те, у что имеют более высокий приоритет. Например, если MDM-профиль принуждает к автоматическим обновлениям (AutomaticallyInstallMacOSUpdates = true), то локальная настройка false через defaults будет проигнорирована.
Важно понимать, что некоторые ключи могут взаимодействовать неочевидно:
Отключение AutomaticCheckEnabled блокирует работу всех остальных автоматических функций.
CriticalUpdateInstall может игнорировать настройки AutomaticallyInstallMacOSUpdates для критических патчей безопасности.
MDM-профили могут “замораживать” настройки, делая их недоступными для изменения через GUI.
MDM и управление обновлениями
Что даёт MDM
MDM (Mobile Device Management/Управление мобильными устройствами) — это технология, позволяющая централизованно управлять большим количеством устройств в организации: настраивать политики, распространять приложения и, конечно, контролировать обновления. Через MDM вы можете создавать конфигурационные профили в формате XML, которые задают устройствам определённые правила работы.
Конфигурирование профилей обновлений
Для конфигурирования профилей вы можете использовать iMazing Profile Editor. Раздел конфигурирования профиля обновлений (рис.5)

Ниже приведено описание параметров конфигурационного профиля для управления обновлениями macOS.
Параметр | Описание | Поддержка с macOS |
Catalog URL | URL-адрес каталога обновлений ПО. Использовался для перенаправления обновлений на локальный сервер Software Update Server. Не поддерживается в macOS 11 и новее. | 10.7 |
Disable Extended Validation check of TLS certificate | Отключает проверку сертификатов с расширенной валидацией (EV) при подключении к серверу обновлений. | 10.7 |
Automatically check for updates | Автоматическая проверка обновлений macOS. Система периодически проверяет наличие новых версий. | 10.15 |
Download newly available updates in the background | Загрузка новых обновлений в фоновом режиме без установки. | 10.15 |
Automatically install macOS updates | Автоматическая установка обновлений macOS после загрузки. | 10.15, с Mac OS 26 deprecated (устаревшее) |
Automatically install App Store app updates | Автоматическая установка обновлений приложений из App Store. | 10.15, с Mac OS 26 deprecated (устаревшее) |
Install XProtect, MRT, & Gatekeeper updates automatically | Автоматическая установка обновлений XProtect, MRT (Malware Removal Tool) и Gatekeeper. | 10.15, с Mac OS 26 deprecated (устаревшее) |
Install security updates automatically | Автоматическая установка обновлений безопасности macOS. | 10.15, с Mac OS 26 deprecated (устаревшее) |
Allow installation of macOS beta releases | Разрешить установку бета-версий macOS. | 10.9, с Mac OS 26 deprecated (устаревшее) |
Force Update Delay | Принудительная задержка установки обновлений (в днях). Используется для тестирования в корпоративной среде. | — |
Restrict app installations to admin users | Ограничивает установку приложений только администраторами. | 10.14 |
Update Delay | Устанавливает задержку применения обновлений (в днях). | 10.13.4 |
Так как Apple переходит на DDM (Declarative Device Management), некоторые параметры MDM, связанные с управлением обновлениями, будут удалены в будущем, о чём Apple заранее предупреждает (Рис.6).

Defer Updates: отсрочка обновлений
Defer Updates (Отсрочка обновлений) — это механизм, позволяющий отложить установку через MDM (рис.7).

Данные параметры позволяют отложить отображение и установку обновлений ОС и приложений на управляемых устройствах.
Параметр | Описание | Поддержка с версии |
Defer Software Updates | Откладывает показ обновлений ПО на устройстве. Пользователь не увидит обновление до истечения указанного числа дней с момента выпуска. | iOS 11.3, macOS 10.13.4, tvOS 12.2 |
Defer Major OS Software Updates | Задержка отображения крупных обновлений ОС (major upgrades, например, macOS 12 → macOS 13) на заданное количество дней. | macOS 11.3 |
Defer non-OS Software Updates | Задержка отображения обновлений, не относящихся к ОС (например, приложений или компонентов). | macOS 11.0 |
Deferred Software Updates Delay | Указывает количество дней (целое число), на которое нужно отложить показ всех обновлений ПО. Применяется к ограничениям forceDelayedAppSoftwareUpdates и forceDelayedSoftwareUpdates. | iOS 11.3, macOS 10.13.4, tvOS 12.2 |
Deferred Major Software Updates Delay | Указывает задержку (в днях) отображения основных обновлений ОС (major upgrades). | macOS 11.3 |
Deferred Minor Software Updates Delay | Указывает задержку (в днях) отображения минорных обновлений ОС (minor updates). | macOS 11.3 |
Deferred non-OS Software Updates Delay | Указывает задержку (в днях) отображения обновлений не относящихся к ОС (например, обновлений приложений). | macOS 11.3 |
Что происходит после истечения отсрочки?
macOS обновится автоматически после истечения установленного периода отсрочки, это максимум 90 дней. Точные интервалы уведомлений могут варьироваться в зависимости от версии системы и конфигурации, но пользователь получает предупреждения о приближающемся принудительном обновлении и может выбрать удобное время для перезагрузки в ограниченном временном окне.
Скрытие настроек обновлений от пользователей
MDM позволяет скрывать вкладку обновлений в настройках macOS, но не блокирует всплывающие уведомления, где пользователь всё ещё может нажать кнопку «Обновить», пример (рис.8).

Ограничения MDM
Средствами MDM невозможно отложить обновления macOS более чем на 90 дней, такова политика Apple.
Важно понимать, что если не применять профили, ограничивающие установку обновлений, то система сама по себе не обновится. Запуск процесса возможен только по инициативе пользователя.
Начиная с macOS 14, Apple постепенно перешла на новую DDM (Declarative Device Management - Декларативное управление устройствами) и объявила о прекращении поддержки «классических» MDM-команд для обновлений.
Rapid Security Responses (Быстрые меры безопасности) обычно не учитывают отложенные политики. Если в сети появится обновление типа RSR, macOS постарается установить его, игнорируя параметры отложенных обновлений.
Блокировка обновлений: когда встроенных возможностей недостаточно
Когда встроенных возможностей macOS и MDM недостаточно, системные администраторы прибегают к более радикальным методам.
Блокировка доменов Apple
Самый радикальный способ остановить обновления — заблокировать сетевой доступ к серверам Apple, отвечающим за обновления.
Список ключевых доменов:
Назначение | Домены |
Проверка обновлений | |
Загрузка обновлений | |
Системные данные | |
CDN | |
Восстановление ОС |
Методы блокировки
1. Редактирование файла hosts:
sudo echo "127.0.0.1 swscan.apple.com" >> /etc/hosts
sudo echo "127.0.0.1 mesu.apple.com" >> /etc/hosts
sudo echo "127.0.0.1 swdownload.apple.com" >> /etc/hosts
2. Настройка локального DNS-сервера
Например, это можно сделать через dnsmasq или корпоративный DNS.
Блокировать обновления не рекомендуется, делайте это лишь в крайнем случае, когда вы абсолютно уверены в последствиях.
Блокировка обновлений с помощью LuLu
Я встретил в обсуждении на Reddit рекомендацию использовать LuLu Application Firewall для блокировки процесса softwareupdated. Это якобы препятствует появлению всплывающих уведомлений об обновлениях, которые появляются даже при отключённых системных настройках обновлений. По сути ставишь LuLu (открытый и бесплатный файервол от Objective-See, поддерживает macOS 10.15 и новее), при запросе система предлагает блокировать softwareupdated, если его принять, то уведомления должны пропасть. Когда понадобится обновиться вручную, то нужно просто временно разрешить процесс. Это кажется разумным и гибким решением, но я лично не тестировал, насколько это надёжно работает на практике, особенно на актуальных версиях macOS Sequoia/15.x.
AssetCacheManagerUtil: оптимизация сетевого трафика для обновлений
Как мы упоминали ранее в разделе об архитектуре системы обновлений, Content Caching — это мощный инструмент macOS для кэширования контента, включая обновления ОС, приложения из App Store, iCloud-данные и другие ресурсы Apple (рис.8). Это особенно полезно в корпоративных сетях с большим количеством Mac-устройств. Вместо того, чтобы каждый компьютер загружал обновления напрямую с серверов Apple, они могут получать их из локального кэша на одном из устройств в сети. Это снижает нагрузку на интернет-канал, ускоряет процесс и экономит трафик, что идеально для офисов с ограниченной пропускной способностью или удалённых филиалов.

Управление Content Caching осуществляется через утилиту командной строки AssetCacheManagerUtil.
Она доступна, начиная с macOS High Sierra, и требует прав администратора (sudo).
Основные команды
Проверка статуса:
sudo AssetCacheManagerUtil status
Эта команда покажет, включено ли кэширование, сколько места занято кэшем, список кэшируемого контента и подключённые клиенты. Если кэширование не активно, вы увидите соответствующее сообщение (рис.9).

Включение сервиса кэширования контента:
sudo AssetCacheManagerUtil activate
Полный список настроек:
man AssetCacheManagerUtil
Также можно включить в интерфейсе mac OS: Основные → Общий доступ → Кэширование контента (рис.10).

В параметрах можно указать максимальный размер кэша.
Механизм автоматического обнаружения
Механизм автоматического обнаружения кэш-серверов встроен прямо в macOS и iOS и не требует никакой ручной настройки на клиентских устройствах. Он работает по следующему принципу:
Bonjour (Multicast DNS): Mac, выполняющий роль кэш-сервера, широковещательно рассылает в локальную сеть через протокол Bonjour сообщение о том, что он предоставляет сервис кэширования.
Автоматическое обнаружение: клиентские устройства (другие Mac, iPhone, iPad) в этой же сети получают это сообщение.
Проверка доступности: когда клиенту нужно скачать контент от Apple, он сначала запрашивает его у обнаруженного кэш-сервера. Если сервер доступен и у него есть контент, загрузка происходит с него. Даже при использовании Internet Recovery (Интернет-восстановление), клиент преимущественно обращается к кэш-серверу для загрузки необходимых компонентов ОС. При этом в логах установщика во время самой установки можно видеть, что поиск файлов сначала осуществляется на кэш-сервере, и только при их отсутствии загрузка происходит напрямую с серверов Apple.
Устанавливайте кэш-сервер в том же сетевом сегменте, где находятся клиентские устройства.
Взаимодействие с отложенными обновлениями MDM
Content Caching с поддержкой отложенных обновлений обеспечивает эффективное и управляемое распространение обновлений в сети.
Предварительное кэширование
Кэш-сервер автоматически загружает обновления с серверов Apple сразу после их первого запроса любым устройством в сети. То есть, если тестовая машина получает обновление, оно единожды скачивается на кэш-сервер и становится доступным для всех остальных устройств.
Контролируемая раздача
Устройства получают обновления из локального кэша только после истечения заданного периода отсрочки. Это ускоряет установку и снижает нагрузку на внешний интернет.
Пример работы с отсрочкой в 30 дней:
День 0 – Apple выпускает macOS 15.2.
День 1 – Тестовая машина устанавливает обновление. Кэш-сервер скачивает его один раз для всей сети.
Дни 1–30 – Устройства видят уведомления об обновлении, но установка заблокирована политикой MDM.
День 31 – Устройства начинают обновляться из локального кэша: быстро, эффективно и без дополнительной нагрузки на интернет.
При подготовке этого раздела мне особенно понравился материал, которым поделился пользователь reddit, рекомендую к ознакомлению.
Резюмируем
Управление обновлениями macOS в корпоративной среде — это баланс между безопасностью, стабильностью и удобством пользователей. Apple создала экосистему, где приоритетом являются актуальность системы и ее защита, но в корпоративной среде администратор вынужден учитывать совместимость с критичным софтом, рабочие процессы и сетевую инфраструктуру.
Грамотный подход включает несколько уровней:
тестирование обновлений на пилотных машинах;
использование MDM для централизованного контроля;
оптимизацию через Content Caching;
при необходимости использование дополнительных инструментов блокировки.
Также важно не полагаться на случайность и не оставлять обновления без внимания. Только так можно минимизировать риски, связанные с проблемами в новых версиях Mac OS для критичного софта, и сделать обновление предсказуемым и управляемым процессом.
И не забывайте делать бэкапы (рис.11). К сожалениею, даже самая тщательная подготовка к обновлению не гарантирует успех, а наличие актуальной резервной копии всегда будет вашей страховкой от потерь данных и простоев.

Ограничивает установку