如何在 Linux 中对带有软链接的目录层次结构进行 tar 打包/压缩?
答案1
GNU tar 通常会在其生成的 tarball 中包含符号链接。如果您希望它包含符号链接指向的文件,则在创建 tarball 时传递-h
/ 。--dereference
答案2
当与标准参数一起使用时tar xvf
,软链接将以软链接的形式保存在 tar 存档中。然后有两种情况:
- 如果您的符号链接是完整路径名,则解压时它可能会被破坏。
- 如果您的符号链接是相对路径名,则在您正在压缩的文件夹下,提取时它将正常工作。
如果您想要 tar 文件而不是符号链接,则可以使用参数-h / --dereference
。
答案3
换一种方式,使用 /etc 作为示例:
find /etc | cpio -puvdm . ; tar czf ttt.tgz etc
rm -rf etc
tar xvzf ttt.tgz
ls -l etc/rc*