windows - Cygwin vs Linux Virtual Machine for Development?

Indlæg af Hanne Mølgaard Plasc

Problem



≪ overspringbar del>


Jeg arbejder i IT (hovedsagelig desktop support og netværksadministration) i et Windows-miljø, og jeg programmerer lejlighedsvis.


For et par uger siden besluttede jeg, at jeg ikke kunne være så effektiv som jeg vil være uden et Bash-miljø til mine kommandoprompte behov. Dette gælder især når jeg bruger Ruby og git. Jeg brugte Msysgit et stykke tid, men jeg Jeg kunne ikke lide, hvordan det ikke var udvidet som Linux. Så installerede jeg Cygwin og spillede med det i et par uger.


Så meget som Cygwin er, ser det ud til, at det er meningen at være en suped up kommandoprompt, og dens kompatibilitet med Linux er bare en behagelig bivirkning. Dette blev især tydeligt, da jeg forsøgte at opgradere Ruby til 1.9.3 (det fungerede, men det var ikke ligefrem), installer rvm (har aldrig arbejdet), og installer RMagick (kan eller måske ikke virker, men ligner hovedpine).


Så jeg overvejer at køre Linux i en virtuel maskine. Men jeg er bekymret for at det kan være en anden maskeorm, og jeg vil have spildt timer, før jeg finder ud af det. Jeg kan godt lide, at Cygwin kører i Windows, og jeg kommer til brug min IDE, brugermappe og meget mere med det. Men jeg kan ikke lide, at støtten til den ikke er så grundig som for en stor distro.


≪/overspringbar del>



  1. Har nogen her indblik i at bruge Cygwin vs at køre en Linux virtuel maskine?

  2. Eventuelle råd om oprettelse af et Linux-udviklingsmiljø i en virtuel maskine inden for Windows?


Bedste reference


Jeg har stået over for fælles problemer før, og den bedste løsning ifølge min erfaring er kun 2 arbejdsstationer :).


Bortset fra at have Linux kører i et virtuelt miljø er langt bedre.
Først og fremmest vil du have fuld Linux-kapacitet (undtagen 3D-acceleration, men det behøver du sandsynligvis ikke).
Du vil have mulighed for at lave snapshots og vende tilbage til dem, når tingene går galt!
Du kan starte flere omgivelser ved hjælp af skabeloner, hvilket er meget praktisk.


Den eneste undergang jeg kan tænke på er præstationsproblemer af værtsmaskinen.
Hvis det er en normal arbejdsstation/pc, gør en IDE + en virtuel maskine + en 100 + faneblade bare det langsomme.

Andre referencer 1


1: cygwin er god til hurtige hacks, og for at kunne få adgang til host-os ressourcer (du kan køre IE for eksempel i et bash script). For noget tæt integreret og noget 'rigtigt' ord, gå til en vm. Det vil efterligne alt og adskille udvikling fra den rigtige maskine, og det kan være en god ting i nogle tilfælde ... som et plus det simulerer en reel server :)


2: I det mindste har du i virtuelboksen delte mapper, og du kan dele en lokal mappe og se den i vm som en lokal mappe (lokalt eller som en Windows-del. Det afhænger faktisk). Derefter kan du bruge det 'indgangspunkt' til at symbolisere ting i vm og gøre de ting, du har brug for, med de rigtige filer placeret i den rigtige (vært) maskine

Andre referencer 2


Der er noget, jeg har hørt om kaldet Cooperative Linux. Det kører Linux sammen med Windows-kernen, så du kan bruge dem på samme tid. Jeg har aldrig brugt det, men her:
http://www.colinux.org/[1]

Andre referencer 3


SSH i en linux boks. Det er det, alle gør. Hvorfor er det ikke svaret?

Andre referencer 4


Linux i en virtuel maskine vil give dig den oplevelse, du vil have mere end cygwin eller enhver mock shell, som jeg kan lide at kalde dem.


Kører VM'er, men kræver meget ram afhængigt af om du vil have en desktop version af Linux eller bare en kommandolinjeversion.


Selv i arbejde Jeg har en pc med 8gb ram og jeg kører ubuntu 64bit som hoved OS, to ubuntu servere (disse er til dev miljøer to forskellige projekter) og en Windows 7 VM og en win XP VM.


Jeg kan køre de to ubuntu servere og en anden VM på samme tid, nøglen her er mere ram hvis du vil kunne gøre VM s.

Andre referencer 5


Hvad jeg tror nu får fordelene ved 2 muligheder bruger
Docker
, det giver dig cygwin enkelhed og VM funktionalitet med bedre ydeevne.

Andre referencer 6


Hvis du kommer til at arbejde med Ruby så få en Ubuntu virtuel maskine op og køre :) Jeg har ikke prøvet Ruby, osv. På Windows, men jeg har hørt, at det er en smerte at konfigurere og konfigurere. Jeg bruger en Mac til alle mine Rails udvikling, så jeg kan ikke kommentere på Windows side for det.


Hvad angår virtuel maskinskabelse, foretrækker jeg VMware Workstation, men der er gratis alternativer som Virtualbox og VMware Server.

Andre referencer 7


Jeg bruger en Linux VM i en Windows-syv miljø som denne VM er så tæt som muligt på den endelige produktionsmiljø. Denne komplekse konfiguration er bundet til Eclipse IDE under vinduer syv. Så det er rigtig godt til lokal fuld prøvning før forpligte sig til produktionsservere.


Som du nævner også, tager det lidt tid at få ordentligt opsætning og fuldt konfigureret. Så hvis dit behov kun er for små tricks, kan du fortsætte med at bruge cygwin. For eksempel stod jeg over for betydelige problemer at konfigurere perl og kompilere mysql inden for cygwin. Så det er ok for grundlæggende anvendelser, men ikke fuldt ud at udnytte et fuldt Linux-miljø.


Så for mig afhænger valget stronlgy af den endelige serveropsætning.