提取分割到多张 DVD 上的 tar 文件

提取分割到多张 DVD 上的 tar 文件

如果我将一个 bziped tar 文件拆分到多个 DVD 上,那么在不创建大量中间文件的情况下提取它的最佳方法是什么?我不想先将所有存档部分复制到中间磁盘。

到目前为止我能想到的最好的办法是

1号航站楼:

mkfifo temppipe1
mkfifo temppipe2
...
mkfifo temppipen
cat temppipe* | bunzip2 |tar -xvf -

2 号航站楼:

dd if=archive.tar.bz_part1 of=temppipe1
....
dd if=archive.tar.bz_partn of=temppipen

这很有效,让我可以在每张 DVD 之后更改 DVD,但我觉得这可能会创建大量命名管道,而且容易出错。在终端 2 和 tar 中输入一个拼写错误就会退出,只能重新开始。在开始时创建足够的命名管道也很重要

谁有更好的想法吗?

答案1

您可以使用单个管道,并保持其上的写入器打开,以便它在您完成之前不会关闭。

1号航站楼:

mkfifo temppipe
tar xvfj temppipe

2 号航站楼:

cat > temppipe

我们不会cat向管道写入任何内容,但它的存在会使管道在我们运行dd命令时保持打开状态。

3号航站楼:

dd if=archive.tar.bz_part1 of=temppipe # and so on

然后返回终端 2 并按 Control-D。 cat将发送文件的最终结束并且 tar 将完成。

相关内容