Windows Bash와 Cygwin의 차이점은 무엇입니까?


65

Windows Bash와 Cygwin의 차이점은 무엇입니까?

"Linux"Bash가 포함 된 Windows의 새로운 업데이트는 새로운 것이지만 Cygwin과 다른 점은 무엇입니까?


1
Windows bash가 Microsoft에서 더 잘 통합되고 더 잘 지원된다고 가정합니다.
Panther

2
Windows Bash가 정식 지원 제품이기 때문에이 질문에 대한 주제라고 생각합니다. 아마도 의견이 아니라 의견 일 수도 있습니다.
Panther

답변:


65

Cygwin은 Windows에서 완전히 살고 bash 스크립트를 사용하여 Windows 작업을 구동 / 자동화하려는 경우 유용한 도구입니다. 그러나 Cygwin은 수정되지 않은 Linux 바이너리를 실행할 수 없습니다.

WSL이 여기에 있습니다.

Linux 용 Windows 서브 시스템 (WSL)은 Linux 커널 ABI와의 높은 호환성을 제공하기위한 Windows 커널의 새로운 계층입니다. 이를 통해 수정되지 않은 기본 Linux ELF64 바이너리를 WSL에서 실행할 수 있습니다.

이것이 WSL이 진정한 우분투 사용자 랜드 배포판과 apt-get에서 다운로드 한 패키지 또는 다른 곳에서 .deb 패키지를 변경하지 않고 실행할 수있는 방법입니다.

WSL의 핵심은 Windows에서 작업하는 개발자가 많은 도구를 실행하고 Linux 바이너리, 기능, 동작, 파일 시스템 레이아웃, 프로세스 모델 등에 의존하는 많은 프로젝트에서 작업 할 수 있도록하는 것입니다.

WSL은 아직 구현 초기 단계에 있지만 시스템 콜 구현의 폭과 깊이를 개선하여 WSL의 도구를 계속 실행하고 빠르게 증가하는 Ruby, Java 노드 수를 지원하는 WSL의 기능을 꾸준히 향상시키기 위해 노력하고 있습니다. 등 패키지 및 프로젝트.


업데이트 : 2017-09-07

위 내용을 작성한 이후, Windows 10 Creators Update가 출시되어 WSL의 실행 / 필요한 도구와의 호환성이 크게 향상되었습니다.

개발도 계속 이어졌고, 지난 10 개월 동안 FCU (Fall Creators Update) 배송으로가는 지난 몇 달 동안 Win10 Insiders 빌드를 배송했습니다.

FCU에는 둘 이상의 배포판을 나란히 설치하고 실행할 수있는 기능이 추가되었습니다. 현재 Fedora 및 기타 업체와 함께 Ubuntu, openSUSE 및 SLES를 사용할 수 있습니다. WSL은 이제 USB 직렬 통신, USB 저장 장치 및 네트워크 공유 마운트 및 더 많은 도구와의 호환성을 향상시키는 syscalls의 추가 개선을 지원합니다.


업데이트 : 2019-08-22

WSL을 처음 발표하고 발표 한 후 매장을 통해 여러 배포판에 대한 지원을 추가하고 WSL v1.0 HTH를 발표 한 지 2 년이 지났습니다.

Build 2019 에서 Windows에서 Linux를 실행하는 완전히 새로운 접근 방식을 소개하는 새로운 Windows Terminal ( 여기서는 터미널 세션 비디오 ) 및 WSL 2 ( 여기에서는 WSL 2 세션 비디오 )를 발표했습니다.

자세한 내용과 향후 업데이트는 2 주마다 Windows Command-Line 블로그를 방문하여 관련 뉴스를 많이 게시하십시오.


9
나는 몇 년 동안 cygwin 사용자였습니다. WSL은 대부분 잘 실행되는 환상적인 아이디어입니다. 그러나이 단계에서는 파일 액세스 속도가 매우 느립니다. 나는 엄청 느리게 말할 것이다. Cygwin에서 GIT와 같은 중간 규모의 작업을 수행하는 데 30 초 이상이 걸리지 않습니다. 잘만되면 그들은 그것을 고칠 것입니다.
Damien Sawyer

9
디스크 성능은 알려진 문제입니다. 우리는 Win10 CU에 대한 성능 향상을 위해 노력하고 있으며 2017 년 후반에 더 많은 기능이 향상 될 것입니다.
Rich Turner

3
환상적인. 기다릴 수 없어 훌륭한 제품이 될 것입니다 :-)
Damien Sawyer

2
@DamienSawyer 6 개월이 지났습니다. 속도 불만이 줄어 들었습니까, 아니면 여전히 동일합니까?
WinEunuuchs2Unix

3
@RichTurner 다음 업데이트를 실행합니다 : D
Martijn van Wezel

15

Linux 용 Windows 서브 시스템

약 10 개월 동안 Windows 10에서 WSL을 사용하고 있습니다. 마지막으로 게임을 위해 Windows로 부팅하고 여전히 bash 프롬프트에 액세스하여 CLI 및 많은 GUI 프로그램을 실행할 수 있습니다. 익숙한 Linux 커널 가상 디렉토리가없는 등의 제한 사항이 있습니다. 이중 부팅 시스템에서 Ubuntu와 WSL간에 동일한 Bash 스크립트를 공유하려면 계획이 필요합니다.

개선되고 싶은 것들이 많이 있지만 1 년 정도 그대로 살 수 있습니다.

비공개 소스

기억해야 할 것은 마이크로 소프트는 폐쇄 시스템이며 Linux에서 즐기는 것처럼 업데이트를 작성하는 타사의 혼란을 느끼지 않습니다. 그러나 모든 것이 당신이 새로운 랩탑을 구입하는 것으로 간주하고 그것은 어쨌든 Windows 10과 함께 제공되므로 적어도 "무료"라고 말할 수 있습니다 :)

Cygwin은 Red Hat Linux에 의해 제어되며 무료로 물건을주는 것으로 정확하게 알려져 있지 않습니다. 그들의 "무료"리눅스 배포판 Fedora"테스트 장소"인 것 같습니다 .

유지 보수주기

Cygwin은 15 년 동안 업데이트되었습니다. 주목할만한 것은 2003 년 이래로 동일한 프로젝트 관리자가 있었다는 것입니다. 많은 전임 유지 관리자와 더 많은 자원 봉사자가 있습니다.

WSL은 매년 봄과 가을에 주요 업데이트를 매년 두 번 제공합니다. 개발자 서브 스크립 션 목록의 주간 업데이트가 제공됩니다. Microsoft는 수천 명의 사람들을 WSL 개발에 투입 할 수있는 리소스를 보유하고 있지만 손가락으로 팀원을 계산할 수 있습니다 .

속도 문제

WSL 속도에 대한 불만이 많이 있습니다. 예를 들어, Windows 10에서 Ubuntu 16.04보다 스크린 페인팅이 여러 시간 더 오래 걸립니다. 즉, 실제로 Windows 10에서 커서가 움직이는 것을 볼 수 있습니다.

WSL bash startup.gif

WSL Bash 스플래시 화면을 페인트하는 데 약 5 초가 걸립니다. 비교하면 우분투 16.04의 동일한 스플래시 화면에서 약 1/2 초입니다.

우분투 터미널 splash.gif

Cygwin은 Bash와 속도 불만을 공유하고 있습니다 .


과거의 참조를 위해 아래의 원래 게시물.

여기에 대한 답변은 1 살이므로 약간의 업데이트가 필요하다고 생각합니다. 윈도우 10 홈으로, 경우 (:이 32 비트 Windows를, 그것은 마이크로 소프트는 여기에 우리에게로는 64 비트 우분투 / 윈도우 서브 시스템을 실행하지 의미 윈도우 리눅스 서브 시스템을 win10 홈 베이직에서 ).

Nvidia에 대한 우수한 게임 지원을 통해 Windows에서 Ubuntu를 실행하는 것이 꿈과 같지만 새 노트북을 사용하기 전에 32 비트 홈 버전이 아닌 Windows 10 64 비트가 있는지 확인하십시오. Windows에서 기본적으로 Ubuntu / Linux 작업을 실행하려고합니다. Microsoft 웹 사이트에서는 실제로 Windows Anniversary 버전을 Linux 용 Windows 하위 시스템을 실행하기위한 필수 구성 요소라고합니다.


그러나 Windows 10의 경우 200 달러 이상을 원치 않고 Windows 8.1 64 비트를 실행하는 구형 랩톱이 있고 Windows Vista 64 비트를 실행하는 구형 랩톱이있는 경우 Cygwin은 대답.

Cygwin은 웹 사이트 목록으로 더 많은 Windows 버전을 지원 합니다 .

Cygwin은 모든 최신 버전의 Windows에서 실행될 것으로 예상됩니다. 2016 년 1 월 주 여기에는 Windows Vista, Windows Server 2008 및 이후 버전의 Windows부터 Windows 10 및 Windows Server 2016까지가 포함됩니다. Cygwin의 32 비트 버전은 64 비트 버전의 Windows 64 비트 버전의 WOW64 32 비트 환경에서도 실행됩니다. 물론 64 비트 Windows에서만 비트 버전입니다.

Cygwin은 기본 OS 지원만큼만 수행 할 수 있습니다. 이로 인해 Cygwin은 다양한 Windows 버전에서 다르게 작동하고 다른 제한 사항을 나타냅니다.


2
문제는 Windows의 cygwin과 bash의 차이점이 무엇인지입니다. Cygwin은 귀하의 답변에 언급되지 않았습니다. 이것이 어떻게 질문에 대답하는지 명확히하십시오.
세스

@ Seth Cygwin이 지원되는 모든 버전의 WIndows에서 실행되는 반면 WSL은 버전에 따라 다릅니다. 내 감독을 지적 해 주셔서 감사합니다.
WinEunuuchs2Unix

1
WSL에는 64 비트 Windows가 필요하며 현재 LTSB를 제외하고 모든 Windows 10 SKU에서 사용할 수 있다는 것이 매우 분명했습니다. WSL은 다음 LTSB 릴리스에 추가 될 예정입니다. WSL은 2017 년 가을에 릴리스 된 Windows Server에도 포함될 예정입니다.
Rich Turner

@RichTurner 귀하의 웹 사이트는이를 명확하게 보여줍니다. 나에게 분명하지 않은 것은 (그리고 당신의 잘못이 아닌) 벤더가 Nvidia 1050 GPU가 장착 된 i7 쿼드 코어 7700과 Windows 10 홈이 장착 된 12GB 시스템 RAM을 판매하는 이유입니다. 누군가 원래 링크를 삭제 했지만 여기 있습니다 . 그들은 32 비트라고 철자하지 않습니다. 모든 Windows 10이 64 비트라고 말하고 있습니까?
WinEunuuchs2Unix

1
게임용 PC로 판매됩니다. 대부분의 게이머는 Win10 Pro에 추가 기능이 필요하지 않기 때문에 고객이 필요하지 않은 것에 대한 비용을 지불하지 않도록하기 위해 Home을 선택했습니다. Windows 10은 32 비트 변형으로도 제공되지만 원하는 사람이 4GB보다 큰 RAM을 가진 컴퓨터를 판매하고 32 비트 OS를 설치 한 경우 OS 및 응용 프로그램을 실행할 수 없기 때문에 놀랍습니다. > 4GB 이상에 액세스하십시오.
Rich Turner
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.