我正在使用gnu tar
有几个例子 --exclude
指定。
我得到了两个
Removing leading / from member names
和
Removing leading / from hard link targets
警告。他们之间有什么区别?
我正在使用gnu tar
有几个例子 --exclude
指定。
我得到了两个
Removing leading / from member names
和
Removing leading / from hard link targets
警告。他们之间有什么区别?
Answers:
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
本来会被覆盖。
tar
档案 是 允许使用绝对名称,可以禁用剥离-P
如有必要......也应该注意到 柏油 存档以与符号链接类似的方式存储硬链接 - 第二个和更多链接实际上指向第一个链接 路径 (而不是inode),这就是显示第二条消息的原因。