Что означает ошибка консоли "Невозможно очистить карантин"?

Я делаю пакет установщика OS X. Я загружаю его с машины сборки на тестовую машину (10.5.8), а затем запускаю ее. В консоли немедленно записывается следующее сообщение:

kernel[0]: Finder[52646] Unable to clear quarantine '<package name>': 30

Из того, что я прочитал, Leopard устанавливает атрибут расширенного карантина для всех загруженных файлов. Можно использовать xattr для удаления этого флага, хотя это явно не относится к этой ситуации, так как программа не может самостоятельно выполнять карантин.

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

Ответ 1

Имеет ли пользователь на тестовом компьютере административные привилегии? Если приложение находится в папке, например /Applications, вам понадобятся. Если вы не можете изменить пользователя, попробуйте загрузить приложение в его домашней папке.

Ответ 2

Я предполагаю, что вы загрузили его как привилегированный пользователь, но вы используете установщик как другой пользователь. Поскольку файл принадлежит пользователю, который его загрузил, пользователь, который хочет его запустить, может делать это только для чтения. Проверьте права собственности на файл и разрешения, чтобы убедиться, что я прав.

Ответ 3

  • Попробуйте скопировать с сервера сборки с помощью ditto (и обратите внимание на различные ключи, которые управляют копией src и dst)
  • проверить права доступа на долю вашего сервера сборки