我有两台 Linux 服务器,一台有几个 RAR 文件,另一台是空的。我想提取存档并将内容移至服务器 2。
问题是:我没有足够的存储空间来提取服务器 1 上的文件。而且我无法使用 SSHFS,因为服务器 1 上无法加载 FUSE 模块。
我已经看到有unrar
将p
输出发送到 STDOUT 的选项。是否有可能用它来解决问题?
答案1
虽然我认为该unrar p
命令理论上可能可用,但它会导致存档中的所有文件在同一流中一个接一个地打印,这将使您解决如何解析它并将其再次分成不同的文件的问题。
由于目标似乎是避免在提取存档之前将其存储在目标主机上,因此按原样流式传输存档并在目标本地进行提取可能是有意义的,其中提取的文件可以单独写入。然而,虽然这种方法对于例如 a .tar.gz
、 a.cpio.gz
或诸如此类的东西来说效果很好,对于存档,.rar
这不起作用,因为该格式不可流式传输(需要寻求)。
我相信您最好的选择,正如问题评论中所建议的那样,是复制档案然后提取它们(可能一次一个)。如果这是您将重复执行的操作,您可能需要考虑切换到更合适的存档格式。