Это перевод статьи “About Software Updates in Big Sur”, опубликованной на сайте https://micromdm.io/blog/big-sur-softwareupdate/ за авторством Victor Vrantchan.
Мнение редакции Шорткат может отличаться от личного мнения автора.
Если вы в той или иной мере знакомы с Apple, то знаете, что компания не склонна признавать свои ошибки. Не помню ни одного случая, когда Apple публиковала разъяснение после произошедшего сбоя в работе систем или предоставляла подробности об уже известных проблемах. Поэтому сообщество разработчиков и администраторов должно самостоятельно разбираться в проблемах и сбоях, надеясь только на себя.
С момента релиза macOS 11.1 я столкнулся с проблемой обновления системы и начал заниматься отладкой этого процесса. Вероятно эта проблема затронет большинство корпоративных пользователей. Поэтому я решил, что должен написать об этом, донеся до сообщества суть проблемы, пути ее временного решения и способы избежания оной. Кроме того, я внимательно изучил последние изменения в механизме обновления ПО и постараюсь упомянуть о них ниже.
Ошибка в macOS 11 не дает обновиться до следующей версии системы
После релиза macOS 11.1 многие пользователи начали сообщать, что последнее обновление не отображается в разделе обновлений Системных настроек. Другие же отмечали, что обновление отображалось, но загрузить его не получалось.
Когда 11.1 находилась в стадии бета-теста, я лично столкнулся с этой неполадкой и отправил в Apple сообщение об ошибке, но после этого перешел к решению других задач.
Когда же состоялся финальный релиз, в Slack-канале Macadmins появились многочисленные сообщения об этой же ошибке. Чтение системных журналов позволило мне, как и другим администраторам, обнаружить основную причину проблемы, а именно: при определенных обстоятельствах компьютеры Mac с версией системы macOS 11.0.1 или macOS 11.1 запрашивают у сервера обновление до версии 11.0.1, вместо запроса следующего доступного обновления. Сервер отклоняет это обновление, так как данная версия либо уже установлена, либо уже является устаревшей. Это каким-то образом искажает процесс обновления ПО, что не позволяет снова увидеть обновление в списке опций в Системных настройках.
Пути временного решения проблемы
- обновление начинает отображаться сразу же после перезагрузки. Однако неясно, всегда ли можно установить обновление после того, как оно становится видимым, поскольку условие, которое вызвало сбой загрузки в первый раз, может возникнуть снова
- удаление enrollment-профиля MDM делает обновление снова видимым. Я и ряд других пользователей тщательно протестировали этот метод и выявили, что это именно профиль enrollment, а не какой-либо другой. Очевидно, что это ужасный способ обхода проблемы и я бы усомнился в необходимости упоминания об этом пользователям, так как это может вызвать прекращение работы агентов безопасности, а также появление бесчисленного количества диалоговых окон подтверждения, с которыми мы все хорошо знакомы. Не говоря о том, что enrollment профиль нельзя удалить вообще, или для этого требуются права администратора, а повторный enroll может вызвать трудности
- дистрибуция полной версии 11.1, а затем установщиков версии 11.2
Могут ли в Apple исправить ошибку без необходимости ручного вмешательства?
В Apple хорошо осведомлены о существовании этой проблемы, поэтому уверен, что решение будет предложено в версии 11.2. К сожалению, эта ошибка происходит на стороне клиента и напрямую касается пользователей с версиями системы 11.0.1 и 11.1. В связи с этим в Apple мало что могут предложить для устранения неисправности. Одним из потенциальных решений, на мой взгляд, является следующее – в Apple должны определить ошибочный запрос наличия и загрузки обновления macOS 11.1 и вместо отмены загрузки предлагать системе верный файловый архив. Но так как система сложна, остается неясным, достаточно ли будет изменений только лишь на стороне сервера.
Также в Apple могут попробовать включить исправление в обновление другого ПО. В ОС встроены инструменты фоновой настройки и удаления вредоносных программ, и эти инструменты, скорее всего, способны исправить проблему в системе. Но это грязный хак и от подобного решения лично я воздержался бы, даже если такая возможность была бы доступна.
На мой взгляд, наиболее вероятным исходом является исправление ошибки в версии 11.2, но клиенты, уже обновившиеся до Big Sur (или пользователи, которые уже приобрели любые Mac с чипом M1) должны будут решать проблему самостоятельно. Если нам повезет, то в Apple опубликуют статью в разделе Support и ограничатся этим.
Что еще нужно знать?
В Big Sur полностью изменили механизм обновления ПО, особенно на Mac с Apple Silicon. К этому шло уже давно и было ожидаемо, а о некоторых изменениях было рассказано еще на сессиях WWDC, посвященным тематике IT и MDM. Но многое из того, что впоследствии обнаружили самостоятельно, со стороны компании осталось недосказанным.
- Combo updates больше не публикуются на сайте Apple. Это удивило многих, кто ранее пользовался именно ими. Главная причина состоит в том, что изменился весь формат обновления, и стала невозможной установка обновлений без доступа Mac к Интернету. Обновления должны быть предоставлены Apple, обработаны с помощью softwareupdate и соответствующих процессов системы.
- На Apple Silicon сторонние процессы больше не могут использовать команду softwareupdate в скриптах. Запуск команды обновления ПО как root-процесса теперь требует ввода пароля администратора, который также должен быть обладателем Secure Token. Есть только два вероятных способа применения обновлений ОС; самим пользователем устройства, или MDM-процессом, имеющим специальное разрешение. Также, вероятно, возможно самостоятельное обновление Mac с помощью механизма автообновления, но на данный момент в этом процессе происходит слишком большое количество ошибок, чтобы проверять, насколько хорошо работает этот способ. На личном опыте я выяснил, что он не работает вовсе и на следующий день я снова сталкиваюсь с запросом пароля…
- Указание настраиваемого URL для загрузки обновлений с помощью команды softwareupdate больше невозможно. Apple анонсировала это изменение на протяжение всего прошлого года, так что это не должно стать сюрпризом ни для кого, но от этого не легче. Reposado был одним из нескольких отличных инструментов для работы unstable/beta/stable треков в организации
- опция -ignore комманды softwareupdate больше не работает. Он уже был временно недоступен в версии 10.15.5, так что скорее всего вам известно об этом факте. На этот раз он удален навсегда. MDM-сервер может откладывать появление обновлений ОС у клиента только до 90 дней, но это останется предельным максимумом и в дальнейшем. Даже в следующем крупном релизе, таком как macOS 12. Если это важно для вас, отправьте Apple обращение через форму обратной связи и предложите второй вариант отсрочки с привязкой к номеру старшей версии системы
Изо дня в день я работаю с протоколом MDM и уже долгое время тестирую обновления ПО. К операционной системе Big Sur относился оптимистично. Компания Apple обещала, что это будет нечто совершенно новое и близкое к тому, что доступно на iOS, и что все будет работать лучше, чем раньше. Но начало получилось не самым лучшим и все вопросы, что сохранялись у меня на протяжении нескольких лет, снова вернулись. Новая структура обновлений ОС на MDM слишком хрупка и требует инициации нескольких удаленных вызовов процедур для действия, которые ранее требовали лишь пару строк в интерпретаторе командной строки. Один этот факт заставляет грустить, но недочеты проектирования сочетаются с реализацией, полной ошибок; есть еще много других проблем, помимо той, которую я описал выше. Если что-то кардинально не изменится, нам предстоят месяцы, если не годы ошибок в системе обновлений ОС, которая полностью вышла из под контроля.
Компания Apple никогда не была особенно хороша в создании систем для корпоративной среды. Но, до недавнего времени, разработчики ПО и системные администраторы могли использовать компоненты Unix для решения части возникающих проблем. Итогом вложений средств в покупку macOS для организации был комфорт работы конечных пользователей. Это требовало серьезной проработки и отладки, но было достижимо.
На сегодняшний день компания Apple никак не улучшила свои показатели в качестве разработчика систем корпоративного сегмента. Но сейчас все зависит только от них самих. Apple все еще делает прекрасные инструменты для потребителей, среди сотрудников и в дальнейшем будет спрос на устройства. Но если Apple не начнет реагировать на отклик сообщества администраторов, впечатление от использования Mac на рабочем месте скоро станет для большинства невыносимым.