回答:
この属性は、ダウンロードされたプログラムが初めて実行されたときにユーザーの確認を求めて、マルウェアを阻止するために追加されます。確認すると、属性が自動的に削除され、プログラムが正常に実行されます。
あなたはそれに対処する必要はありません。それを開くと、OS Xは許可を求めます。またはリチャードが示唆したように、次のようなものを使用して削除します:
xattr -d com.apple.quarantine my_jar.jar
ダウンロードしたファイルに対してこれを自動的に行うには、10.5の macosxhints.comで説明されているように、「ダウンロードしたファイル」警告フラグを削除するように、フォルダーアクションをダウンロードフォルダーに添付できます。
また、Safariについては、ずっと前にmacosxhints.comに次の記事が投稿されました。10.5:「インターネットからダウンロードした」ファイルの警告を無効にし、から削除できると主張VerifiedDownloadPlugin.plugin
してい/Library/Internet Plug-Ins
ます。私はそれをテストしませんでした。
余談ですが、Macで1つのプログラムを複数回起動する必要がある場合があります。それはを使用しcd /Applications/some-application/
て行うことができますopen -n "Application Name.app"
。これには本当に.app
接尾辞が必要です。実行open -n "Application Name"
すると、1つのGateKeeperがアクセスを停止する場合があります。
「アプリケーション名」は、身元不明の開発者によるものであるため開くことができません。
セキュリティ設定により、Mac App Storeおよび特定の開発者からのアプリのみをインストールできます。
上記では、拡張属性を削除してもそれcom.apple.quarantine
は修正されませんが、.app
接尾辞を使用しても問題ありません。
(私は実際にセキュリティ対策を取り除くようにだれにも勧めていません。)
xattr -d com.apple.quarantine /path/to/file
sudo
必要がないときは使用しないでください。
find /path/to/dir -exec xattr -d com.apple.quarantine {} \;
私は次のコマンドを見つけました
find Application.app | while read l; do echo $l; xattr -d com.apple.quarantine "$l"; done
属性を削除するときに非常に役立ちます。二重引用符に注意して$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フラグが追加されました。そのため、検索機能を使用する必要はありません。また、すべてのフラグ(FinderInfoを含む)をクリアする-cがありますが、実際に怒っている場合を除き、常に推奨されるわけではありません。:-)