Windows 是否能够在存档文件中存储符号链接或硬链接?
我看到 7-Zip 有这些选项:
-snh : store hard links as links
-snl : store symbolic links as links
但是尝试使用 Zip、Tar 和 7z 存档似乎存储了实际文件,或者一些损坏的小文件,而不是提取时可以使用的链接。
答案1
这似乎只是 Windows 上的 p7zip 存在的问题:
https://sourceware.org/pipermail/cygwin/2020-March/244075.html
正式版本运行效果与预期一致:
答案2
如果您选择 .wim 格式,则会存储目录符号链接,但我在提取时遇到了问题。例如,我尝试使用三种“类型”的目录符号链接来存档(真实)目录:
- 链接到存档目录中的目标。
- 链接到与存档目录位于同一驱动器上的目标,但不在其中。
- 链接到不同驱动器上的目标。
当然,这些只是任意分组。无论如何:
据我所知,类型 1 以相对路径存储,并且可以很好地提取。
类型 2 也使用相对路径存储,如果您提取到同一位置,则工作正常。否则,7-zip 可能会因为相对路径而抛出错误。假设您存档D:\foo, 和D:\foo\bar是指向D:\酒吧. 符号链接目标将存储为..\酒吧。因此,如果你提取到邮箱:\测试例如,7-zip 将尝试创建一个符号链接到邮箱:\test\bar。如果不存在,它将抛出一个错误并创建一个空目录。
类型 3 很奇怪。例如,我存档了一个目录答案:使用符号链接到E:\TEMP\zLogs. 当提取到F:\测试,符号链接指向F:\test\TEMP\zLogs。
我把这一切都提在了7-zip 论坛。Dev 做出了回应,但帮助不大。
此外,据我所知,由于创建符号链接需要权限,因此无法通过文件资源管理器(等)直接提取。因此,需要以管理员身份运行 7zFM 并使用它进行提取。