我正在使用 tar 1.15.1(CentOS 5.5)来存档目录。
[www]$ tar -tvzf public_org.tgz 'public/files'
drwxrwxr-x root/www 0 2010-12-01 07:33:33 public/files/
-rwxrwxr-x root/www 55 2010-12-01 07:33:33 public/files/dummy.txt
[www]$ ls -ld public/files{,/*}
drwxrwxr-x 2 apache apache 4096 Dec 1 07:33 public/files
-rwxrwxr-x 1 apache apache 55 Dec 1 07:33 public/files/dummy.txt
[www]$ tar -dvzf public_org.tgz 'public/files'
public/files/
public/files/dummy.txt
public/files/dummy.txt: Uid differs
public/files/dummy.txt: Gid differs
有人知道为什么我没有收到目录中的 Uid/Gid 不同的消息吗?我真的很想知道是否有任何权限发生了变化。
我尝试以普通用户和 root 用户身份运行。
答案1
有趣的问题。我在 Centos 5.5 上看到了与 tar-1.15-1 相同的行为。我查看了源代码,它显然没有区分目录,正如您所观察到的。
我编译了最新版本 (1.26) 并尝试了。结果相同。
我不确定这背后是否有任何理由。我想,可能有一个好的理由,或者可能只是他们还没有实施。你可以试着在tar 帮助邮件列表