Файлы .ova
являются просто tar-файлом Posix:
$ file foo.ova
foo.ova: POSIX tar archive
Если вы распакуете его, вы найдете один .ovf
(XML), описывающий виртуальную машину , один текстовый файл с контрольными суммами (SHA-1) и один или несколько файлов .vmdk
:
$ file *
foo-disk1.vmdk: VMware4 disk image
foo-disk2.vmdk: VMware4 disk image
foo-disk3.vmdk: VMware4 disk image
foo-disk4.vmdk: VMware4 disk image
foo-disk5.vmdk: VMware4 disk image
foo.ova: POSIX tar archive
foo.mf: ASCII text
foo.ovf: XML 1.0 document, ASCII text, with very long lines
Таким образом, для конвертации RAW в .ova
вам нужно будет конвертировать ваши необработанные файлы в формат .vmdk
, записать правильный файл .ovf
, создать файл .mf
и скопировать все в файл .ova
. Обратите внимание, что последний не включает сжатие. Строки в файле .mf
выглядят так:
SHA1(foo.ovf)= e33370daa74544dc30841e1c527628e5c8610c54
Его легко получить из sha1sum
, но формат другой:
$ sha1sum 'foo.ovf'
e33370daa74544dc30841e1c527628e5c8610c54 foo.ovf
Так:
$ sha1sum *.ovf *.vmdk | awk 'BEGIN { FIELDWIDTHS = "40 2 1024" } { print "SHA1(" $3 ")= " $1 }'
SHA1(HyperFile 3.3.0.ovf)= e33370daa74544dc30841e1c527628e5c8610c54
SHA1(HyperFile_3.3.0-disk1.vmdk)= a60c58d00010bdc715d96e89e34fd45f48a58b4c
SHA1(HyperFile_3.3.0-disk2.vmdk)= 92250a09ef4b924c51c64b37ba6dc7049eb24cc2
SHA1(HyperFile_3.3.0-disk3.vmdk)= aff779bf46c859506606fd8925f79ffb9a86d955
SHA1(HyperFile_3.3.0-disk4.vmdk)= 64dd05f7e5d73929234393c109b2d92d69dedc8e
SHA1(HyperFile_3.3.0-disk5.vmdk)= 157e9f9f6adeabcc41f228cd7b53fc0ef4da43f9
Я позволю вам прочитать о формате OVF здесь: https://www.dmtf.org/standards/ovf