![从 tar 文件中提取时如何取消引用链接?](https://linux22.com/image/18362/%E4%BB%8E%20tar%20%E6%96%87%E4%BB%B6%E4%B8%AD%E6%8F%90%E5%8F%96%E6%97%B6%E5%A6%82%E4%BD%95%E5%8F%96%E6%B6%88%E5%BC%95%E7%94%A8%E9%93%BE%E6%8E%A5%EF%BC%9F.png)
如果我有一个 tar 文件 ,bob.tar
其中包含real_file
和link_to_real_file
,其中后者是符号链接,有没有办法提取 的内容,bob.tar
以便它link_to_real_file
不是符号链接,而是real_file
.
我知道如果我使用该标志,这在创建方面确实是可能的-h
。
该命令tar -cvhf bob.tar real_file link_to_real_file
将取消引用link_to_real_file
,但我想在提取端执行此操作,无论 tar 文件是如何创建的。
答案1
将存档挂载为目录,例如AVFS,然后使用您最喜欢的文件复制工具。
mountavfs
cp -RLp ~/.avfs$PWD/bob.tar\# target-directory/
答案2
干得好
- 提取存档
- 使用重新创建存档
-h
- 再次提取