微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在由bash创build的tar内部sorting文件

任何想法如何以特定的顺序来压缩文件。 我知道这听起来很奇怪,但是听我说。 OVA文件本质上是一个tar文件,但是具有特定的顺序。 Tar通常用于创build文件,但是为了使OVA能够像VMware一样被HyperVisors识别,OVA中的文件必须以特定的方式进行sorting。 .ovf文件必须是OVA中的第一个,而其他文件必须按照他们在.ovf中列出的顺序出现

这里只是一个快速的树来帮助解释:

VM.ova-- | |--VM.ovf |--VM.mf |--VM.vmdk |--VM.iso

这是正确的顺序。 当我尝试用tar创build一个ova的时候,但是顺序是错误的。 这是我如何做的。 这其实是非常基本的

tar -cvf VM.ova *

我只是深入到包含所有需要添加到OVA的内容并运行tar命令的文件夹。 请帮我正确地订购这些文件。 如果我们不能解决这个问题,虚拟机将无法使用任何HyperVisor。 谢谢!

Bash – :没有这样的文件或目录

AWK中的多分裂

如何为所有用户设置所有ulimits无限制?

Fedora 20如何在启动结束时运行脚本

docker集装箱不给我一个

*更新*

目前tar认的命令是:vmdk,iso,mf,ovf

语法错误:意外redirect

扩展脚本以循环多个文件生成输出名称

错误与gradlew:/ usr / bin / env:bash:没有这样的文件或目录

在bash中使用多个引号

“无法统计远程文件:没有这样的文件或目录”:在shell脚本中使用FTP从* nix到Win

问题是你只是使用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_*变量混乱了,glob可能会以不同的顺序扩展,但是我在这里做一些假设。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐