如何防止 tar 删除前导斜杠?

如何防止 tar 删除前导斜杠?

当我使用命令时

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

引入/存档名称是危险的,因为如果您位于某个目录下并且它们尚未被删除,那么您很可能会无意中覆盖现有文件。因此,为了保护用户,它们被删除。如果您确实需要完整路径,并且您知道自己在做什么,请更改到该/目录并从那里运行提取。但不要把它从你的档案中删除。

相关内容