Script per VIRTUALBOX

di il
7 risposte

Script per VIRTUALBOX

Salve,
Ho pensato di creare uno script che rendesse un tantino più pratica la creazione di una macchina virtuale su un server linux tramite VIRTUALBOX
I requisiti sono:

7 Risposte

  • Re: Script per VIRTUALBOX

    Ho arricchito lo script rendendolo piu completo nella gestione delle macchine virtuali
    a breve inseriro altre funzionalita previste da virtualbox come il servicepack e come abilitare le porte usb
    'Con questo script si avrà la possibilità di creare una macchina virtuale utilizzando VIRTUAL BOX su un server Linux.'
    'La procedura standard prevede una serie di comandi da terminale e quindi lo script agevolerà questi passaggiù' \
    'I requisiti per il corretto funzionamento dello script sono : l\'installazione di VIRTUAL BOX sul server Linux' \
    'e la copia dell\'immagine ISO dal sistema da installare'
    
    import os
    os.system('cls')
    x=2
    def elencoVM():
        os.system('cls')
        print('Queste sono le macchine virtuali presenti nel sistema\n', os.system('vboxmanage list vms'), '\n')
    
    while x>1:
        os.system('clear')
        print('Questo script ti aiuterà nella gestione e creazione di ina macchina virtuale su VIRTUALBOX')
        print('\nSeleziona una scelta per procedere')
        print('\n1 - Elenco delle macchine virtuali presenti nel sistema')
        print('\n2 - Creare una macchina virtuale')
        print('\n3 - Elimina macchina virtuale di cui si conosce il nome')
        print('\n4 - Avvia una macchina virtuale')
        print('\n5 - Spegnere una macchina virtuale')
        print('\ndigita exit per uscire dal programma')
        scelta=input('\ninserisci la scelta.....')
        if scelta=='exit':
            x=0
        if scelta =='1':
            os.system('clear')
            elencoVM()
            exit = input('\nPremi 1 per tornare al menu principale')
            if exit == '1':
                x = 2
        if scelta =='2':
            os.system('clear')
            print('\n Hai scelto di creare una macchina virtuale')
            print('\nPrima di proseguire devi conoscere il nome che il sistema asseggna alla scheda di rete usando il comando ifconfig da terminale')
            rete=input('\nHai questa informazione s/n....?')
            if rete == 's':
                os.system('clear')
                iso=input('inserisci il percorso e il nome del file ISO del sistema da installare sulla macchina virtuale. es /home/user/vm.iso  ')
                nomeMV=input('iserisci il nome da assegnare alla macchina virtuale  ')
                ramVM=input('inserisci la quantità di memoria RAM in MegaByte  ')
                nicVM=input('inserisci il nome della scheda di rete  ')
                pathVM=input('inserisci il percorso e il nome dove verra salvata la Macchina virtuale es. /home/user/VM.vdi  ')
                sizeVM=input('inserisci la grandezza del hdd della macchina virtuale espressa in MegaByte  ')
                rdpVM=input('inserisci il numero della porta da utilizzare per la connessione tramite Desktop Remoto alla macchina virtuale  ')
                reportVM=input('Vuoi vedere il riepilogo della tua macchina virtuale s/n? ')
                if reportVM =='s':
                    os.system('clear')
                    print('Il nome della tua macchina virtuale è '+nomeMV)
                    print('L\'hardware della macchina virtuale è:\nMemoria RAM:'+ramVM+'Mb'+'\nHard Disk:'+sizeVM+'Mb'+'\nNome scheda di rete:'+nicVM+'\nFile iso:'+iso+'\nPercorso macchina virtuale:'+pathVM)
                    okVM=input('Confermi    s/n  ?')
                    if okVM =='s':
                        os.system('clear')
                        os.system('vboxmanage createvm --name \"'+nomeMV+'\" --register')
                        os.system('vboxmanage modifyvm \"'+nomeMV+'\" --memory '+ramVM+' --acpi on --boot1 dvd --nic1 bridged --bridgeadapter1 '+nicVM)
                        os.system('vboxmanage createhd --filename '+pathVM+' --size '+sizeVM)
                        os.system('vboxmanage storagectl \"'+nomeMV+'\" --name \"IDE controller\" --add ide')
                        os.system('vboxmanage storageattach \"'+nomeMV+'\" --storagectl \"IDE controller\" --port 1 --device 0 --type dvddrive --medium '+iso)
                        os.system('vboxmanage modifyvm \"'+nomeMV+'\" --vrdeport '+rdpVM+' --vrde on')
                        exit = input('\nPremi 1 per tornare al menu principale.....')
                        if exit == '1':
                            x = 2
                    if okVM=='n':
                        os.system('clear')
                        os.system('vboxmanage createvm --name \"'+nomeMV+'\" --register')
                        os.system('vboxmanage modifyvm \"'+nomeMV+'\" --memory '+ramVM+' --acpi on --boot1 dvd --nic1 bridged --bridgeadapter1 '+nicVM)
                        os.system('vboxmanage createhd --filename '+pathVM+' --size '+sizeVM)
                        os.system('vboxmanage storagectl \"'+nomeMV+'\" --name \"IDE controller\" --add ide')
                        os.system('vboxmanage storageattach \"'+nomeMV+'\" --storagectl \"IDE controller\" --port 1 --device 0 --type dvddrive --medium '+iso)
                        os.system('vboxmanage modifyvm \"'+nomeMV+'\" --vrdeport '+rdpVM+' --vrde on')
                        exit = input('\nPremi 1 per tornare al menu principale.....')
                        if exit == '1':
                            x = 2
        if scelta=="3":
            os.system('clear')
            print('\nQuete è l\'elenco delle macchine virtuali presenti sul sistema\n')
            os.system('\nvboxmanage list vms'+'\n')
            oldVM = input('\ninserisci il nome della macchina virtuale che vuoi ELIMINARE ')
            startVM = input('\nVuoi procedere ad ELIMINARE la macchina virtuale ' + oldVM + '  s/n   ')
            if startVM=='s':
                os.system('\nvboxmanage unregistervm '+oldVM+' --delete')
                print('\nLa macchina virtuale '+oldVM+' è stata eliminata con successo. ')
                print('\nDi seguito l\'elenco aggiornato delle macchina virtuali presenti sul sistema')
                os.system('\nvboxmanage list vms')
                exit=input('\nPremi 1 per tornare al menu principale....')
                if exit=='1':
                    x=2
        if scelta=='4':
            os.system('clear')
            print('\nHai scelto di avviare una macchina virtual esistente. Di seguito l\'elenco delle macchine virtuali presenti')
            os.system('\nvboxmanage list vms')
            oldVM=input('\ninserisci il nome della macchina virtuale che vuoi avviare ')
            startVM=input('\nVuoi procedere ad avviare la macchina virtuale '+oldVM+'  s/n   ')
            if startVM=='s':
                os.system('\nvboxmanage startvm '+oldVM+' --type headless')
                print('\nLa macchina virtuale'+oldVM+' è stata avviata correttamente, puoi procedere alla connessione remota')
                exit = input('\nPremi 1 per tornare al menu principale....')
                if exit == '1':
                    x = 2
        if scelta=='5':
            os.system('clear')
            print('\nHai scelto di spegnere una macchina virtuale. Per poter proseguire devi indicare il nome della macchina in questione')
            print('\nQuesto è l\'elenco delle macchine virtuali presenti nel sistema ')
            os.system('\nvboxmanage list vms')
            closeVM=input('\ninserisci il nome della macchina virtuale da spegnere ')
            os.system('\nvboxmanage controlvm '+closeVM+' poweroff')
            print('\nLa macchina virtuale '+closeVM+' è stata spenta correttamente')
            exit = input('\nPremi 1 per tornare al menu principale....')
            if exit == '1':
                x = 2
    
    if x==0:
        exit = input('Hai scelto di uscire dal programma......')
    
    
  • Re: Script per VIRTUALBOX

    Il forum non serve come una bacheca per i lavori personali, per quanto possano essere utili. Qui si postano problemi.
  • Re: Script per VIRTUALBOX

    Ciao @Oregon, dipende da cosa viene trattato.
    In questo caso ritengo che il thread possa essere utile. Se ci pensi c'è un'intera sezione dedicata alla fatturazione elettronica che ha molti thread similari.
    Inoltre non ha linkato o sta promuovendo un progetto hostato da qualche parte.

    Non appena ho un po' di tempo aggiungo una parte al regolamente per normare questo genere di thread.

    x @nikola291: prosegui tranquillamente.
  • Re: Script per VIRTUALBOX

    Bene ... quando avrai modificato il regolamento proporrò anch'io ....
  • Re: Script per VIRTUALBOX

    Io credo che il problema di fondo non sia il regolamento, bensi la predisposizione che si vuole usare per stare in questo mondo. Programmare di base non vuol dire risolvere i problemi ma dare spazio alla creatività di ognuno di noi e metterla al servizio della comunità Perché aspettare che qualcuno creii un problema se in questo caso abbiamo gia una soluzione?

    P.S. mi scuso per OT ma ho creduto che era giusto esprimere una mia opinione……...vorrà dire che la prossima volta apro un post con una domanda e poi dopo mi autorispondo con la soluzione ahahahah, scherzo
  • Re: Script per VIRTUALBOX

    Ciao, questo è un forum tecnico.
    In genere si parte da un problema o una richiesta di consiglio: successivamente si sviluppa la discussione con la partecipazione degli altri utenti.
    In questo caso invece, si tratta di un thread in cui si condivide spontaneamente la soluzione a un problema.
    Entrambe le tipologie di thread hanno una valenza positiva ma hanno un approccio diverso.
  • Re: Script per VIRTUALBOX

    Ok bene. L'importante è sempre arricchire il nostro bagaglio culturale grazie anche al confronto e alla condivisione.
Devi accedere o registrarti per scrivere nel forum
7 risposte