Dengan kedatangan perangkat lunak mesin virtual seperti VirtualBox , VMWare , Parallels dll., Apakah Cygwin berguna pada platform Windows untuk memberikan lingkungan seperti linux?
Dengan kedatangan perangkat lunak mesin virtual seperti VirtualBox , VMWare , Parallels dll., Apakah Cygwin berguna pada platform Windows untuk memberikan lingkungan seperti linux?
Jawaban:
Mesin virtual dan Cygwin menjawab dua pertanyaan berbeda.
Mesin virtual adalah untuk saat Anda ingin menjalankan beberapa sistem operasi secara bersamaan. Ini seperti memiliki dua komputer tanpa biaya untuk membeli dua set perangkat keras.
Cygwin dimaksudkan untuk memberikan Windows sejumlah alat Unix, sehingga Geeks Unix dapat lebih efektif menggunakan Windows (meskipun saya berpendapat bahwa Cygwin tidak melakukannya dengan sangat baik), dan untuk menyediakan beberapa alat yang memiliki fitur lebih besar daripada Windows menyediakan sendiri. Saya tidak berpikir karakterisasi Cygwin menyediakan "linux like environment" sangat akurat. (Cygwin sebenarnya dimaksudkan untuk menyediakan lingkungan pengembangan POSIX yang lebih lengkap untuk Windows, dan, dalam melakukannya, menyediakan sejumlah utilitas. Namun, hasil akhirnya bagi pengguna akhir, adalah bahwa ia hanya menyediakan alat.)
Sebenarnya ada semacam opsi ketiga, Linux Kooperatif , yang saya pikir benar - benar menyediakan lingkungan seperti Linux di dalam Windows. Ini sebenarnya menjalankan kernel Linux sebagai proses dalam Windows. Ada beberapa distribusi yang berjalan di bawahnya; andLinux muncul di pikiran. Dengan sistem ini, Anda sebenarnya memiliki lingkungan Linux yang dapat lebih langsung berinteraksi dengan lingkungan Windows Anda daripada mesin virtual.
Ini masih berguna untuk menjalankan alat Unix seperti rsync, yang ingin Anda operasikan pada file di kotak Windows daripada terjebak di mesin virtual. Anda juga dapat menggunakan penjadwal Windows untuk memulai pekerjaan dengan alat.
Sejauh yang saya ketahui, Cygwin adalah konsep yang berbeda. Tidak seperti mesin virtual, ia menyediakan DLL yang mengemulasi lingkungan / lapisan Linux, yang dapat menjalankan dan membangun program linux pada mesin windows. Misalnya, jika Anda ingin menggunakan beberapa pustaka yang hanya didistribusikan sebagai kode sumber dan dimaksudkan untuk dibangun di sistem Linux, bagaimana jika Anda ingin menggunakan pustaka ini di Visual Studio? Anda tidak dapat menggunakan VS untuk membangunnya karena bergantung pada dependensi Linux, jadi Anda perlu Cygwin dalam situasi ini.