Interix와 Cygwin의 실제 차이점은 무엇입니까?


14

InterixCygwin 은 모두 Windows에서 Unix와 유사한 사용자 환경을 제공하는 것으로 보입니다. 예를 들어 두 가지의 실제 차이점은 무엇입니까?

  • 유닉스 같은 "느낌"
  • 공연
  • 인터넷에서 다운로드 한 임의의 소프트웨어를 컴파일 할 때 패키지 가용성 / 편의성
  • Windows 응용 프로그램 및 도구와 통합
  • 가상 머신과의 통합 / 호환성 (예 : Interix 및 Ubuntu 가상 머신이 동일한 "홈 디렉토리"를 공유 할 수 있음)
  • 사용자 기반 규모 / 커뮤니티 지원 수준

내가 아는 한 가지 차이점은 Interix에 Windows 7 Enterprise 또는 Ultimate 버전이 필요하다는 것입니다. Cygwin은 무엇이든 실행할 수 있습니다.

답변:


7

이전에는 Windows 2008에서 Windows SFU 만 사용했지만 Interix를 기반으로한다고 생각합니다. 나는 때때로 cygwin을 가지고 놀았 지 만 엄청난 양은 아니기 때문에 누군가 분명히 여기에 잘못 말하면 저를 정정하십시오.

  • 유닉스와 같은 느낌 : Interix가이 상을 받았습니다. 환경은 훨씬 "완전"하다고 느낍니다. 어떻게 넣을 지 잘 모르겠습니다. Interix는 win32 서브 시스템과 함께 실행되며 cygwin이 실행됩니다. 따라서 interix는 Windows 커널 랜드에서 "일류 시민"입니다. 좋아 ps하고 df잘 작동합니다.
  • 성능 : 주요 성능 테스트를 수행하지 않았지만 Interix가 이기고 있다고 생각 합니다. 다시 한 번 더 낮은 수준에서 실행됩니다. POSIX 호환성 DLL이 연결된 Win32 앱만 실행하는 것이 아닙니다.
  • 패키지 / 무작위 소프트웨어 : Cygwin은 두 가지 이유로이 제품에서 승리합니다. 첫째, cygwin은 훨씬 잘 알려져 있습니다. 많은 Unixy 소프트웨어가 그 단점을 지원할 것입니다. GUI 설치 프로그램을 통해 매우 쉽게 설치할 수도 있습니다. Interix에는 이와 같은 것이 내장되어 있지 않습니다. 물론 무언가를 다운로드하고 gcc를 사용하여 컴파일하고 (사전 빌드 할 수 있다고 생각하는 경우) 작동한다고기도하지만 소프트웨어를 다른 임의의 Unix 변형 (Solaris 또는 AIX와 같은)으로 포팅하는 것과 약간 비슷합니다. 일이 잘되고, 다른 일이 다리를 물고 아이들을 살해하려고 노력할 것입니다.
  • Windows 응용 프로그램 및 도구와의 통합 : 솔직히 말해서 두 가지 모두에 짜증이납니다. cygwin 또는 Interix에서 실행되는 Apache 서버가 있다면 TCP를 통해 Win32 프로그램과 통신 할 수는 있지만 그 정도는 아닙니다. interix 내부에서, 나는 당신이 Win32 프로그램을 죽이고 ps를 사용하여 그것들을 나열 할 수 있다고 믿습니다. 두 가지 모두 Windows 작업 관리자를 사용하여 작업을 종료 할 수 있습니다.
  • VM과의 통합 : 홈 디렉토리 공유의 예를 제시 한 다음 예. 이것을 위해 삼바를 사용할 수도 있고 NFS가 Interix에서 더 유닉스를 위해 작동한다고 생각합니다. 멋진 GUI 나 작업을 수행 할 수있는 것은 없습니다. cygwin과 Interix 모두 일반 파일 시스템에 액세스 할 수 있습니다.
  • 사용자 기반의 크기 : Cygwin이 이겼습니다. Interix에서 실행되도록 테스트되고 개발 된 것을 찾는 것은 매우 어려웠습니다. 대부분의 오픈 소스가 cygwin을 컴파일 플랫폼으로 지원하는 것처럼 보였습니다.

Interix를 지원할 Windows OS (Enterprise Edition, Ultimate Edition 또는 Server Edition) 사본이 있으면 해를 끼치 지 않습니다. 매우 완벽한 느낌의 환경입니다. Cygwin은 말했듯이 모든 것을 실행하며 더 잘 알려져 있으며 더 잘 지원되지만 더러운 해킹처럼 느껴집니다. 어떤 사람들은 정기적으로 사용합니다.


패키지에 관한 것은, 젠투는 접두사는 Interix에 대한이 가치가 총에 수 있습니다
토비아스 Kienzler

1
2015 년으로 넘어 가면, 이제 대답은 간단하게 "cygwin은 여전히 ​​사용 가능하고 지원되는 반면 Interix (일명 Unix 기반 응용 프로그램의 하위 시스템 서비스)는 중단되었습니다"
adib

3

/ * 메타 노트-나는 의견이 너무 짧다는 것을 싫어한다 * /

나는 Andrews가 몇 가지 의견으로 대답하는 것에 대부분 동의합니다. Windows에서 많은 유닉스 시스템을 SUA / SFU (동일하지는 않지만 닫음)로 바꿨습니다.

  • 성능-SUA는 유닉스 서비스보다 훨씬 빠르지 만 SFU도 싸지 않으며 둘 다 일반적으로 cygwin보다 빠릅니다 (항상 그런 것은 아님)
  • 통합 통합은 SFU / SUA의 요점이며 테크넷 사이트에서 수행 할 수있는 작업과 수행 할 수없는 작업에 대한 많은 문서가 있습니다. Cygwin은 Windows에서 * nix 명령을 실행하도록 설계되었습니다. 보기 윈도우 (SUA, IDMU, NFS 등)에 유닉스 / 리눅스 상호 운용성 구성 요소를
  • 사용자 기반-cygwin 쪽보다 interix쪽에 더 많은 작업 지원 솔루션이 있으며 cygwin 쪽보다 호환성 문제가 훨씬 적다고 생각 합니다. http://www.suacommunity.com/ (도구 창고). Cygwin은 "UNIX 쉘이 필요합니다"솔루션에 적합하기 때문에 전체 설치가 더 많을 수 있습니다. Cygwin은 명령을 실행합니다. SUA는 Windows의 피어 인 UNIX 환경입니다.

1

JimB의 답변에 대해서는 언급 할 수 없으므로 여기에서 특히 Windows 통합에 대한 요점을 다루십시오. Cygwin은 자체 하위 시스템에서 실행하는 대신 Win32를 기반으로하며 속도는 느리지 만 훨씬 더 큰 Windows 통합을 제공합니다. 심지어 Cygwin X 서버 또는 민트 터미널과 같은 것을 가능하게하는 Windows 및 UNIX API를 동일한 프로그램에서 사용할 수 있습니다.

Cygwin의 'ps'는 -W 옵션을 지정하면 Windows 프로세스를 나열하며 'kill -f'는 프로세스를 종료합니다. Cygwin 내에서 Windows 프로그램을 호출하고 파이프와 같은 모든 일반적인 메커니즘을 사용하여 Cygwin 프로그램과 함께 연결할 수 있습니다. (Interix에서 가능한지 모르겠습니다.)

슬래시와 백 슬래시가있는 Windows 스타일 경로가 지원됩니다. Cygwin 1.7은 UTF-8을 기본 문자 세트로 만들었으며 Windows의 UTF-16 파일 이름은 자동으로 변환되므로 모든 언어의 파일 이름이 Cygwin에 올바르게 표시됩니다. Interix가 무엇을하는지 모르겠지만 유니 코드를 지원한다는 증거를 찾지 못했습니다.

다른 통합 기능으로는 탐색기에서 파일을 두 번 클릭 한 것처럼 파일을 여는 'cygstart'유틸리티와 Windows 클립 보드에 액세스하기위한 / dev / clipboard 장치가 있습니다.


3
"훨씬 더 큰 Windows 통합"을 어떻게 제공합니까? "이것은 심지어 Windows와 UNIX API를 같은 프로그램에서 사용할 수있게합니다"-Interix도 마찬가지입니다. 이를 퍼스트 파티 소스에서 확인하십시오 . 슬라이드 37, "혼합 모드 프로세스"- "혼합 모드 프로세스 결과로 동일한 프로세스에서 SUA 및 Windows API 호출을 모두 수행 할 수 있습니다"라는 글 머리 기호
user314104

1

Interix for Windows 7 설치 경험을 공유하겠습니다.

우리의 여정은 Windows Server 2008 의 모호한 페이지 에서 시작합니다 .

여기서는 더 이상 Interix라고 부르지 않지만 Unix 기반 응용 프로그램 또는 SUA 용 하위 시스템 이라고도 알 수 있습니다. 다음으로 SUA는 Windows 7 Ultimate 또는 Enterprise에서만 사용할 수 있다는 사용자 의견이 있습니다. 이것은 기사의 어느 곳에서도 언급되지 않았습니다. "서브 시스템"을 설치 한 후에는 시작 메뉴에 2 개 이하의 단축키가 있음을 알게됩니다.

수아

지금 당신은 진짜 악에 도달합니다. 다운로드 바로 가기를 클릭 하면 다운로드 페이지로 이동합니다.

낡은

여기에 다운로드 할 수있는 3 개의 파일이 있습니다. 이 파일들은 모두 400MB가 넘으며이 글을 쓰는 시점 에서 4 년넘었습니다 . 또한 우리는 사용자 정의 패키지, 특정 부분을 다운로드 할 수있는 옵션이 없습니다. 그런 다음이 링크는 실제로 Windows 7이 아니라 Vista 용이며 Windows 7 페이지 를 찾으 려면 인터넷을 검색해야 합니다 . 이 시점에서 나는 포기했다.

시그윈

cygwin.com으로 이동 하십시오 . cygwin.com/setup-x86.exe를 다운로드 하십시오 . 이 파일은 714 KB 입니다. 기본 설치를 실행하면 약 2 분이 소요 됩니다.

시각

그 후 많은 다른 패키지의 설치 프로그램을 원하는대로 재사용 할 수 있습니다. 이야기의 교훈은 Cygwin이 사용자를 걱정 한다는 것 입니다.


Win 7과 함께 제공되는 유닉스 버전을 실행하기 위해 설치 프로그램을 변경할 필요가 없었기 때문에 어떻게 든 신경 쓰지 않아도됩니다 .Cygwin이 실제로 조각을 다운로드 할 수 있다는 사실 돌아가서 더 많은 것을 얻어야합니다) 어떻게 든 플러스입니까? Windows에서 유닉스 구성 요소를 제거하려는 최근의 결정은 사용자가 Windows에서 유닉스를 실행하지 않거나 (IMHO가 가장 가능성이 높음) 어쨌든 그들은 신경 쓰지 않지만 실제로는 보이지 않는다는 신호입니다.
Jim B

@JimB Windows 7과 함께 제공되지 않습니다. 내 게시물이 명확하다고 생각했을 것입니다. Win7 Ultimate에서만 사용할 수 있으며 다운로드해야합니다. 또한 다운로드는 4 살입니다. 소프트웨어 커뮤니티에서 일생이며 Microsoft의 지시 / 이니셔티브가 분명하지 않습니다.
Steven Penny

3
그것은 윈도우와 함께 제공되며, 다운로드하는 것은 서브 시스템을 사용하는 유닉스 명령입니다. Linux의 일부 명령은 40 년이 넘었으므로 다시 작성할 필요가 없었습니다 (그리고 표준에 따르면 수십 년이 지난 지금 아무도 리눅스 나 유닉스를 사용하지 않는다고 가정합니다). 새로운 툴과 명령이 SU 커뮤니티에 suacommunity.com/tool_warehouse.htm에
Jim B

2
이상하게도 40 년 전의 코드와 같은 코드와 yup를 통해 가야만했다. GNU의 사람들은 끔찍하게 잘못하고 있거나 어쩌면 아마도 무언가를 바꿀 필요가 없다고 생각한다. t 브로큰
Jim B

0

유닉스 계열의 "느낌" 은 매우 주관적입니다. CygWin에는 필요한 모든 기능을 갖춘 CygWin / X Xwindows 서버가 있으므로 CygWin과 함께 투표합니다. SFU는 기본 X11 도구를 얻었지만 너무 작고 늦었습니다. X11 서버가 필요하기 때문에 CygWin에 많은 (나 포함) 소개되었습니다. 완전성 측면에서 CygWin은 오픈 소스이므로 많은 GNU 또는 GPL 라이센스 소프트웨어가 포팅되므로 위치가 더 좋습니다. CygWin 용 상용 제품은 거의 없었지만 Windows NT 용 UNIX 서비스를 필요로하는 제품은 하나만 보았으며 그 이후로는 없었습니다. YMMV.

패키지 가용성CygWin의 확실한 승리는 여러 가지 요소에 의해 영향을받습니다.-낮은 진입 비용 : CygWin의 "모든 Windows"대 SFU / SUA의 서버급 라이센스. 일부 기능은 Windows의 데스크탑 버전에서 사용할 수 있지만 서버 구성 요소없이 더 비싼 품종입니다. -공개 소스와 비공개 소스 및 더 중요한 공개 문서 과거에는 제공된 명령 및 API 목록조차 MSDN 구독자 만 사용할 수 있었으며 Microsoft 사이트에서는 정보를 거의 또는 전혀 얻지 못했습니다. 반면에 GNU 툴셋은 잘 문서화되어 있으며 온라인 및 매뉴얼 페이지로 제공됩니다. -명명 및 구현 변경이 혼동됩니다. 초기 버전은 나중에 포기 된 MKS 툴킷을 사용하고있었습니다.

성능면 에서는 Interix가 커널에 더 가깝기 때문에 더 짧은 코드 실행 경로를 즐깁니다. 실제 질문은 얼마나 중요하며 중요한가? 대부분의 프로그램에서 차이는 거의 없으며 무시할 만합니다. 물론 I / O가 많은 인공적인 예를 제시 할 수 있습니다. Windows 위에 네이티브 Windows 및 UNIX 애드온보다 빠르기 때문에 네이티브 UNIX에 이러한로드를 추가하는 것이 좋습니다. CygWin에서 Interix로 (또는 그 반대로) 변환하는 예를 알지 못하는 동안 많은 사람들이로드를 늘리면서 Windows에서 UNIX로 마이그레이션했습니다. 찾고자하는 UNIX 호환성이며 UNIX 성능이 아니므로이 목록의 끝에 추가했습니다.


2
성능 측면에서 Interix가 실제로 이깁니다. * nix syscalls (fork ()와 같은)로 전통적으로 구현 된 많은 것들이 Cygwin의 Win32 위에 구현 된 kludge입니다. Win32에는 fork () 개념이 없지만 Interix (및 NT) 개념이 있습니다. Cygwin은 fork ()에 맞는 주소 공간을 얻는 데 어려움을 겪으며 심각한 성능 문제를 일으 킵니다. 누군가이 의견보다 더 많은 내용이 포함 된 링크에 대해 화를 낼 것이지만, 여기에서 바로 탭을 클릭하십시오 .
user314104
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.