Я скачал некоторые .jar
файлы из Интернета и хочу использовать их под Mac OS X. Но ОС, похоже, пометила их расширенным атрибутом com.apple.quarantine (никаких указаний на это, пока я не заметил " @
" в ls -l
и разобрался как пользоваться ls -l@
) - видимо потому что их скачали из интернета. Какой правильный способ справиться с этим?
macos
permissions
java
Джейсон С
источник
источник
Вам не нужно иметь дело с этим. Откройте его, и OS X попросит вашего разрешения. Или, как предложил Ричард, удалите его, используя что-то вроде:
Чтобы сделать это автоматически для любого загруженного файла, вы можете прикрепить действие папки к папке загрузки, как описано на macosxhints.com в 10.5: Снимите флаг предупреждения «загруженный файл» .
А вот на macosxhints.com давно было опубликовано следующее: для Safari: 10.5: отключить предупреждение о файле «скачано из интернета» , утверждая, что его можно удалить
VerifiedDownloadPlugin.plugin
из/Library/Internet Plug-Ins
. Я не проверял это.В качестве отступления: иногда нужно запускать одну программу несколько раз на Mac. Это может быть сделано с помощью
cd /Applications/some-application/
следующегоopen -n "Application Name.app"
. Это действительно нуждается в.app
суффиксе; Выполнениеopen -n "Application Name"
может получить один доступ остановки GateKeeper:Выше, даже удаление расширенного атрибута
com.apple.quarantine
не исправляет это, но использование.app
суффикса работает просто отлично.(Я никому не советую фактически избавляться от мер безопасности.)
источник
источник
sudo
когда вам не нужно.find /path/to/dir -exec xattr -d com.apple.quarantine {} \;
Вы можете отключить предупреждения навсегда с помощью
defaults write com.apple.LaunchServices LSQuarantine -bool false
. Он также отключает диалоговые окна гейткипера, даже если вы не разрешали загружать приложения из любой точки системной настройки.источник
Я нашел следующую команду
очень полезно при попытке избавиться от атрибута. Обратите внимание на двойные кавычки
$l
- они нужны вам, если в папке ваших приложений есть файлы с пустым именем.источник
xattr -rd com.apple.quarantine Application.app
.find . -xattrname com.apple.quarantine -print0 | xargs -0 xattr -d com.apple.quarantine
find
также имеет-exec
основной.find /Applications -xattrname com.apple.quarantine -exec xattr -d com.apple.quarantine {} \;
Вы можете заменить/Applications
на полный путь, который вы хотите, например,/Users/jdoe/Downloads
если вы находитесь в каталоге, где находится файл, просто укажите,xattr -d com.apple.quarantine <target>
где<target>
находится файл или имя приложения.У xattr теперь есть флаг -r для рекурсии. Так что вам не нужно проходить через эти вещи. Также он имеет -c, который очищает ВСЕ флаги (включая FinderInfo), не всегда рекомендуется, если вы действительно не злитесь на это. :-)
источник