Windows 7의 UNIX 기반 응용 프로그램 용 하위 시스템


13

라는 것을 발견 UNIX 기반 응용 프로그램 용 하위 시스템윈도우 및 해제 기능을 켭니다 그것을 전에 본 적이 윈도우 7에서 대화를하고 흥미로운 보인다. 정확히 무엇입니까? 무엇을 위해 그리고 무엇을 위해 사용할 수 있습니까?


1
Windows 7 Professional에서 이것을 사용하는 해킹이 있습니까?
iceman

@iceman : Enterprise 또는 Ultimate를 설치하십시오.
Joey

'Microsoft POSIX 하위 시스템의 슬픈 역사' brianreiter.org/2010/08/24/…
Daniel Sokolowski의

답변:


18

이전에는 SFU 또는 Services for UNIX라고했습니다 . Windows의 환경 하위 시스템으로 POSIX를 완벽하게 준수하고 일반적으로 UNIX 시스템과 함께 제공되는 많은 도구를 제공합니다.

AS를 환경 서브 시스템 은 실행이 수단 과 함께 직접 커널의 상단에, 윈도우 API를. 따라서 기본 Windows API 자체보다 더 에뮬레이션되지 않으므로 cygwin보다 성능이 훨씬 뛰어납니다. 1

주로 UNIX 응용 프로그램을 Windows에서 직접 빌드하고 실행하기위한 것이므로 선호하는 UNIX 프로그램에 Windows 포트가없는 경우 SUA에서 빌드 할 수 있습니다.

Unix 기반 응용 프로그램 용 Unix 및 하위 시스템 용 Windows 서비스는 Windows에서 사용하기 위해 Unix 응용 프로그램을보다 쉽게 ​​재 컴파일하거나 이식 할 수있는 헤더 파일 및 라이브러리를 제공합니다. Unix 바이너리는 Windows 바이너리와 호환되지 않습니다. 독창적 인 Unix 계열 플랫폼으로 생각하는 것이 가장 좋습니다.

SFU의 현재 버전에는 다음이 포함됩니다.

  • vi, ksh, csh, ls, cat, awk, grep, kill 등 350 가지가 넘는 유닉스 유틸리티
  • GCC 3.3 컴파일러, 포함 및 라이브러리 (MS libc를 통해)
  • Microsoft Visual Studio 명령 행 C / C ++ 컴파일러를위한 cc와 유사한 랩퍼
  • GDB 디버거
  • NFS 서버 및 클라이언트
  • pcnfsd 데몬
  • X11 도구 및 라이브러리
  • NFS 마운트 지점을 만드는 도구는 Windows 공유로 나타나고 그 반대도 마찬가지입니다 (게이트웨이 서비스)
  • AD (Active Directory)와 연결된 NIS 서버 기능
  • 일부 Windows / Unix 인증 정보 동기화 도구

SFU에는 다음이 포함되어 있지 않지만 바이너리는 별도로 설치할 수 있습니다.

  • bash, OpenSSH, sudo, CVS, ClamAV, bzip2, gmake, curl, emacs, Apache, XView, Ruby, Tcl, Python

(위키 백과)

SUA는 Linux 또는 BSD가 아니라 단순한 POSIX이기 때문에 플랫폼 관련 사항에 의존하는 많은 프로그램이 빌드 또는 실행되지 않을 수도 있습니다. sh 또는 Linux 특정 시스템 호출 대신 bash를 가정하는 쉘 스크립트가 떠 오릅니다. 오늘날 POSIX 호환 시스템에서 직접 실행할 수있는 프로그램은 거의 없습니다. 또한 포함 된 gcc 버전은 다소 오래된 버전이므로 최신 C99 + 기능을 지원하지 않을 수 있습니다.


1 여전히 프로세스 시작 시간이 느려지는 등 Windows 관련 제한 사항이 적용되므로 극단적 인 포크 작업은 여전히 ​​매우 느리기 때문에 많은 ./configure스크립트 나 일부 makefile이 실행될 때까지 오래 기다려야 합니다.


멋있는. 그렇다면 쉘과 같은 유닉스를 얻을 수 있고 예를 들어 ssh를 사용할 수 있습니까?
Svish

SSH 서버 나 클라이언트는 없지만 csh와 ksh는 포함되어 있습니다. 당신이 원하는 것을 소스로부터 빌드 할 수 있고, 그것이 작동하기를 원할 것이다. 특별한 이유 떠들썩한 파티를 필요로 분명히 당신이. 의 pkgsrc를 설정, 나는 지금까지 그렇게 관리하지 않았지만 내 경험 날짜가 그 일을 지금 변경 될 수 Windows 2000에서 SFU 3.5에 백업 불구하고 있지만..
Joey

NT의 원래 POSIX 하위 시스템은 Win32 및 OS / 2 하위 시스템과 함께 커널에서 직접 실행되는 것이 사실이지만 SUA는 Windows API에서 실행됩니다.
스파 푸 후미 콘

2
matthews : SUA 용 실행 파일은 여전히 ​​POSIX 하위 시스템 응용 프로그램입니다 (예, 실제로 16 진 편집기를 사용하여 내부를 보았습니다). 따라서 커널은 Windows API에서 무언가를 실행한다는 아이디어조차 얻지 못합니다.
Joey

4
@Svish : 당신은에서 OpenSSH를 SUA 바이너리 (훨씬 더)를 다운로드 할 수 있습니다 suacommunity.com
bk1e

1

BSD 스타일 패키지를 사용하여 소프트웨어를 설치 / 제거 할 수 있습니다. OpenSSH가 설치되어 있으면 SSH를 통해 SUA에 액세스 할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.