linux – 在从bash创建的tar中订购文件

linux – 在从bash创建的tar中订购文件,第1张

概述知道如何按特定顺序tar文件.我知道一开始听起来很奇怪,但是听我说. OVA文件本质上是一个tar文件,但具有特定的顺序. Tar通常用于创建文件,但为了让VMware等HyperVisors能够识别OVA,OVA中的文件必须以非常特定的方式进行排序. .ovf文件必须首先在OVA中,其他文件必须按.ovf中列出的顺序出现 这里只是一个帮助解释的快速树: VM.ova-- | 知道如何按特定顺序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

解决方法 问题是你只是使用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,vmdk,iso}

*如果你弄乱你的LC_ * vars,它可能会以不同的顺序扩展,但我在这里做了一些假设.

总结

以上是内存溢出为你收集整理的linux – 在从bash创建的tar中订购文件全部内容,希望文章能够帮你解决linux – 在从bash创建的tar中订购文件所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/1025163.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存