tar: Ignoring unknown extended header keyword LIBARCHIVE.xattr.com.apple.metadata:kMDItemTextContentLanguage

在Mac下执行tar压缩文件后在Linux CentOS下执行发现异常输出tar: Ignoring unknown extended header keyword LIBARCHIVE.xattr.com.apple.metadata:kMDItemTextContentLanguage,查询后发现是Mac下的tar不一样导致,这里总结下问题。

问题

Mac下执行如下命令进行tar打包

1
tar -czvf  ../xxxx.tar.gz --exclude='.DS_Store' xxxx/*

目标机器CentOS下执行tar解压缩

1
tar -C xx/lib -xz

执行中即有如下输出

tar: Ignoring unknown extended header keyword
LIBARCHIVE.xattr.com.apple.metadata:kMDItemTextContentLanguage

原因

  1. 在 macOS 中使用 BSD tar 创建归档文件时会有 xattr 头文件。而CentOS不是BSD tar,而是GNU tar。
  2. 虽然执行中出现了异常输出,但不影响使用,仅仅只是提示,并不算报错。

解决办法

Mac下安装brew install gnu-tar,之后执行gtar -czvf ../xxxx.tar.gz --exclude='.DS_Store' xxxx/*即可。

相关问题