我从 GitHub 下载并解压了一个档案(自酿啤酒/酿造/root
) 放到(借助)下的临时目录中sudo
。如果我这样做,ls -l
我会看到一个扩展属性:
total 0
drwxr-xr-x@ 16 root wheel 512 Jul 2 09:30 brew-master
如果我这样做ls -l@
(感谢这个答案到这个问题)我得到以下输出:
total 0
drwxr-xr-x@ 16 root wheel 512 Jul 2 09:30 brew-master
com.apple.quarantine 59
如果我这样做,ls -l@ brew-master
我会得到以下输出:
total 48
-rw-r--r--@ 1 root wheel 98 Jul 2 09:30 CHANGELOG.md
com.apple.quarantine 59
-rw-r--r--@ 1 root wheel 3161 Jul 2 09:30 CODE_OF_CONDUCT.md
com.apple.quarantine 59
-rw-r--r--@ 1 root wheel 720 Jul 2 09:30 CONTRIBUTING.md
com.apple.quarantine 59
-rw-r--r--@ 1 root wheel 1334 Jul 2 09:30 LICENSE.txt
com.apple.quarantine 59
drwxr-xr-x@ 7 root wheel 224 Jul 2 09:30 Library
com.apple.quarantine 59
-rw-r--r--@ 1 root wheel 7374 Jul 2 09:30 README.md
com.apple.quarantine 59
drwxr-xr-x@ 3 root wheel 96 Jul 2 09:30 bin
com.apple.quarantine 59
drwxr-xr-x@ 5 root wheel 160 Jul 2 09:30 completions
com.apple.quarantine 59
drwxr-xr-x@ 48 root wheel 1536 Jul 2 09:30 docs
com.apple.quarantine 59
drwxr-xr-x@ 5 root wheel 160 Jul 2 09:30 manpages
com.apple.quarantine 59
这个答案到这个问题告诉我清除xattr -d
属性但它只对单个文件或目录条目起作用。
我如何递归地清除此属性?
PS 如果我将下载的文件解压到非根子目录中,我似乎会得到类似的隔离属性。
答案1
xattr -cr brew-master
sudo
(当且仅当它在根目录下时使用)
稍微更精致的解决方案来自同一篇博文:
xattr -r -d com.apple.quarantine brew-master
更好的解决方案是使用命令行工具来获取并提取此类档案,以便从一开始就避免此类问题。此类解决方案是关于如何手动安装 Homebrew 的回答。
答案2
不用 brew 也可以这样做:
xattr -r -d com.apple.metadata:kMDItemWhereFroms /Users/MyUserName/Downloads/FolderContainingFilesAndOtherFolders
从特定文件夹中的任何内容中删除这些数据。