前言

近期收到一些关于安装官方版本的Alist Desktop桌面客户端时提示文件已损坏、无法打开。

目前推测是某些附加属性导致的异常。

这个问题已知会在Mac(Apple的M系列arm芯片)出现。

在 macOS 中,`xattr` 命令用于管理文件的扩展属性。这些扩展属性可以存储额外的数据,如文件的来源信息、备份软件使用的元数据等。

当你使用 xattr -c 命令后接着将文件拖入到终端窗口中时,该命令会清除你拖入的文件的所有扩展属性。这里的 -c 参数代表 "clear",意味着删除指定文件的所有扩展属性。

具体操作流程

1. 打开 Terminal 应用。


2. 输入 xattr -c 但不要立即按回车。【注意c后面要空格,不空格就会如下图所示】


3. 将文件从 Finder 拖拽到 Terminal 窗口中,这会将文件的路径添加到 xattr -c 命令之后。【注意不是安装包,是安装好的】


4. 按下回车执行命令。

执行这个操作后,所选文件的扩展属性将被清除。这对于解决某些与文件扩展属性相关的问题很有帮助,比如当文件从互联网下载后可能会被标记为“不可信”,导致无法打开。清除扩展属性可以移除这种标记。

5. 对于来源还需要放行

需要注意的是,使用这个命令可能会影响某些依赖于扩展属性的应用程序的行为,因为它会移除文件的所有扩展属性。因此,在执行这个操作之前,请确保这是你想要。

注意别下错版本了,M1、M2、M3等Apple芯片都是ARM架构(64位的),应该用aarch64的dmg

更多信息

当然可以直接在 xattr 命令中指定文件路径。以下是一个使用 xattr 命令管理 macOS 文件扩展属性的完整教程:

1. 查看文件的扩展属性
首先,你可以查看一个文件的扩展属性,以了解它目前有哪些额外的元数据。
xattr 文件路径
例如,如果你想查看名为 example.txt 的文件的扩展属性,你可以在 Terminal 中输入:
xattr /path/to/example.txt
请将 /path/to/example.txt 替换为你的实际文件路径。

2. 查看特定扩展属性的内容
如果你想查看文件的某个特定扩展属性的内容,可以使用以下命令:
xattr -p 属性名 文件路径
例如,查看 example.txt 文件的 com.apple.quarantine 属性,命令如下:
xattr -p com.apple.quarantine /path/to/example.txt
3. 删除文件的特定扩展属性
如果你只想删除文件的某个特定的扩展属性,而不是全部,可以使用以下命令:
xattr -d 属性名 文件路径
例如,删除 example.txt 文件的 com.apple.quarantine 属性:
xattr -d com.apple.quarantine /path/to/example.txt
4. 清除文件的所有扩展属性
如果你决定清除文件的所有扩展属性,可以使用 -c 选项,如下所示:
xattr -c 文件路径
例如,清除 example.txt 文件的所有扩展属性:
xattr -c /path/to/example.txt
5. 设置文件的扩展属性
你还可以为文件添加新的扩展属性或修改现有属性:
xattr -w 属性名 属性值 文件路径
例如,为 example.txt 设置一个名为 com.example.myattribute 的属性,其值为 value:
xattr -w com.example.myattribute value /path/to/example.txt
查看 example.txt 的扩展属性:
xattr /path/to/example.txt
查看 example.txt 的 com.apple.quarantine 属性内容:
xattr -p com.apple.quarantine /path/to/example.txt
删除 example.txt 的 com.apple.quarantine 属性:
xattr -d com.apple.quarantine /path/to/example.txt
清除 example.txt 的所有扩展属性:
xattr -c /path/to/example.txt
为 example.txt 添加或修改扩展属性:
xattr -w com.example.myattribute value /path/to/example.txt
使用这些命令时,请确保将 /path/to/example.txt 替换为目标文件的实际路径。在执行删除操作之前,建议先备份重要文件。