Sự khác biệt thực tế giữa Interix và Cygwin là gì?


14

Cả InterixCygwin dường như cung cấp một môi trường người dùng giống Unix trong Windows. Sự khác biệt thực tế giữa hai, ví dụ, về:

  • "Cảm giác" giống như Unix
  • Hiệu suất
  • Gói sẵn có / dễ dàng trong việc biên dịch phần mềm ngẫu nhiên được tải xuống từ internet
  • Tích hợp với các ứng dụng và công cụ Windows
  • Tích hợp / tương thích với các máy ảo (ví dụ: Interix và máy ảo Ubuntu có thể chia sẻ cùng một "thư mục chính")
  • Quy mô của cơ sở người dùng / mức hỗ trợ cộng đồng

Một điểm khác biệt tôi biết là Interix yêu cầu phiên bản Windows 7 Enterprise hoặc Ultimate; Cygwin sẽ chạy trên bất cứ thứ gì.

Câu trả lời:


7

Trước đây tôi chỉ sử dụng Windows SFU trên Windows 2008, nhưng tôi tin rằng đó là dựa trên Interix. Tôi đã từng chơi với Cygwin, nhưng không phải là một số tiền quá lớn, vì vậy ai đó làm ơn sửa cho tôi nếu tôi nói điều gì đó rõ ràng sai ở đây.

  • Cảm giác giống Unix: Interix thắng cái này. Môi trường cảm thấy "hoàn thiện" hơn nhiều. Tôi không chắc làm thế nào để đặt nó. Interix chạy cùng với hệ thống con win32, trong đó cygwin chạy trên đỉnh của nó. Vì vậy, interix là một "công dân hạng nhất" trong vùng đất nhân Windows. Những điều như psdflàm việc tốt.
  • Hiệu suất: Chưa thực hiện bất kỳ thử nghiệm hiệu suất lớn nào, tôi đoán rằng Interix cũng thắng điều này. Một lần nữa, nó chạy ở mức thấp hơn. Bạn không chỉ chạy các ứng dụng Win32 với DLL tương thích POSIX được liên kết.
  • Gói / phần mềm ngẫu nhiên: Cygwin thắng cái này vì hai lý do. Thứ nhất, cygwin được biết đến nhiều hơn. Rất nhiều phần mềm Unixy sẽ có hỗ trợ cho các yêu cầu của nó. Bạn cũng có thể cài đặt mọi thứ rất dễ dàng từ trình cài đặt GUI. Interix không (tôi tin) có bất cứ thứ gì như thế này được tích hợp trong đó. Chắc chắn, bạn có thể tải xuống một cái gì đó, biên dịch nó bằng gcc (mà tôi nghĩ rằng bạn có thể dựng sẵn) và cầu nguyện rằng nó hoạt động, nhưng nó giống như chuyển phần mềm sang bất kỳ biến thể ngẫu nhiên nào khác của Unix (như Solaris hoặc AIX) - một số mọi thứ sẽ hoạt động, những thứ khác sẽ cố gắng cắn chân bạn và giết chết con bạn.
  • Tích hợp với các ứng dụng và công cụ Windows: Thành thật mà nói, cả hai loại này đều hấp dẫn. Nếu bạn có một máy chủ Apache chạy bên trong cygwin hoặc Interix thì chắc chắn, nó sẽ có thể giao tiếp qua TCP với các chương trình Win32, nhưng đó là khoảng cách. Từ bên trong interix, tôi tin rằng bạn có thể giết các chương trình Win32 và liệt kê chúng bằng ps, không chắc bạn có thể làm điều này với cygwin hay không. Với cả hai, bạn có thể sử dụng trình quản lý tác vụ Windows để tiêu diệt mọi thứ.
  • Tích hợp với máy ảo: Giải quyết ví dụ của bạn về việc chia sẻ thư mục chính, sau đó có. Bạn có thể sử dụng samba cho việc này và tôi tin rằng NFS cũng hoạt động trên Interix cho một thứ gì đó không hợp nhất. Bạn sẽ không tìm thấy bất kỳ GUI đẹp hay bất cứ điều gì để làm việc cho bạn mặc dù. Cả cygwin và Interix đều cho phép bạn truy cập các hệ thống tệp thông thường.
  • Kích thước của cơ sở người dùng: Cygwin thắng ở đây, tôi muốn nói. Rất khó để tìm thấy những thứ đã được thử nghiệm và phát triển để chạy trên Interix, nơi mà hầu hết các công cụ nguồn mở dường như hỗ trợ cygwin như một nền tảng biên dịch.

Nếu bạn có một bản sao HĐH Windows sẽ hỗ trợ Interix (như bạn đã nói, phiên bản Enterprise, phiên bản Ultimate hoặc phiên bản Máy chủ), sẽ không có hại gì khi sử dụng nó. Đó là một môi trường cảm giác rất đầy đủ. Cygwin, như bạn đã nói, chạy trên tất cả mọi thứ, được biết đến nhiều hơn và được hỗ trợ tốt hơn, nhưng cảm thấy hơi giống một bản hack bẩn đối với tôi. Một số người sử dụng nó thường xuyên mặc dù.


Các gói liên quan, tiền tố Gentoo cho Interix có thể đáng để thử
Tobias Kienzler

1
Chuyển nhanh đến năm 2015, câu trả lời bây giờ chỉ đơn giản là "cygwin vẫn có sẵn và được hỗ trợ trong khi Interix (còn gọi là Dịch vụ cho Unix hay Hệ thống con cho các ứng dụng dựa trên Unix) đã bị ngừng"
adib

3

/ * meta note- Tôi ghét những bình luận quá ngắn * /

Tôi hầu như đồng ý với câu trả lời và đưa ra một vài ý kiến. Tôi đã thay thế nhiều hệ thống unix bằng SUA / SFU (không có chúng không giống nhau nhưng đóng) dưới cửa sổ.

  • hiệu suất - SUA nhanh hơn nhiều so với các dịch vụ cho unix nhưng SFU cũng không bị trượt, cả hai thường nhanh hơn cygwin (nhưng không phải lúc nào cũng vậy)
  • tích hợp - tích hợp là toàn bộ quan điểm của SFU / SUA và có rất nhiều tài liệu về những gì bạn có thể và không thể làm trên trang web kỹ thuật. Cygwin được thiết kế để chạy lệnh * nix trên windows - không phải để làm cho cả hai hợp tác. Xem các thành phần tương tác Unix / Linux trong Windows (SUA, IdMU, NFS, v.v.)
  • cơ sở người dùng - Tôi nghĩ rằng có nhiều giải pháp được hỗ trợ, hoạt động hơn ở phía xen kẽ so với phía cygwin và các vấn đề tương thích ít hơn nhiều so với phía cygwin xem http://www.suacommunity.com/ (kho công cụ). Cygwin có thể có nhiều cài đặt tổng thể hơn vì nó tốt cho giải pháp "Tôi cần một vỏ unix" Cygwin chạy các lệnh, SUA là một môi trường unix tương đương với các cửa sổ.

1

Không thể nhận xét về câu trả lời của JimB, vì vậy, giải quyết nó ở đây, đặc biệt là quan điểm về tích hợp Windows. Cygwin dựa trên Win32 thay vì chạy trong hệ thống con của chính nó, trong khi chậm hơn, cung cấp tích hợp Windows lớn hơn nhiều. Nó thậm chí còn cho phép các API Windows và UNIX được sử dụng trong cùng một chương trình, cho phép những thứ như máy chủ Cygwin X hoặc thiết bị đầu cuối mintty.

Cygwin 'ps' không liệt kê các quy trình của Windows nếu bạn cung cấp cho nó tùy chọn -W và 'kill -f' sẽ giết chúng. Các chương trình Windows có thể được gọi từ bên trong Cygwin và được cắm cùng với các chương trình Cygwin bằng cách sử dụng tất cả các cơ chế thông thường như đường ống. (Tôi không biết liệu điều đó có thể xảy ra trong Interix hay không.)

Đường dẫn kiểu Windows, cả dấu gạch chéo về phía trước và phía sau, đều được hỗ trợ. Cygwin 1.7 đã biến UTF-8 thành bộ ký tự mặc định và tên tệp UTF-16 của Windows được dịch tự động, do đó tên tệp trong bất kỳ ngôn ngữ nào hiển thị chính xác trong Cygwin. Tôi không biết Interix làm gì ở đây, nhưng không thể tìm thấy bất kỳ bằng chứng nào về việc nó hỗ trợ Unicode.

Các tính năng tích hợp khác bao gồm tiện ích 'cygstart' để mở tệp như thể bạn bấm đúp vào tệp đó trong Explorer và thiết bị / dev / clipboard để truy cập bảng tạm của Windows.


3
Làm thế nào nó cung cấp "tích hợp Windows lớn hơn nhiều"? "Nó thậm chí còn cho phép các API Windows và UNIX được sử dụng trong cùng một chương trình" - điều này cũng đúng với Interix; xem điều này cho nguồn bên thứ nhất; slide 37, "Các quy trình chế độ hỗn hợp", có dấu đầu dòng "Kết quả quy trình chế độ hỗn hợp có thể thực hiện cả các cuộc gọi API SUA và Windows trong cùng một quy trình"
user314104

1

Hãy để tôi chia sẻ kinh nghiệm cài đặt Interix cho Windows 7.

Hành trình của chúng tôi bắt đầu tại một trang tối nghĩa cho Windows Server 2008.

Ở đây bạn sẽ phát hiện ra rằng nó thậm chí không còn được gọi là Interix nữa, mà là Hệ thống con cho các ứng dụng dựa trên Unix hoặc SUA . Tiếp theo, bạn sẽ chỉ nhận thấy từ một nhận xét của người dùng rằng SUA chỉ có sẵn cho Windows 7 Ultimate hoặc Enterprise. Điều này không được đề cập trong bài viết ở bất cứ đâu. Sau khi cài đặt "hệ thống con", bạn sẽ nhận ra rằng nó không quá 2 phím tắt trong menu bắt đầu của bạn.

sua

Bây giờ bạn có được đến cái ác thực sự. Nhấp vào lối tắt cho Tải xuống và bạn được đưa đến trang tải xuống.

cũ

Ở đây chúng tôi có 3 tập tin có sẵn để tải về. Các tệp này đều có dung lượng trên 400 MB và khi viết hơn 4 tuổi . Ngoài ra, chúng tôi không có tùy chọn nào để tải xuống các gói tùy chỉnh, một số phần nhất định, không có gì. Sau đó, bạn sẽ nhận ra rằng liên kết này thực sự dành cho Vista chứ không phải Windows 7 và sẽ phải tìm kiếm trên internet để tìm trang Windows 7 . Lúc này tôi đã bỏ cuộc.

Cygwin

Tới cygwin.com . Tải xuống cygwin.com/setup-x86.exe . Tập tin này là 714 KB . Chạy một cài đặt cơ bản và bạn sẽ thấy rằng nó mất khoảng 2 phút .

thời gian

Sau đó, bạn có thể sử dụng lại trình cài đặt cho nhiều gói khác theo sở thích của bạn. Đạo đức của câu chuyện là Cygwin quan tâm đến người dùng .


Hãy để tôi hiểu bạn một cách chính xác - bởi vì không cần phải thay đổi trình cài đặt để chạy phiên bản unix đi kèm với win 7 bằng cách nào đó có nghĩa là không quan tâm - và thực tế là Cygwin thực sự cho phép bạn tải xuống các phần (khi đó bạn có thể phải quay lại và nhận được nhiều hơn) bằng cách nào đó là một cộng? Chắc chắn quyết định gần đây về việc loại bỏ các thành phần unix khỏi windows là dấu hiệu cho thấy người dùng không chạy unix dưới windows (rất có thể là IMHO) hoặc bằng cách nào đó họ chỉ không quan tâm nhưng tôi không thực sự thấy điều đó.
Jim B

@JimB Nó không "đến" với Windows 7. Tôi có thể nghĩ rằng bài đăng của tôi đã làm rõ điều đó. Nó chỉ có sẵn cho Win7 cuối cùng và bạn phải tải xuống. Cộng với việc tải xuống là 4 tuổi. Trong cộng đồng phần mềm tồn tại trọn đời và cho thấy sự thiếu định hướng / sáng kiến ​​rõ ràng từ Microsoft.
Steven Penny

3
Nó đi kèm với windows, những gì bạn đang tải xuống là lệnh unix đang sử dụng hệ thống con. Vì một số lệnh trong Linux đã hơn 40 năm tuổi, tôi không ngạc nhiên khi chúng không cần phải viết lại (và theo tiêu chuẩn của bạn, tôi cho rằng không ai sử dụng linux hoặc unix nữa kể từ khi nó tồn tại hàng thập kỷ). Các công cụ và lệnh mới được thêm vào cộng đồng SU tại suacommunity.com/tool_warehouse.htmlm
Jim B

2
Thật kỳ lạ là tôi đã phải chuyển một số mã và yup - đó là cùng một mã từ 40 năm trước - đoán những người ở GNU đang làm điều gì đó sai lầm khủng khiếp - hoặc có lẽ - chỉ là có thể - không cần phải thay đổi điều gì đó ' t bị hỏng
Jim B

0

"Cảm giác" giống như UNIX là khá chủ quan. Phiếu bầu của tôi thuộc về CygWin vì nó có máy chủ CygWin / X Xwindows với tất cả các tính năng cần thiết. SFU có các công cụ X11 cơ bản nhưng quá ít và quá muộn. Nhiều người (bao gồm cả tôi) đã được giới thiệu với CygWin bởi cần phải có máy chủ X11. Về mặt hoàn thiện, CygWin cũng được định vị tốt hơn vì nó là nguồn mở và rất nhiều phần mềm được cấp phép GNU hoặc GPL được chuyển đến nó. Tôi đã thấy một vài sản phẩm thương mại cho CygWin trong khi chỉ thấy một sản phẩm yêu cầu Dịch vụ UNIX cho Windows NT và không có sản phẩm nào kể từ đó. YMMV.

Gói sẵn cólà một chiến thắng rõ ràng cho CygWin bị ảnh hưởng bởi một số yếu tố: - chi phí nhập cảnh thấp hơn: "bất kỳ Windows" nào với CygWin so với giấy phép lớp máy chủ cho SFU / SUA. Một số chức năng có sẵn cho các hương vị máy tính để bàn của Windows nhưng của các loại đắt tiền hơn và không có các thành phần máy chủ; - nguồn mở so với nguồn đóng và quan trọng hơn là tài liệu có sẵn. Trước đây, ngay cả danh sách các lệnh và API được cung cấp chỉ có sẵn cho các thuê bao MSDN và rất ít thông tin có sẵn trên trang web của Microsoft. Ngược lại, bộ công cụ GNU đã được ghi lại tốt và có sẵn cả trực tuyến và dưới dạng trang người dùng; - việc đặt tên và thay đổi thực hiện là khó hiểu. Các phiên bản đầu đã sử dụng bộ công cụ MKS mà sau đó đã bị bỏ rơi.

Hiệu năng - theo cách khác, người ta có thể lập luận rằng Interix gần với kernel hơn và do đó thích đường dẫn chạy mã ngắn hơn. Câu hỏi thực sự là bao nhiêu và nó có quan trọng không? Đối với hầu hết các chương trình, sự khác biệt là vài phần trăm và không đáng kể. Một ví dụ nhân tạo với I / O nặng có thể được đưa lên, tất nhiên. Tôi muốn đặt các tải như vậy lên UNIX gốc vì nó sẽ nhanh hơn cả các tiện ích bổ sung Windows và UNIX gốc trên Windows. Nhiều người đã chuyển từ Windows sang UNIX với sự gia tăng tải trong khi tôi không biết ví dụ nào về việc chuyển đổi từ CygWin sang Interix (hoặc ngược lại). Đó là khả năng tương thích UNIX được tìm kiếm và không phải là hiệu suất UNIX, vì vậy tôi đặt nó ở cuối danh sách.


2
Hiệu suất khôn ngoan, Interix thực sự chiến thắng ở đây; nhiều thứ truyền thống được triển khai như các tòa nhà * nix (như ngã ba ()) là các loại bùn được triển khai trên đỉnh Win32 ở Cygwin. Win32 không có bất kỳ khái niệm nào về fork (), nhưng Interix (và NT) thì có. Cygwin gặp rắc rối với điều đó - có được không gian địa chỉ chính xác cho fork () - và điều đó dẫn đến một số vấn đề hiệu suất nghiêm trọng. Ai đó chắc chắn sẽ khó chịu về liên kết chứa nhiều hơn bình luận này, nhưng đây là, ngay từ vòi .
dùng314104
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.