不同的“删除前导斜杠”警告是什么意思?

不同的“删除前导斜杠”警告是什么意思?

我正在使用 gnutar和一些--exclude指定的实例。

我得到了

Removing leading / from member names

Removing leading / from hard link targets

警告。它们之间有什么区别?

答案1

tarball 中的任何条目都不能以“/”开头,即绝对路径。这是一项安全功能,因此,如果您解压 tarball,则可以确保所有文件都位于目标目录和子目录中,而不是分散在整个系统中(并可能覆盖关键文件)。

您看到的警告是由于tar从任何绝对路径中删除前导“/”而导致的,包括普通文件(“成员名称”)和硬链接(“硬链接目标”)。

例如,这个命令...

/home/user $ tar czf tarball.tgz /home/user/data

...会导致这些警告,因为“/home/...”被转换为“home/...”。解压 tarball...

/home/user $ tar xzf tarball.tgz

...会导致所有文件被解压到/home/user/home/user/data。如果tar没有删除前导斜杠, 中的文件/home/user/data将被覆盖。

相关内容