Многие пользователи Mac загружают пакетные файлы комбо-обновлений или другого программного обеспечения для их установки на нескольких компьютерах, тем самым избегая обновления в Mac App Store. Это особенно характерно для администраторов систем Mac, где имеет смысл загружать обновление или установку одного пакета один раз и распространять его по сети или, возможно, устанавливать вручную через USB-накопитель. Нет ничего плохого в этом подходе вообще, и на самом деле он намного эффективнее для управления несколькими Mac, но один потенциальный hiccup приходит, когда инсталлятор пакета или файл обновления имеет сертификат с истекшим сроком действия, что предотвратит установку пакета полностью , ситуация, которая становится очевидной, когда вы получаете (приложение установщика), была подписана с сообщением об ошибке, которое истекло.
Чтобы избежать этой ситуации, вы можете сами проверить пакеты подписей, чтобы убедиться, что они действительны, если они истекли, или даже если у них нет подписи вообще.
Как проверить статус подписи пакета в Mac OS X с помощью pkgutil
Отличная утилита командной строки pkgutil может легко определить статус любой сигнатуры пакета и сертификата. Он прост в использовании, поэтому запустите приложение Terminal из / Applications / Utilities / и попробуйте сами.
Основной синтаксис, используемый для проверки статуса подписи пакета, выглядит так:
pkgutil —check-signature /Path/to/Example.pkg
Нажмите «Возврат», и вы узнаете, действительна ли подпись, если подпись истекла или вообще нет подписи.
Например, давайте предположим, что у нас есть пакет установщика программного обеспечения Mac OS X Combo Update, общий сценарий для системных администраторов, обновляющих несколько компьютеров Mac, вы можете проверить статус этой сигнатуры пакетов следующим образом:
pkgutil —check-signature ~ / Downloads / OSXUpdateCombo10.10.2.pkg
Пакет «OSXUpdateCombo10.10.2.pkg»:
Статус: подписан сертификатом, срок действия которого истек.
В этом случае срок действия сигнатуры для пакета обновления истек, а это означает, что при попытке использования будет выведена ошибка.
Однако не у всех установщиков пакетов есть подписи, и, хотя любой файл обновления программного обеспечения от Apple будет, пакеты от третьих сторон часто этого не делают. Например, этот пример файла установщика пакета не имеет подписи, и его следует обрабатывать соответствующим образом (т. Е. Если вы не доверяете источнику, возможно, пересматриваете его использование).
pkgutil —check-signature ~ / Загрузки / MysterySketchyInstaller-21.pkg
Пакет «MysterySketchyInstaller-21.pkg»:
Статус: нет подписи
Если файл пакета сомнительный, вы можете проверить подпись кода и извлечь пакет, не устанавливая его с помощью pkgutil, чтобы дать ему дополнительную проверку, или если вы предпочитаете использовать графический интерфейс, тогда приложение, такое как Pacifist, предлагает аналогичные инструменты управления пакетами в более дружественном интерфейс, даже если он все еще находится на продвинутой стороне вещей.
Как и все хорошие инструменты командной строки, вы можете даже подкармливать подстановочные знаки pkgutil, чтобы легко проверять несколько пакетов одновременно, в этом примере мы проверим подпись каждого файла * .pkg, содержащегося в ~ / Downloads:
pkgutil —check-signature ~ / Downloads / *. pkg
Пакет «irssi-0.8.17-0.pkg»:
Статус: нет подписи
Пакет «wget-4.8.22-0.pkg»:
Статус: нет подписи
Пакет «ComboUpdateOSXElCapitan.pkg»:
Статус: подписан сертификатом, срок действия которого истек.
Пакет «InstallOSXSequoiaBeta.pkg»:
Статус: действителен
Пакет «HRFDeveloperTools.pkg»:
Статус: действителен
Подстановочные знаки быстро проведут проверку статуса сертификата многих разных файлов пакетов, просто убедитесь, что вы указали * .pkg для завершения процесса, не останавливаясь на файле, который не является признанным пакетом.