Windows Bash ve Cygwin arasındaki farklar nelerdir?


65

Windows Bash ve Cygwin arasındaki farklar nelerdir?

Windows’tan "Linux" Bash’le yapılan yeni güncelleme yeni, ancak Cygwin’de diğerini seçmenize neden olabilecek farklılıklar nelerdir?


1
Windows bash'ın daha iyi entegre olduğunu ve Microsoft tarafından daha iyi desteklendiğini düşünüyorum.
Panter

2
Bence bu soru, Windows Bash Kanonik destekli bir ürün olduğu için konuyla ilgili. Destek değil, belki de görüş konusu olabilir.
Panter

Yanıtlar:


65

Cygwin, tamamen Windows'ta yaşamak ve Windows görevlerini bash betiği ile çalıştırmak / otomatikleştirmek istiyorsanız harika bir araçtır. Ancak, Cygwin değiştirilmemiş Linux ikili dosyalarını çalıştıramaz.

WSL burada devreye giriyor:

Linux için Windows Alt Sistemi (WSL), Linux çekirdeği ABI ile yüksek derecede uyumluluk sağlamayı amaçlayan, Windows çekirdeğinin yeni bir katmanıdır. Bu, yerel, değiştirilmemiş Linux ELF64 ikili dosyalarının WSL'de çalışmasını sağlar.

Bu, WSL'nin orijinal bir Ubuntu kullanıcısı-arazi dağıtımını ve apt-get'ten indirdiğiniz paketleri veya başka bir yerden .deb paketlerini herhangi bir değişiklik yapmadan yürütebilmesidir.

WSL'nin amacı, Windows'ta çalışan geliştiricilerin birçok aracı çalıştırabilmelerini ve Linux ikili dosyalarına, özelliklerine, davranışlarına, dosya sistemi düzenine, süreç modeline vb. Bağlı birçok projede çalışabilmelerini sağlamaktır.

WSL hala uygulamasında henüz erken olsa da, WSL'nin daha geniş bir araç seti çalıştırma yeteneğini ve giderek daha fazla sayıda Ruby, Java düğümünü destekleme yeteneğini sürekli olarak geliştirmek için sistem çağrısı uygulamalarımızın genişliğini ve derinliğini iyileştirmek için çok çalışıyoruz. Paketler ve projeler vb.


Güncelleme: 2017-09-07

Yukarıdakileri yazdığımızdan beri, WSL'nin çalıştırmak isteyeceğiniz / ihtiyaç duyduğunuz araçların MANY ile uyumluluğunu artıran Windows 10 Oluşturucu Güncelleştirmesi'ni gönderdik.

Gelişme de azalmadan devam etti ve son birkaç ay içinde Win10 Insiders'ın, 2017 yılının Ekim ayında Güz Oluşturanlar Güncellemesi (FCU) sevkıyatı sırasında inşa ettiği gemileri gönderiyoruz.

FCU'da, yan yana birden fazla dağıtımı yükleme ve çalıştırma özelliğini ekliyoruz: Ubuntu, openSUSE ve SLES şu anda Fedora ve diğerleri ile birlikte kullanıma hazır. WSL artık USB seri haberleşmelerini ve USB depolama ve ağ paylaşımlarının monte edilmesini ve sistemlerimizde daha fazla araçla uyumluluğu artıran geliştirmelerin yapılmasını destekliyor.


Güncelleme: 2019-08-22

İlk önce WSL'yi duyurup piyasaya sürdükten sonra mağazadan çoklu dağıtımlara destek ve WSL v1.0 HTH'yi duyurmaktan bu yana çok yoğun geçti.

Build 2019'da , Windows'ta Linux çalıştırmaya yepyeni bir yaklaşım sunan yeni Windows Terminalini ( burada Terminal oturumu videosu ) ve WSL 2'yi ( burada WSL 2 oturum videosu ) duyurduk .

Daha fazla ayrıntı ve gelecekteki güncellemeler için, birkaç haftada bir çok ilgili haber gönderdiğimiz Windows Komut Satırı blogunu ziyaret ettiğinizden emin olun.


9
Yıllardır cygwin kullanıcısı oldum. WSL, çoğunlukla iyi sonuç veren harika bir fikir ... ancak bu aşamada dosya erişim hızı köpek yavaş. Yasakça yavaş diyeceğim. Orta büyüklükteki işlemleri bile GIT gibi bir işlemle yapmak, Cygwin'de saniyenin altı saniyesine kıyasla 30+ saniye civarındadır. Umarım bunu düzelteceklerdir.
Damien Sawyer

9
Disk perf bilinen bir sorundur: Win10 CU için bazı perf iyileştirmeler üzerinde çalışıyoruz, daha sonra 2017 yılında daha önemli gelişmeler kaydedildi.
Rich Turner,

3
Fantastik. Bekleyemem Harika bir ürün olacak :-)
Damien Sawyer

2
@DamienSawyer 6 aydan fazla oldu. Hız şikayetleriniz azaldı mı yoksa hala aynı mı?
WinEunuuchs2Unix

3
@RichTurner sonra güncelleştirmeyi çalışır: D
Martijn van Wezel

15

Linux için Windows Alt Sistemi

Birkaç aydır WSL'yi Windows 10 altında kullanıyorum. Sonunda oyun oynamak için Windows'a girebilirim ve hala bash istemine erişebiliyorum ve CLI ve birçok GUI programını çalıştırıyorum. Bilinen Linux çekirdeği sanal dizinlerinin hiçbiri gibi sınırlamalar yoktur. İkili önyükleme makinesinde aynı Bash komut dosyasını Ubuntu ile WSL arasında paylaşmanız gerekir.

Geliştirilmiş görmek istediğim çok şey var, ancak bir yıl kadar olduğu gibi bununla yaşayabilirim.

Kapalı kaynak

Unutulmaması gereken bir şey, Microsoft'un kapalı bir sistem olduğu ve üçüncü tarafların Linux'taki gibi güncellemeler yazan telaşını alamadığınızdır. Ama her şey yeni bir dizüstü bilgisayar aldığınızı düşündü ve yine de Windows 10 ile birlikte geliyor, böylece en azından "ücretsiz" olduğunu söyleyebilirdiniz :)

Cygwin, şeyleri bedavaya dağıttığı bilinmeyen Red Hat Linux tarafından kontrol edilir. Onların "özgür" Linux dağıtımı Fedora , bazılarına "deneme alanı" gibi görünüyor .

Bakım çevrimleri

Cygwin 15 yıllık bir güncellemeye sahip Dikkate değer aynı proje yöneticisi 2003 yılından bu yana yürürlüktedir. Çok sayıda tam zamanlı çalışan ve daha birçok gönüllü katılımcısı vardır.

WSL her bahar ve sonbaharda yılda iki kez büyük güncellemeler sağlar. Geliştiriciler abonelik listesindeki kullanıcılar için haftalık küçük güncellemeler bulunur. Her ne kadar Microsoft, binlerce kişiyi WSL geliştirmeye harcayacak kaynağa sahip olsa da, ekip üyelerini parmaklarınızla sayabilirsiniz .

Hız sorunları

WSL hızı hakkında birçok şikayet göreceksiniz. Örneğin, ekran resmi, Windows 10'da Ubuntu 16.04'e kıyasla çoğu zaman daha uzun sürer, yani imlecin Windows 10'da hareket ettiğini görebilirsiniz:

WSL bash startup.gif

WSL Bash açılış ekranının boyanması yaklaşık 5 saniye sürer. Ubuntu 16.04'teki aynı açılış ekranı için yaklaşık 1 1/2 saniyedir:

Ubuntu terminali splash.gif

Cygwin, Bash ile hız şikayetlerinden kendi payına sahiptir .


Tarihsel referans için aşağıdaki orijinal gönderi.

Buradaki cevap bir yaşında, bu yüzden küçük bir güncelleme olduğunu düşünüyorum. Windows 10 Home ile, eğer (: 32 bit Windows, öyle Microsoft buraya söyler gibi 64 bit Ubuntu / Windows Subsystem çalışmayacak demektir pencere Linux alt sistemi win10 ANA BASIC ).

Nvidia için üstün oyun desteğiyle Windows'ta Ubuntu'yu çalıştırmak bir rüya gibi görünüyor, ancak yeni (veya kullanılmış) bir dizüstü bilgisayar satın almadan ve satın almadan önce, Windows 10 64 bit olduğundan ve 32-bit ev sürümüne sahip olduğundan emin olun. Ubuntu / Linux sayfalarını yerel olarak Windows altında çalıştırmak istiyorsunuz. Microsoft web sitelerinde aslında Windows Yıldönümü baskısına Linux için Windows Subsystem'ı çalıştırmanın önkoşulu olarak atıfta bulunurlar.


Ancak, Windows 10 için 200 ABD doları + ödemek istemiyorsanız ve benim gibi Windows 8.1 64-bit çalıştıran daha eski bir dizüstü bilgisayarınız varsa ve benim gibi Windows Vista 64-bit çalıştıran daha da eski bir dizüstü bilgisayarınız varsa, Cygwin cevap.

Cygwin , web sitelerinin listesi olarak Windows'un daha fazla sürümünü destekliyor :

Cygwin'in tüm modern ve yayımlanmış Windows sürümlerinde çalışması beklenebilir. Bu durum Ocak 2016’da Windows Vista, Windows Server 2008’i ve Windows’un daha sonraki Windows 10 ve Windows Server 2016 sürümlerinin tümünü içeriyor. Cygwin’in 32 bit sürümü, 64 bit Windows’un 64 bit sürümlerinde WOW64 32 bit ortamında da çalışıyor. 64 bit Windows'ta elbette bit sürümü.

Cygwin'in yalnızca temel işletim sisteminin desteklediği kadar yapabileceğini unutmayın. Bu nedenle, Cygwin, Windows'un çeşitli sürümlerinde farklı davranacak ve farklı sınırlamalar gösterecektir.


2
Soru, cygwin ve bash arasındaki pencereler arasındaki farkların ne olduğudur. Cygwin, cevabınızda bile söz edilmiyor. Lütfen bunun soruyu nasıl cevapladığını açıklığa kavuşturun.
Seth

@Seth, WSL'nin sürüme özgü olduğunu ve Cygwin'in WIndows'un tüm desteklenen sürümlerinde çalıştığını belirtti. Gözetimimi gösterdiğin için teşekkürler.
WinEunuuchs2Unix

1
WSL'nin 64-bit Windows gerektirdiğini ve mevcut LTSB - WSL'nin bir sonraki LTSB sürümüne ekleneceği dışında her Windows 10 SKU'sunda mevcut olduğunu çok açık bir şekilde ifade ettik. WSL, 2017 sonbaharında piyasaya sürülen Windows Server'a da dahil olacak.
Rich Turner

@RichTurner Web siteniz açıkça dile getiriyor. Bana göre açık olmayan (ve sizin hatanız değil), satıcının Nvidia 1050 GPU ile birlikte bir i7 dört çekirdekli 7700 ve Windows 10 home'unda 12 GB sistem RAMi satmasıdır. Birisi orijinal bağlantıyı silmiş ancak işte burada . 32-bit hecelemiyorlar. Her WIndows 10'un 64-bit olduğunu mu söylüyorsunuz?
WinEunuuchs2Unix

1
Oyun bilgisayarı olarak satılıyor. Çoğu oyuncu Win10 Pro'daki ek oyunculara ihtiyaç duymadığından, müşterinin ihtiyaç duymayacakları bir şey için para ödemelerini önleme konusunda Home'u seçti. Windows 10, isteyenler için de 32-bit varyantlarla geliyor, fakat eğer birisi> 4GB RAM'e sahip bir makine satarsa ​​ve işletim sistemi ve çalıştığı uygulamalar yapamadığından 32-bit bir işletim sistemi kurarsa ASTONISHED olurdum Bir şeye erişmek için> 4GB.
Zengin Turner,
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.