Trasportare e lavorare su un'intera scatola di sviluppo da una chiavetta USB. Fattibile?

StackOverflow https://stackoverflow.com/questions/502319

  •  20-08-2019
  •  | 
  •  

Domanda

Ultimamente ho pensato di investire in una degna pen drive USB (qualcosa del tipo di this ), installa i sistemi operativi su macchine virtuali e inizia a svilupparli.

Quello che ho in mente è che voglio essere in grado di trasportare le mie scatole di sviluppo, essendo una Distribuzione di Windows per lo sviluppo di .Net e una Distribuzione di Linux per cose come RoR, Perl e quant'altro, così sarei in grado di portarli in giro dove necessario ... che si tratti di lavoro, scuola, computer diversi a casa ecc ...

Sto pensando di farlo anche per scopi di backup ... cioè per fare il backup del mio quasi-singolo file VM su un hd esterno, invece di fare regolarmente aggiornamenti al mio normale Windows Box. Sto anche pensando di forse anche impegnare le caselle VM sotto il controllo del codice sorgente ( è persino possibile? )

Quindi, sono sulla buona strada con questo? Mi suggerisci di provare a implementarlo?

Quanto è possibile avere la tua scatola di sviluppo su una macchina virtuale che gira da una chiavetta USB?

È stato utile?

Soluzione

Sono assolutamente d'accordo su dove stai andando. Vorrei farlo da solo.

Ma se non lo sai già, non si tratta solo di dimensioni dell'unità, che ci crediate o meno Le unità flash USB possono essere molto più lente delle unità disco rotanti !

Questo può essere un grosso problema se prevedi di eseguire effettivamente eseguire le VM direttamente dall'unità USB!

Ho provato a eseguire una VM Windows XP da 4 GB su un Corsair Survivor da 32 GB e la VM era praticamente inutilizzabile! Anche copiare la mia VM da 4 GB su e giù sull'unità è stato piuttosto lento - circa 10 minuti per copiarla sull'unità.

Se hai una porta esata Consiglio vivamente di esaminare le opzioni ESata ad alta velocità come questa Kanguru ESGB / unità flash USB da 32 GB OPPURE questo 32 GB uno per OCZ .

Le velocità di lettura e scrittura di queste unità sono molto più elevate su ESata rispetto ad altre unità USB. E puoi ancora usarli come USB se non hai una porta ESata. Tuttavia, se non si dispone di una porta ESata, è possibile acquistare schede PCI da ESata online e persino ExpressCard ESata per il proprio laptop.

EDIT: una nota a margine, scoprirai che le unità flash USB usano FAT anziché NTFS. Non vuoi usare NTFS perché rende molte più letture & Amp; scrive sul disco e l'unità avrà solo un numero limitato di letture & amp; scrive prima che muoia. Ma usando FAT avrai una dimensione massima del file massima di 2 GB che potrebbe essere un problema con la tua VM. In tal caso, è possibile dividere i dischi VM in blocchi da 2 GB. Assicurati inoltre di eseguire il backup giornaliero della VM ogni volta che l'unità raggiunge il numero massimo di scritture. :)

Altri suggerimenti

Questo articolo sugli stati delle chiavette USB,

  

Non eseguire mai applicazioni a uso intensivo di disco   direttamente contro i file memorizzati sul   pen drive.

Le chiavette USB utilizzano la memoria flash e queste hanno un numero massimo di scritture prima che si verifichino errori e si verifichi un danneggiamento. L'autore dell'articolo precedentemente collegato ha riscontrato che è compreso nell'intervallo tra 10.000 e 100.000 scritture, ma se si utilizza un'applicazione a uso intensivo di disco questo potrebbe essere un problema.

Quindi, se lo fai, disponi di una politica di backup aggressiva per eseguire il backup del tuo lavoro. Allo stesso modo, se quando si esegue la suite di sviluppo, se fosse in grado di scrivere sul disco rigido locale come spazio di lavoro temporaneo, sarebbe l'ideale.

Spero che tu stia parlando di progetti linguistici interpretati. Non riuscivo a immaginare di compilare un C / C ++ di qualsiasi dimensione su una VM, per non parlare di una VM che si esauriva da un'unità USB.

Lo faccio abbastanza frequentemente con Xen, ma includo anche un kernel di avvio bare metal sull'unità. Ciò è particolarmente utile quando si lavora su qualcosa da cui si baserà un CD live.

Il rovescio della medaglia è il gonfiore dell'immagine della VM per mantenerlo avviabile su molte macchine .. quindi dove normalmente costruiresti un kernel paravirtualizzato molto snello e medio .. devi includerne anche uno che ha tutto incluso la cucina sink (fino a quello che vuoi, cioè hai bisogno di audio, token ring, ecc?)

Di solito porto due stick, uno ha Xen + un patch 2.6.26 di Linux, l'altro ha le mie varie immagini guest che sono pronte per l'avvio in entrambi i modi. Una copia debootstrapped di Debian o Ubuntu costituisce un ottimo punto di partenza per creare la prima.

Se non altro, è divertente armeggiare. Mi dispiace essere un po 'incentrato su GNU / Linux, ma è quello che uso esclusivamente :) Ho iniziato a scherzare con questo quando ho dovuto trovare uno strano percorso per aggiornare la mia distribuzione, che era due anni indietro rispetto a quello attuale. Quindi, ho legato un ospite, installato ciò che volevo e ho indicato GRUB al nuovo LV per il mio file system di root. All'interno, ho appena montato il mio vecchio LV di casa e sono andato via.

Dai un'occhiata a MojoPac:

http://www.mojopac.com/

I giocatori hard-core lo usano per portare world of warcraft con sé in movimento - dovrebbe funzionare bene per le tue esigenze di sviluppo, almeno su Windows. Usa cygwin con esso per le tue esigenze di unix-dev.

Ero abituato a farlo, e ho scoperto che la compilazione era così mortalmente lenta, non ne valeva la pena.

Tieni presente che le unità flash USB sono estremamente lente (forse da 10 a 100 volte più lente) rispetto ai dischi rigidi con prestazioni di scrittura casuali (scrittura di molti piccoli file su una partizione che ha già molti file).

Un tipico processo di compilazione che utilizza gli strumenti GNU creerà molti piccoli file: un semplice script di configurazione crea migliaia di piccoli file e li elimina di nuovo solo per testare l'ambiente prima ancora di iniziare la compilazione. Potresti aspettare molto tempo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top