Apa perbedaan antara Windows Bash dan Cygwin?

65

Apa perbedaan antara Windows Bash dan Cygwin?

Pembaruan baru dari Windows dengan "Linux" Bash adalah baru, tetapi perbedaan apa yang ada pada Cygwin yang mungkin membuat Anda memilih salah satu dari yang lain?

Martijn van Wezel
sumber
1
Saya kira windows bash lebih terintegrasi dan lebih baik didukung oleh Microsoft.
Panther
2
Saya pikir pertanyaan ini ada pada topik karena Windows Bash adalah produk yang didukung Canonical. Mungkin di luar topik karena mungkin pendapat daripada dukungan.
Panther

Jawaban:

65

Cygwin adalah alat yang hebat jika Anda ingin hidup sepenuhnya di Windows dan ingin mengarahkan / mengotomatiskan tugas-tugas Windows dengan skrip bash. Namun, Cygwin tidak dapat menjalankan binari Linux yang tidak dimodifikasi.

Di situlah langkah WSL:

Windows Subsystem for Linux (WSL), adalah lapisan baru dari kernel Windows yang bertujuan untuk memberikan tingkat kompatibilitas yang tinggi dengan kernel Linux ABI. Ini memungkinkan binari ELF64 Linux asli, yang tidak dimodifikasi untuk dijalankan pada WSL.

Inilah cara WSL dapat menjalankan distro pengguna-tanah asli Ubuntu, dan paket apa pun yang Anda unduh dari apt-get, atau paket .deb dari tempat lain, tanpa perubahan apa pun.

Maksud WSL adalah untuk memungkinkan pengembang yang bekerja pada Windows untuk dapat menjalankan banyak alat, dan untuk bekerja pada banyak proyek, yang bergantung pada binari Linux, fitur, perilaku, tata letak sistem file, model proses, dll.

Sementara WSL masih dalam tahap awal implementasinya, kami bekerja keras untuk meningkatkan luas dan dalamnya implementasi syscall kami untuk secara mantap meningkatkan kemampuan WSL untuk menjalankan seperangkat alat yang semakin besar, dan mendukung sejumlah besar Ruby, Java, node , dll. paket dan proyek.


Pembaruan: 2017-09-07

Sejak menulis di atas, kami telah mengirimkan Pembaruan Kreator Windows 10 yang SEPENUHNYA meningkatkan kompatibilitas WSL dengan BANYAK alat yang Anda ingin / perlu jalankan.

Pengembangan juga terus berlanjut dan kami telah mengirimkan Win10 Insiders selama beberapa bulan terakhir dalam perjalanan ke pengiriman Fall Creators Update (FCU) pada Oktober 2017.

Di FCU, kami menambahkan kemampuan untuk menginstal dan menjalankan lebih dari satu distro berdampingan: Ubuntu, openSUSE, dan SLES saat ini tersedia, dengan Fedora dan yang lainnya dalam perjalanan. WSL sekarang juga mendukung komunikasi serial USB, dan pemasangan penyimpanan USB dan pembagian jaringan, bersama dengan perbaikan lebih lanjut pada syscalls kami yang meningkatkan kompatibilitas dengan lebih banyak alat.


Pembaruan: 2019-08-22

Sudah beberapa tahun yang sangat sibuk sejak pertama kali mengumumkan dan merilis WSL, kemudian menambahkan dukungan untuk beberapa distro melalui toko, dan mengumumkan WSL v1.0 HTH.

Pada Build 2019 kami mengumumkan Terminal Windows baru ( video sesi Terminal di sini ) dan WSL 2 ( video sesi WSL 2 di sini ) yang memperkenalkan pendekatan baru untuk menjalankan Linux di Windows.

Untuk perincian lebih lanjut dan pembaruan di masa mendatang, pastikan untuk mengunjungi blog Windows Command-Line setiap beberapa minggu di mana kami memposting banyak berita terkait

Turner Kaya
sumber
9
Saya telah menjadi pengguna cygwin selama bertahun-tahun. WSL adalah ide fantastis yang sebagian besar berjalan dengan baik ... namun pada tahap ini kecepatan akses file-nya lambat. Saya akan mengatakan sangat lambat. Melakukan operasi berukuran sedang bahkan dengan sesuatu seperti GIT memakan waktu lebih dari 30 detik versus sub detik pada Cygwin. Semoga mereka akan memperbaikinya.
Damien Sawyer
9
Disk perf adalah masalah yang diketahui: Kami sedang mengerjakan beberapa perbaikan perf untuk Win10 CU, dengan perbaikan yang lebih substansial akan datang kemudian pada 2017.
Rich Turner
3
Fantastis. Tidak bisa menunggu Ini akan menjadi produk hebat :-)
Damien Sawyer
2
@DamienSawyer sudah lebih dari 6 bulan. Apakah keluhan kecepatan Anda berkurang atau apakah masih sama?
WinEunuuchs2Unix
3
@ RichTurner maka saya akan menjalankan pembaruan: D
Martijn van Wezel
15

Subsistem Windows untuk Linux

Saya telah menggunakan WSL di bawah Windows 10 selama sekitar beberapa bulan. Akhirnya saya bisa boot ke Windows untuk bermain game dan masih mengakses bash prompt dan menjalankan CLI dan banyak program GUI. Ada beberapa batasan seperti tidak ada direktori virtual kernel Linux yang sudah dikenal. Perencanaan diperlukan untuk berbagi skrip Bash yang sama antara Ubuntu dan WSL pada mesin dual boot.

Ada banyak hal yang ingin saya tingkatkan, tetapi saya bisa hidup dengannya sekitar satu tahun atau lebih.

Sumber tertutup

Satu hal yang perlu diingat adalah Microsoft adalah sistem tertutup, dan Anda tidak mendapatkan kesibukan pihak ketiga untuk menulis pembaruan seperti yang Anda nikmati di Linux. Tetapi semua hal dianggap Anda membeli laptop baru dan itu datang dengan Windows 10 sehingga Anda bisa mengatakan itu "gratis" setidaknya :)

Cygwin dikendalikan oleh Red Hat Linux yang tidak dikenal karena memberikan sesuatu secara gratis juga. Distribusi Linux "gratis" mereka, Fedora, tampaknya seperti " tempat uji" bagi sebagian orang.

Siklus perawatan

Cygwin memiliki pembaruan selama 15 tahun. Yang perlu dicatat adalah manajer proyek yang sama telah ada sejak 2003. Ada banyak pemelihara penuh waktu dan banyak kontributor sukarela lainnya.

WSL menyediakan pembaruan besar dua kali setahun setiap musim semi dan musim gugur. Pembaruan kecil mingguan tersedia bagi mereka yang ada dalam daftar berlangganan Pengembang. Meskipun Microsoft memiliki sumber daya untuk melemparkan ribuan orang ke dalam pengembangan WSL, tampaknya Anda dapat menghitung anggota tim dengan jari Anda.

Masalah kecepatan

Anda akan melihat banyak keluhan tentang kecepatan WSL. Misalnya, pengecatan layar membutuhkan waktu beberapa kali lebih lama di Windows 10 dibandingkan Ubuntu 16.04, artinya Anda sebenarnya dapat melihat pergerakan kursor di Windows 10:

WSL bash startup.gif

Diperlukan waktu sekitar 5 detik untuk mengecat layar WSL Bash. Sebagai perbandingan, ini sekitar 1 1/2 detik untuk layar splash yang sama di Ubuntu 16.04:

Terminal Ubuntu splash.gif

Cygwin memiliki keluhan kecepatan dengan Bash sendiri .


Posting asli di bawah ini untuk referensi sejarah.

Jawabannya di sini adalah satu tahun, jadi saya pikir ada sedikit pembaruan. Dengan Windows 10 Home, jika Windows 32 bit, itu berarti ia tidak akan menjalankan 64-bit Ubuntu / Windows Subsystem seperti yang dikatakan Microsoft di sini: ( subsistem windows Linux di win10 HOME BASIC ).

Ini seperti mimpi yang menjadi kenyataan menjalankan Ubuntu di Windows dengan dukungan gaming superior untuk Nvidia, tetapi sebelum Anda kehabisan dan membeli laptop baru (atau bekas), pastikan memiliki Windows 10 64 bit dan bukan versi rumahan 32-bit jika Anda ingin menjalankan Ubuntu / Linux secara native di bawah Windows. Di situs web Microsoft, mereka benar-benar merujuk pada edisi Ulang Tahun Windows sebagai prasyarat untuk menjalankan Subsistem Windows untuk Linux.


Namun jika Anda tidak ingin keluar $ 200 + untuk Windows 10 dan Anda memiliki laptop yang lebih tua yang menjalankan Windows 8.1 64-bit seperti yang saya lakukan, dan Anda memiliki laptop yang lebih tua yang menjalankan Windows Vista 64 bit seperti yang saya lakukan, maka Cygwin adalah jawabannya.

Cygwin mendukung lebih banyak versi Windows sebagai daftar situs web mereka :

Cygwin dapat dijalankan di semua versi Windows yang modern dan dirilis. Negara Januari 2016 ini termasuk Windows Vista, Windows Server 2008 dan semua versi Windows hingga Windows 10 dan Windows Server 2016. Versi 32-bit dari Cygwin juga berjalan di lingkungan WOW64 32 bit pada versi 64-bit Windows yang dirilis, 64 Versi bit tentu saja hanya pada Windows 64 bit.

Perlu diingat bahwa Cygwin hanya dapat melakukan sebanyak yang didukung OS yang mendasarinya. Karena itu, Cygwin akan berperilaku berbeda, dan menunjukkan batasan yang berbeda, pada berbagai versi Windows.

WinEunuuchs2Unix
sumber
2
Pertanyaannya adalah apa perbedaan antara cygwin dan bash untuk windows. Cygwin bahkan tidak disebutkan dalam jawaban Anda. Tolong jelaskan bagaimana ini menjawab pertanyaan.
Seth
@ Jadi saya menunjukkan bagaimana WSL adalah versi spesifik sedangkan Cygwin berjalan pada semua versi Windows yang didukung. Terima kasih telah menunjukkan pengawasan saya.
WinEunuuchs2Unix
1
Kami sudah sangat jelas bahwa WSL membutuhkan Windows 64-bit, dan tersedia di setiap SKU Windows 10, kecuali LTSB saat ini - WSL akan ditambahkan ke rilis LTSB berikutnya. WSL juga akan dimasukkan dalam Windows Server yang dirilis pada musim gugur 2017.
Rich Turner
@ RichTurner Situs web Anda menjelaskannya dengan jelas. Yang tidak jelas bagi saya (dan bukan kesalahan Anda) adalah mengapa vendor tersebut menjual i7 quad core 7700 dengan GPU Nvidia 1050 dan RAM sistem 12 GB dengan Windows 10 home. Seseorang menghapus tautan asli tetapi ini dia . Mereka tidak mengeja itu 32-bit. Apakah Anda mengatakan bahwa setiap WIndows 10 adalah 64-bit?
WinEunuuchs2Unix
1
Ini dijual sebagai PC gaming. Karena sebagian besar gamer tidak membutuhkan fitur tambahan di Win10 Pro, yang memilih untuk Rumah untuk menyelamatkan pelanggan dari membayar sesuatu yang mereka mungkin tidak perlu. Windows 10 memang datang dalam varian 32-bit juga untuk mereka yang menginginkannya, tetapi saya akan ASTONISHED jika seseorang menjual mesin dengan RAM> 4GB dan menginstal OS 32-bit karena OS dan aplikasi yang dijalankannya tidak akan dapat untuk mengakses apa pun> 4GB.
Rich Turner