创建包含校验和的tar文件
这是我的问题:我需要将大量(最大30到40 GB)大文件(最多60 TB)归档到tar文件中。我想在归档之前对这些文件进行校验和(md5,sha1等)。然而不读每一个文件两次(一次执行校验,两次tar'ing)或多或少的必需品,以达到很高的归档性能(LTO-4要120 MB / s的持续,以及备份窗口是有限的)。 因此,我需要某种方式来读取文件,在一侧提供一个校验和工具,在另一侧构建一个tar到磁带,类似于: tar cf - files | tee tarfile.tar | md5sum - 除了我不希望整个档案的校验和(此示例shell代码仅执行此操作),而是要档案中每个文件的校验和。 我研究了GNU焦油,Pax,Star选项。我查看了Archive :: Tar的源代码。我认为没有明显的方法可以实现这一目标。看来我必须手工用C或类似的东西来实现我所需要的。Perl / Python / etc根本无法降低性能,并且各种tar程序都缺少必要的“插件架构”。在开始编写代码之前,是否有人知道任何现有的解决方案?