首先,我想解释为什么我需要这个。 我需要为虚拟机创建一些磁盘映像文件。该文件将是非常巨大的(100GB〜1.5TB)文件,填充零。它应该在很短的时间内创建(尽可能多,至少应该比使用“/ dev/zero”的“dd”命令更快)。要求大小将是各种各样的(这意味着我不能以前创建它)。 简单的解决方案(直到知道)将文件创建为稀疏文件。 但为什么我想改变解决方案是稀疏文件的某种缺点。在非常短的时间内连接非常大(〜TByte)文件
在我看来,它可以通过直接编辑inode来解决。 我的想法是创建非常大的文件,这些文件充满了零并将它们分为inode级别。或者,在连接文件以创建所需的文件大小之前,我可以创建大量100 GB的文件。 我知道“debugfs”可以编辑索引节点的直接块。因为“debugfs”用于文件恢复,也许,我可以使用它来创建文件。但直到现在我还找不到如何编辑inode的间接块。除了编辑间接块之外,我不确定直接编辑inode的副作用。
无论如何,是否有任何酷的解决方案或工具(如果存在)“缝制”大文件或创建零填充文件? “猫”命令或其他只是读写解决方案可能不能完成我的问题。
你说你想解释_why_,但你永远不会解释它......但是,如果你需要填充零的文件,为什么不读取你需要的任何数量从/ dev/zero? – Kimvais 2012-02-06 07:59:45
/dev/zero正是我想要建议:) – paulsm4 2012-02-06 08:03:52
// kimvais谢谢你的回复。该文件是磁盘映像。我将把这些镜像安装到虚拟机上。 – jinhwan 2012-02-07 00:19:19