我在 Debian 11 下使用 GNU tar 1.34 创建了一个 pax 存档,在 Windows 10 上的 7-Zip(23.01)文件管理器中查看 tarball 时,我注意到存档项目上有以下字段:
姓名 | 特征 | 评论 |
---|---|---|
9charfile |
0 POSIX ASCII |
|
long 70-character name of file |
0 POSIX ASCII PAX pax_path pax_size |
65-character name of directory/PaxHeaders/long 70-character name |
longer 96-character name of file |
0 POSIX ASCII PAX pax_path pax_size |
65-character name of directory/PaxHeaders/longer 96-character nam |
这是tar -tf
我的 tarball:
65-character name of directory/
65-character name of directory/9charfile
65-character name of directory/long 70-character name of file
65-character name of directory/longer 96-character name of file
如果你注意到评论字段,父目录++PaxHeaders
文件名使用截断文件名(整个字段为 100 个字符)。文件名最短的文件只有 9 个字符,不仅没有任何注释,而且PAX pax_path pax_size
在特征场地。
我使用这个非常长的命令创建了该 tarball(在本指南):
find '65-character name of directory' -print0 | LC_ALL=C sort -z | tar -cv --totals --posix --full-time --mode='a=r,u+w,a+X' --owner=0 --group=0 --numeric-owner --mtime='@0' --pax-option='exthdr.name=%d/PaxHeaders/%f,delete=atime,delete=ctime' --no-acls --no-selinux --no-xattrs -C /parent_dir --no-recursion --null -T - -f out.tar
此外,我创建了第二个 tarball 作为 Unicode 测试:
$ tar -tf unicodetest.tar
Random webpage I saved (低配版)_files/
Random webpage I saved (低配版)_files/sample-picture.jpg
Random webpage I saved (低配版)_files/sample-script.js
Random webpage I saved (低配版).htm
ascii-labelled file.bin
在 7-Zip (tar root) 中查看:
姓名 | 特征 | 评论 |
---|---|---|
Random webpage I saved (低配版)_files |
5 POSIX UTF8 MaxUnicode=37197 PAX pax_path |
./PaxHeaders/Random webpage I saved (低é…ç)_files |
Random webpage I saved (低配版).htm |
0 POSIX UTF8 MaxUnicode=37197 PAX pax_path |
./PaxHeaders/Random webpage I saved (低é…ç).htm |
ascii-labelled file.bin |
0 POSIX ASCII |
在 7-Zip (Random webpage I saved (低配版)_files
目录 ) 中查看:
姓名 | 特征 | 评论 |
---|---|---|
sample-picture.jpg |
0 POSIX UTF8 MaxUnicode=37197 PAX pax_path |
Random webpage I saved (低é…ç)_files/PaxHeaders/sample-picture.jpg |
sample-script.js |
0 POSIX UTF8 MaxUnicode=37197 PAX pax_path |
Random webpage I saved (低é…ç)_files/PaxHeaders/sample-script.js |
注意莫吉巴克在里面评论字段?这有什么值得关注的吗?还是只是通过 7-Zip 查看时的表面现象?我觉得奇怪的是,姓名字段可以正确显示 Unicode,但其他字段却不能。
我很好奇:
- 为什么较长的路径/文件名会导致额外的元数据
- 每个人的目的是什么特征和评论价值是
- 为什么评论似乎最多为 100 个字符
- 如果有任何警告/疏忽/值得关注的原因(因为这个过程将在未来的许多 tarball 中复制)
我的目标是创建一个可复制且可移植的 tarball,尽可能不影响变量(文件名、文件长度、路径和内容基本上是我需要保留的全部内容)。谢谢。