Cualquier idea de cómo tar archivos en un orden específico. Sé que suena raro al principio, pero escúchame. Un archivo OVA es esencialmente un archivo tar pero con un orden específico. Tar se usa comúnmente para crear el archivo, pero para que los hipervisores como VMware reconozcan el OVA, los archivos dentro del OVA deben ordenarse de una manera muy específica. El archivo .ovf DEBE estar primero en el OVA y los otros archivos deben aparecer en el orden en que aparecen dentro del .ovf
Aquí hay solo un árbol rápido para ayudar a explicar:
VM.ova-- | |--VM.ovf |--VM.mf |--VM.vmdk |--VM.isoEse es el orden correcto. Cuando trato de crear un óvulo con alquitrán, funciona, pero el orden es incorrecto. Así es como lo estoy haciendo. En realidad es muy básico.
tar -cvf VM.ova *Simplemente me sumerjo en la carpeta que contiene todos los contenidos que deben agregarse al OVA y ejecuto el comando tar. Por favor, ayúdame a ordenar estos archivos correctamente. Si no podemos resolver esto, la VM nunca funcionará con ningún HyperVisor. ¡Gracias!
* ACTUALIZAR *
Actualmente el orden que hace tar por defecto es: vmdk, iso, mf, ovf
El problema es que solo está usando un globo, * , para enumerar los archivos. El globo se expande inmediatamente, antes de que tar lo vea, así que lo que tar realmente ve es:
tar -cvf VM.ova VM.iso VM.mf VM.ovf VM.vmdk Porque, en circunstancias normales*, los globs se expanden léxicamente en la ubicación de colación C Si el orden es importante, puede enumerar los archivos manualmente:
tar -cvf VM.ova VM.ovf VM.mf VM.vmdk VM.isoo use la expansión de llaves para ahorrar algo de escritura
tar -cvf VM.ova VM.{ovf,mf,vmdk,iso} *Es posible que un glob se expanda en un orden diferente si te metes con tus LC_* vars, pero estoy haciendo algunas suposiciones aquí.