Sự khác biệt giữa Windows Bash và Cygwin là gì?
Bản cập nhật mới từ Windows với "Linux" Bash là mới, nhưng Cygwin có những điểm khác biệt nào có thể khiến bạn chọn cái khác?
Sự khác biệt giữa Windows Bash và Cygwin là gì?
Bản cập nhật mới từ Windows với "Linux" Bash là mới, nhưng Cygwin có những điểm khác biệt nào có thể khiến bạn chọn cái khác?
Câu trả lời:
Cygwin là một công cụ tuyệt vời nếu bạn muốn sống hoàn toàn trong Windows và muốn lái xe / tự động hóa các tác vụ Windows bằng các tập lệnh bash. Tuy nhiên, Cygwin không thể chạy các tệp nhị phân Linux chưa sửa đổi.
Đó là nơi WSL bước vào:
Hệ thống con Windows cho Linux (WSL), là một lớp mới của nhân Windows nhằm mục đích cung cấp mức độ tương thích cao với nhân Linux ABI. Điều này cho phép các nhị phân ELF64 nguyên gốc, chưa sửa đổi, chạy trên WSL.
Đây là cách WSL có thể chạy một bản phân phối người dùng Ubuntu chính hãng và bất kỳ gói nào bạn tải xuống từ các gói apt-get hoặc .deb từ nơi khác mà không có bất kỳ thay đổi nào.
Quan điểm của WSL là cho phép các nhà phát triển làm việc trên Windows có thể chạy nhiều công cụ và hoạt động trên nhiều dự án, phụ thuộc vào nhị phân Linux, tính năng, hành vi, bố cục hệ thống tệp, mô hình quy trình, v.v.
Mặc dù WSL vẫn còn sớm trong quá trình triển khai, chúng tôi đang nỗ lực cải thiện chiều rộng và chiều sâu của các triển khai tòa nhà để cải thiện dần khả năng của WSL để chạy một bộ công cụ lớn hơn bao giờ hết và hỗ trợ số lượng Ruby, Java, nút tăng nhanh , vv gói và dự án.
Kể từ khi viết ở trên, chúng tôi đã gửi Bản cập nhật Windows 10 Creators Update mà MASSIVELY cải thiện khả năng tương thích của WSL với NHIỀU công cụ bạn muốn / cần chạy.
Sự phát triển cũng tiếp tục không suy giảm và chúng tôi đã vận chuyển các bản dựng Win10 Insiders trong vài tháng qua trên đường đến bản vận chuyển Fall Creators Update (FCU) vào tháng 10 năm 2017.
Trong FCU, chúng tôi đang thêm khả năng cài đặt và chạy nhiều hơn một bản phân phối song song: Ubuntu, openSUSE và SLES hiện đang có sẵn, với Fedora và những người khác đang trên đường. WSL hiện cũng hỗ trợ comms nối tiếp USB và gắn bộ lưu trữ USB và chia sẻ mạng, cùng với các cải tiến hơn nữa cho các tòa nhà của chúng tôi nhằm cải thiện khả năng tương thích với nhiều công cụ hơn.
Đó là một vài năm rất bận rộn kể từ lần đầu tiên công bố và phát hành WSL, sau đó thêm hỗ trợ cho nhiều bản phát hành qua cửa hàng và thông báo WSL v1.0 HTH.
Tại Build 2019, chúng tôi đã công bố Windows Terminal mới ( video phiên Terminal tại đây ) và WSL 2 ( video phiên WSL 2 tại đây ) giới thiệu một cách tiếp cận hoàn toàn mới để chạy Linux trên Windows.
Để biết thêm chi tiết và cập nhật trong tương lai, hãy nhớ truy cập blog Dòng lệnh của Windows mỗi vài tuần, nơi chúng tôi đăng nhiều tin tức liên quan
Tôi đã sử dụng WSL trong Windows 10 khoảng một vài tháng. Cuối cùng tôi có thể khởi động vào Windows để chơi game và vẫn truy cập vào dấu nhắc bash và chạy CLI và nhiều chương trình GUI. Có những hạn chế như không có thư mục ảo nhân Linux quen thuộc nào. Cần lập kế hoạch để chia sẻ cùng một tập lệnh Bash giữa Ubuntu và WSL trên máy khởi động kép.
Có rất nhiều điều tôi muốn thấy được cải thiện, nhưng tôi có thể sống với nó trong khoảng một năm.
Một điều cần nhớ là Microsoft là một hệ thống khép kín và bạn không bị các bên thứ ba viết các bản cập nhật như bạn thích trên Linux. Nhưng tất cả mọi thứ đều coi bạn mua một chiếc máy tính xách tay mới và dù sao nó cũng đi kèm với Windows 10 để bạn có thể nói rằng nó "miễn phí" ít nhất :)
Cygwin được kiểm soát bởi Red Hat Linux, vốn không được biết đến chính xác vì đã cho đi mọi thứ miễn phí. Bản phân phối Linux "miễn phí" của họ Fedora có vẻ như là "nơi thử nghiệm" đối với một số người.
Cygwin có 15 năm cập nhật. Đáng chú ý là cùng một người quản lý dự án đã được thực hiện kể từ năm 2003. Có rất nhiều người duy trì toàn thời gian và nhiều người đóng góp tình nguyện hơn.
WSL cung cấp các cập nhật lớn hai lần một năm vào mỗi mùa xuân và mùa thu. Các cập nhật nhỏ hàng tuần có sẵn cho những người trong danh sách đăng ký Nhà phát triển. Mặc dù Microsoft có tài nguyên để ném hàng ngàn người vào phát triển WSL nhưng có vẻ như bạn có thể đếm các thành viên trong nhóm bằng ngón tay của mình.
Bạn sẽ thấy nhiều phàn nàn về tốc độ WSL. Ví dụ: vẽ màn hình mất nhiều thời gian hơn trong Windows 10 so với Ubuntu 16.04, tức là bạn thực sự có thể thấy con trỏ di chuyển trong Windows 10:
Mất khoảng 5 giây để màn hình giật gân WSL Bash vẽ. Khi so sánh, khoảng 1 1/2 giây cho cùng một màn hình giật gân trong Ubuntu 16.04:
Cygwin có những chia sẻ riêng về khiếu nại tốc độ với Bash .
Câu trả lời ở đây là một năm tuổi, vì vậy tôi nghĩ rằng một bản cập nhật nhỏ là theo thứ tự. Với Windows 10 Home, nếu là Windows 32 bit, điều đó có nghĩa là nó sẽ không chạy Hệ thống con Ubuntu / Windows 64 bit như Microsoft nói với chúng tôi ở đây: ( Windows Linux hệ thống con trong win10 HOME BASIC ).
Nó giống như một giấc mơ trở thành sự thật khi chạy Ubuntu trên Windows với sự hỗ trợ chơi game vượt trội dành cho Nvidia, nhưng trước khi bạn mua và mua một máy tính xách tay mới (hoặc đã sử dụng), hãy đảm bảo rằng nó có Windows 10 64 bit chứ không phải phiên bản 32 bit tại nhà bạn muốn chạy Ubuntu / Linux thứ nguyên bản trong Windows. Trên các trang web của Microsoft, họ thực sự đề cập đến phiên bản Windows Anniversary như một điều kiện tiên quyết để chạy Hệ thống con Windows cho Linux.
Tuy nhiên, nếu bạn không muốn bỏ ra $ 200 + cho Windows 10 và bạn có một máy tính xách tay cũ hơn chạy Windows 8.1 64 bit như tôi và bạn có một máy tính xách tay thậm chí cũ hơn chạy Windows Vista 64 bit như tôi, thì Cygwin là câu trả lời.
Cygwin hỗ trợ nhiều phiên bản Windows hơn như danh sách trang web của họ :
Cygwin có thể được dự kiến sẽ chạy trên tất cả các phiên bản Windows được phát hành, hiện đại. Trạng thái tháng 1 năm 2016 này bao gồm Windows Vista, Windows Server 2008 và tất cả các phiên bản Windows mới hơn cho đến Windows 10 và Windows Server 2016. Phiên bản 32 bit của Cygwin cũng chạy trong môi trường WOW64 32 bit trên các phiên bản 64 bit của Windows, 64 phiên bản bit tất nhiên chỉ có trên Windows 64 bit.
Hãy nhớ rằng Cygwin chỉ có thể làm nhiều như hệ điều hành cơ bản hỗ trợ. Vì điều này, Cygwin sẽ hành xử khác nhau và thể hiện những hạn chế khác nhau, trên các phiên bản Windows khác nhau.