在macOS中使用tar压缩的文件,上传到服务器中解压会出现报错。 ``` tar: Ignoring unknown extended header keyword `LIBARCHIVE.xattr.com.apple.quarantine' ``` 产生这个报错的原因是,macOS使用的是BSD tar,它会产生一些GNU tar无法识别的额外的信息,常见的Linux发行版用的是GNU tar。 ## 使用BSD tar 解决方法可以在压缩的时候加入`-no-xattrs`参数,不生成额外的信息。 ``` tar czvf target.tar.gz --no-attrs /path/to/source ``` 此外,macOS生成的压缩文件会出现很多`._`开头的隐藏文件,也可以一并移除。 ``` tar czvf target.tar.gz --no-attrs --no-mac-metadata /path/to/source # OR COPYFILE_DISABLE=1 tar czvf target.tar.gz --no-attrs /path/to/source ``` ## 使用GNU tar 还有一个方式使用安装GNU tar使用,默认别名gtar。 ``` brew install gnu-tar gtar czvf target.tar.gz /path/to/source ``` > 对于生成的压缩文件中存在`.DS_Store`文件,需要提前删除,参考:[删除macOS系统生成的.DS_Store、_MACOSX、._开头的同名文件等](https://www.simaek.com/archives/382/) Loading... 在macOS中使用tar压缩的文件,上传到服务器中解压会出现报错。 ``` tar: Ignoring unknown extended header keyword `LIBARCHIVE.xattr.com.apple.quarantine' ``` 产生这个报错的原因是,macOS使用的是BSD tar,它会产生一些GNU tar无法识别的额外的信息,常见的Linux发行版用的是GNU tar。 ## 使用BSD tar 解决方法可以在压缩的时候加入`-no-xattrs`参数,不生成额外的信息。 ``` tar czvf target.tar.gz --no-attrs /path/to/source ``` 此外,macOS生成的压缩文件会出现很多`._`开头的隐藏文件,也可以一并移除。 ``` tar czvf target.tar.gz --no-attrs --no-mac-metadata /path/to/source # OR COPYFILE_DISABLE=1 tar czvf target.tar.gz --no-attrs /path/to/source ``` ## 使用GNU tar 还有一个方式使用安装GNU tar使用,默认别名gtar。 ``` brew install gnu-tar gtar czvf target.tar.gz /path/to/source ``` > 对于生成的压缩文件中存在`.DS_Store`文件,需要提前删除,参考:[删除macOS系统生成的.DS_Store、_MACOSX、._开头的同名文件等](https://www.simaek.com/archives/382/) 最后修改:2025 年 11 月 20 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 3 如果觉得我的文章对你有用,请随意赞赏