在 Linux 中,我正在尝试使用以下任一命令生成包含全局扩展属性条目的未压缩 PAX 存档:
A) 指定 pax 选项(隐含--xattrs
):
tar cvf file.tar folder/* --xattrs --pax-option=gname:=MyGroup,uname:=MyUser
B)指定 xattrs 支持(暗示--format=pax
):
tar cvf file.tar folder/* --format=pax --pax-option=gname:=MyGroup,uname:=MyUser
这两个命令都成功生成了一个文件,但是当我用我的十六进制编辑器打开文件时,第一个条目的类型是“x”,而不是预期的“g”类型。
我究竟做错了什么?
环境:
- Ubuntu 20.04 ARM64
tar
工具版本:GNU tar 1.30
更多信息
tar
工具手册指定--pax-option
并是操作扩展属性的--xattrs
参数,但没有提及有关创建全局扩展属性条目的任何内容。
如果我理解正确的话,Tar 规范指出 PAX 格式支持两种特殊类型的条目:
类型标志'x'
扩展属性条目。这是它描述的实际文件系统条目之前的条目。它允许用户在数据部分中指定任意数量的属性,使用 UTF8 字符串,格式为BYTES NAME=VALUE\n
.
类型标志“g”
全局扩展属性条目。与“x”条目的特征相同,但不同之处在于只有一种:此条目位于档案的第 0 位,并描述适用于所有其余条目的属性。