知道如何按特定顺序tar文件。我知道一开始听起来很奇怪,但是听我说。 OVA文件本质上是一个tar文件,但具有特定的顺序。 Tar通常用于创建文件,但为了让VMware等HyperVisors能够识别OVA,OVA中的文件必须以非常特定的方式进行排序。 .ovf文件必须首先在OVA中,其他文件必须按照.ovf中列出的顺序出现
这里只是一个帮助解释的快速树:
VM.ova--
|
|--VM.ovf
|--VM.mf
|--VM.vmdk
|--VM.iso
这是正确的顺序。当我尝试使用tar创建一个ova时它起作用,但顺序错了。我是这样做的。这实际上非常基础。
tar -cvf VM.ova *
我只是潜入包含需要添加到OVA的所有内容并运行tar命令的文件夹。请帮我正确订购这些文件。如果我们无法解决这个问题,VM将无法使用任何HyperVisor。谢谢!
*更新*
目前tar默认执行的顺序是:vmdk,iso,mf,ovf
答案 0 :(得分:6)
问题在于您只是使用glob *
来列出文件。在tar
看到之前,glob会立即扩展,所以tar真正看到的是:
tar -cvf VM.iso VM.mf VM.ovf VM.vmdk
因为在正常*情况下,globs在C
整理区域设置中以词汇方式扩展。如果订单很重要,您可以手动列出文件:
tar -cvf VM.ovf VM.mf VM.vmdk VM.iso
或使用大括号扩展来节省一些打字
tar -cvf VM.{ovf,mf,vmdk,iso}
*如果你弄乱你的LC_*
变量,它可能会以不同的顺序扩展,但我在这里做了一些假设。