我正在使用 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
将被覆盖。