====== Importare in VirtualBox applicazioni virtuali di Mageia create con VirtualBox-OSE ====== ^ Importare in VirtualBox applicazioni virtuali di Mageia create con VirtualBox-OSE ^^ ^ Autore | Matteo (xquiet) | ^ Data | 30/11/2012 23:59 | ^ Livello | * * | ===== Premessa ===== VirtualBox è un'applicazione dedicata alla virtualizzazione per architetture x86 e x86_64 che viene distribuita in due modalità: * VirtualBox (binari forniti da Oracle https://www.virtualbox.org/wiki/VirtualBox ) * VirtualBox-OSE (versione open source con qualche limitazione rispetto alla prima) Questo breve howto illustra come sistemare applicazioni virtuali (macchine virtuali) di Mageia realizzate con VirtualBox-OSE (comodamente installabile dai repositories di Mageia) affinché siano importabili nella versione di VirtualBox distribuita da Oracle. //Perché si rende necessario scrive questo howto?// Per il semplice fatto che la versione di VirtualBox distribuita da Oracle non riconosce Mageia come un sistema operativo guest valido, mentre VirtualBox-OSE (versione 4.1.22_OSE disponibile su Mageia) sì. ===== Requisiti ===== * Un editor di testo (gedit, kwrite, leafpad, juffed, vim, emacs, nano, joe, ...) * Mageia 2 a 32bit o 64bit * Voglia di smanettare e un cervello funzionante, come sempre ;-) * Una macchina virtuale Mageia creata con VirtualBox-OSE ===== Il problema ===== Supponiamo che vogliate esportare la vostra macchina virtuale con Mageia per poterla distribuire ai vostri clienti o più semplicemente la vogliate passare a qualche amico durante un Install Fest di Mageia. Per fare questo VirtualBox-OSE (così come VirtualBox) mette a disposizione la funzione **Esporta applicazione** accessibile dal menù //File//. Seguendo la procedura guidata otterrete un file con estensione **.ova** (d'ora in avanti per semplicità //OVA//). Supponiamo, sempre per comodità, che la vostra macchina virtuale realizzata con VirtualBox-OSE debba essere importata in una VirtualBox di quelle che potete scaricare in forma binaria dal sito di Oracle, magari in esecuzione su una distribuzione diversa da Mageia. Quello che succederà nel momento in cui tenterete di importare l'OVA sarà l'apparire di un messaggio di errore del tipo: ''Importazione dell'applicazione virtuale /home/matteo/Documenti/Mga01.ova non riuscita.'' ===== Una digressione tecnica ===== ==== Cosa sono i file OVA, come sono strutturati ==== Un file **OVA** non è altro che un //archivio tar// (d'ora in avanti //tarball//) contenente: * le immagini dei dischi * un file **OVF** * un manifesto (opzionale) ==== Cosa è un file OVF ==== I file OVF non sono altro che file xml contenenti la configurazione della vostra macchina virtuale. Questo file ha un ruolo chiave nella soluzione del problema qui proposto. Un esempio: {{:doc:centos.txt|OVF di una vm Mageia}} ==== Cosa è un manifesto ==== Il manifest non è altro che un file contenente gli hash dell'OVF e dell'immagine (o delle immagini) dei dischi. Il loro scopo è quello di consentire la verifica dell'integrità dell'OVA. Non è indispensabile alla risoluzione del nostro problema, ma qualora voleste riassemblare il file OVA a partire da OVF e immagini disco, allora è bene capire come funziona. Un esempio: {{:doc:centos_mf.txt|manifest di una vm mageia}} ==== Come estraggo il contenuto da un file OVA? ==== Trattandosi di un tarball sarà sufficiente usare il comando come segue: ''tar -xf file.ova'' ===== La soluzione ===== La soluzione è piuttosto semplice, se si sa dove mettere le mani. In particolare focalizzeremo la nostra attenzione sul file OVF trascurando in questa occasione il manifest. Una volta estratto il contenuto del file OVA, come indicato poco più sopra, aprite con un editor di testo l'//OVF// ed utilizzando la funzione di ricerca trovate le occorrenze di ''Mageia'' (o ''Mageia_64'' se la vostra macchina virtuale è a 64bit). L'attributo chiave da //sistemare// è **OSType** in quanto il VirtualBox distribuito in forma binaria da Oracle lo leggerà e trovandovi all'interno Mageia ci restituirà l'errore citato precedentemente. Procedete quindi a sostituire le occorrenze di ''OSType="Mageia"'' con ''OSType="Mandriva"'', dal momento che quest'ultima -//storicamente più nota//- viene riconosciuta correttamente sia da VirtualBox che da VirtualBox-OSE. Salvate quindi il file e chiudetelo. **Finito!** Potete ora procedere all'importazione della vostra applicazione virtuale Mageia importando il file OVF appena corretto, facendo credere a VirtualBox di importare Mandriva. **NOTA BENE:** //il parametro OSType non è del tutto inutile e il suo contenuto dovrebbe rispecchiare la distribuzione realmente installata nei dischi virtuali, in quanto VirtualBox opererà alcune ottimizzazioni (spesso però di scarsissima rilevanza). Non è colpa nostra però se VirtualBox non aggiunge il supporto a Mageia ;-) //