为什么tar不保留文件权限?

16
我注意到在一个Linux系统上创建的tar包在另一个Linux系统上解压缩时无法保留文件权限。如何让tar保留文件权限?

4
你尝试过从链接执行tar -pxvzf xxx.tar.gz命令吗? - Pippin
1
不相关的话题;应该发布在[su]或[unix.se]上。 - Jim Garrison
非常抱歉,我没有意识到这个问题应该提交到另一个网站。不仅如此,我显然是瞎了(或者今天盯着这个显示器太多小时了),因为在发布这个问题之前我查看了手册页,但没有找到它。谢谢你们的回复。 - Andres Gonzalez
3个回答

28

你可以尝试以下操作:

tar -pcvzf xxx.tar.gz

p == 保留权限
c == 创建归档文件
v == 显示详细信息(在创建 tar 文件时打印文件名)
z == 使用 gzip 压缩
f == 指定 tar 文件名

来源


我一直遇到“tar:p:无法打开:没有那个文件或目录”的错误,可能的原因是什么? - alper

14

在创建和提取tarball时,都要使用p选项。


5

简单地查看手册可以解决您的问题:

 -p, --preserve-permissions, --same-permissions
       extract information about file permissions (default for superuser)

请注意,将存档文件解压到某些文件系统(如FAT)上时,权限可能不会被保留,因为它们不支持它。

此外,数字所有者/访问时间的保留可能对您有用:

 --numeric-owner
       always use numbers for user/group names

 --atime-preserve
       preserve access times on dumped files, either by restoring the
       times

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接