当我使用命令时
tar -czf /var/backups/completa.tgz -g /var/backups/backup.info /home
...然后tar
说
tar: Removing leading `/' from member names
如何防止tar
移除引线/
?
答案1
来自 GNUtar
手册:
-P
,--absolute-names
创建存档时不要删除文件名中的前导斜杠。
因此你应该能够说,例如,
tar -c -Pz -f /var/backups/completa.tgz -g /var/backups/backup.info /home
tar
请注意,这会创建一个包含绝对路径名的存档,因此如果不额外小心(例如,使用 GNU及其--strip-components
选项),就不可能将存档文件提取到子目录中。
如果您创建一个备份,那么最好是不是使用-P
。当您想要从备份中恢复文件时,您很可能希望将相关文件从存档中提取到子目录中,然后手动将它们移动到位。您很可能不想将文件直接提取到存档中存储的绝对位置,因为这可能会覆盖您可能不想恢复的文件。
答案2
引入/
存档名称是危险的,因为如果您位于某个目录下并且它们尚未被删除,那么您很可能会无意中覆盖现有文件。因此,为了保护用户,它们被删除。如果您确实需要完整路径,并且您知道自己在做什么,请更改到该/
目录并从那里运行提取。但不要把它从你的档案中删除。