Con l'arrivo di software per macchine virtuali come VirtualBox , VMWare , Parallels ecc., Cygwin è utile sulla piattaforma Windows per creare un ambiente simile a Linux?
Con l'arrivo di software per macchine virtuali come VirtualBox , VMWare , Parallels ecc., Cygwin è utile sulla piattaforma Windows per creare un ambiente simile a Linux?
Risposte:
Le macchine virtuali e Cygwin rispondono a due domande diverse.
Le macchine virtuali sono per quando si desidera eseguire più sistemi operativi contemporaneamente. È come avere due computer senza la spesa per l'acquisto di due set di hardware.
Cygwin ha lo scopo di fornire a Windows un numero di strumenti Unix, in modo che i fanatici di Unix possano utilizzare Windows in modo più efficace (anche se direi che Cygwin non lo fa molto bene) e fornire alcuni strumenti che hanno funzionalità maggiori di Windows provvede da solo. Non penso che la caratterizzazione di Cygwin che fornisce un "ambiente simile a Linux" sia particolarmente accurata. (Cygwin è in realtà destinato a fornire un ambiente di sviluppo POSIX più completo per Windows e, nel fare ciò, fornisce una serie di utilità. Il risultato finale per gli utenti finali, tuttavia, è che fornisce semplicemente strumenti.)
C'è in realtà una specie di terza opzione, Cooperative Linux , che credo in realtà non fornire un ambiente Linux-like all'interno di Windows. In realtà esegue il kernel Linux come processo all'interno di Windows. Ci sono alcune distribuzioni che girano sotto di esso; e viene in mente Linux . Con questi sistemi, in realtà hai un ambiente Linux che può interagire più direttamente con il tuo ambiente Windows rispetto a una macchina virtuale.
È ancora utile per eseguire strumenti Unix come rsync, che si desidera operare sui file nella finestra di Windows piuttosto che essere bloccati in una macchina virtuale. È inoltre possibile utilizzare lo scheduler di Windows per avviare i lavori con gli strumenti.
Per quanto mi riguarda, Cygwin è un concetto diverso. A differenza della macchina virtuale, fornisce una DLL che emula un ambiente / livello Linux, che può eseguire e creare un programma Linux su una macchina Windows. Ad esempio, se si desidera utilizzare una libreria che è distribuita solo come codice sorgente ed è destinata al sistema Linux integrato, cosa succede se si desidera utilizzare questa libreria in Visual Studio? Non è possibile utilizzare VS per costruirlo poiché si basa su dipendenze Linux, quindi in questa situazione è necessario Cygwin.