최근 바뀜
통계
임의의 문서로
도움말
문서
토론
원본 보기
역사 보기
로그인
Cygwin 문서 원본 보기
내위키
←
Cygwin
이동:
둘러보기
,
검색
문서 편집 권한이 없습니다. 다음 이유를 확인해주세요:
요청한 명령은 다음 권한을 가진 사용자에게 제한됩니다:
사용자
.
문서의 원본을 보거나 복사할 수 있습니다.
Cygwin. 웹사이트는 당연히 [https://www.cygwin.com/ www.cygwin.com]. 원래는 시그너스 솔루션에서 만든 [[윈도우]] 운영체제용 [[리눅스]] 에뮬레이터.<ref>[[리눅스]]라는 놈이 원래 [[리누스 토르발스]]가 만든 [[리눅스]] 커널에 [[GNU]]의 각종 유닉스 유틸리티 프로그램들을 붙여 놓은 게 기본이라 [[리눅스]] 에뮬레이터라고 단순히 이야기하기에는 조금 애매한 면이 있다. 시그윈이 [[리눅스]] 커널과 호환되는 게 아니기 때문. 가장 정확한 표현은 '[[POSIX]]와 유사한 런타임 환경'이라고 할 수 있다. 다만 사용 방식이 수많은 유닉스 계열 운영체제 중에서는 [[리눅스]]와 가장 가깝긴 하다. 제작사 쪽에서는 '윈도우에서 [[리눅스]] 배포판과 비슷한 기능을 제공한다'고 Cygwin을 소개하고 있다.</ref> 한때 [[레드햇]]이 인수해서 개발을 진행했지만 지금은 결별한 것으로 보인다. 지금은 저작권이 'Cygwin authors'로 되어 있으며, 개발진 역시 개인 이름만 언급하고 있다. [http://cygwin.com 홈페이지]에서 무료로 다운로드 받을 수 있다. Cygwin 웹사이트에서는 Cygwin을 다음과 같이 소개하고 있다. * 윈도우에서 리눅스 배포판과 유사한 기능을 제공하는 대규모 GNU 및 오픈 소스 도구 모음이다. * POSIX API 기능의 상당 부분을 사용할 수 있는<ref>태생이 윈도우 운영체제 안에서 돌아가는 프로그램이라서 POSIX 기능을 전부 제공해 주지는 못한다.</ref> DLL(cygwin1.dll)을 제공한다. 즉 [[윈도우]] 환경 안에서 [[GNU]] 유틸리티를 비롯한 각종 POSIX 기능을 쓸 수 있도록 이식한 소프트웨어 패키지다. 32비트와 64비트용이 있다. [[VMWare]]나 [[하이퍼-V]] 같은 가상머신 프로그램으로 가상 컴퓨터를 하나 만들어서 [[리눅스]] 같은 다른 운영체제를 설치할 수도 있지만 이 경우에는 윈도우 파일 시스템과 분리되어 별개의 컴퓨터처럼 동작한다. 단, WSL은 가상머신이지만 윈도우와 상호 파일 시스템에 접근이 가능하다. 반면 시그윈은 POSIX [[API]]를 지원하는 {{File|cygwin1.dll}}이라는 동적 라이브러리를 기반으로 기존의 [[윈도우]] 파일 시스템 위에 얹혀서 돌아간다. 따라서 [[윈도우]] 시스템 안에 있는 파일이나 디렉터리에 손쉽게 접근할 수 있는 게 장점이다. [[bash]]로 들어가면 기본 파일 디렉터리는 [[리눅스]]와 똑같은 구조지만<ref>시그윈을 설치하면 루트에 cygwin 또는 cygwin64(64비트) 디렉터리가 생기며, 이 아래에 [[유닉스]] 구조의 디렉터리 트리가 만들어지고 시그윈 파일들이 설치된다.</ref> {{File|/cygdrive/c}}, {{File|/cygdrive/d}} 같은 식으로 윈도우의 C, D 드라이브로 접근할 수 있다. 심지어는 Cygwin 쉘에서 윈도우 응용프로그램을 실행할 수도 있다. notepad처럼 이미 패스 지정이 되어 있으면 윈도우 프로그램도 곧바로 실행할 수 있다. 반면 [[리눅스]]용으로 바이너리 패키지화 된 프로그램을 바로 설치해서 쓸 수는 없다. 시그윈에서 제공하지 않는 프로그램은 정 필요하면 직접 [[컴파일]]해서 써야 한다.<ref>gcc를 비롯한 [[컴파일러]]도 제공한다.</ref> 대신 시그윈의 명령 프롬프트에서 윈도우 프로그램의 이름을 입력해서 실행시키는 것은 가능하다. 또한 컴퓨터에서 가상머신을 돌리는 건 램도 많이 잡아먹고 부하가 많이 걸리며 속도가 느려 터지지만 시그윈은 시스템 자원도 덜 먹고 속도도 빠르다.<ref>물론 가상머신보다 빠르다는 것이지 애초에 [[리눅스]]를 설치해서 쓰는 것보다는 당연히 느리다.</ref> 처음에는 [[Bash]] 쉘과 [[GNU]] 유틸리티 일부 정도만 쓸 수 있었지만 이제는 [[X윈도우]]를 띄우고 [[KDE]]나 [[그놈]]을 돌릴 수 있는가 하면 [[아파치 웹서버]]도 이식되었다. [[PHP]]는 당연히 쓸 수 있고, [[MySQL]]도 윈도우용을 설치한 다음 [[PHP]]로 연결할 수 있다. 아예 [[MySQL]]이나 [[PostgreSQL]]을 시그윈 용으로 이식하는 프로젝트도 있으니. [[윈도우]]가 깔린 컴퓨터에서 시그윈을 이용해서 웹서버를 돌리는 것도 가능하다. <del>그럴 거면 그냥 [[리눅스]]나 WSL 쓰시지요. </del> 시그윈을 설치하는 과정에서 설치할 수 있는 소프트웨어 패키지의 목록을 볼 수 있는데 정말 광범위하다. [[GNU]] [[C]] [[컴파일러]]도 이식되었기 때문에 리눅스 환경의 컴파일 및 빌드에 익숙하다면 소스코드로부터 빌드해서 시그윈에서 쓸 수도 있다. 다만 [[X윈도우]] 쪽 프로그램들은 속도가 많이 느리므로 그냥 쓸 수 있다는 것에 의의를 두는 게 속 편하며, 웹서버를 비롯한 서버용으로 쓰는 것 역시 피하는 것이 좋다. [[커널]] 자체는 윈도우기 때문에 [[리눅스]] 시스템을 대신하기에는 한계가 있고 모든 소스코드가 호환되는 것도 아니다. 기본 제공되는 명령도 [[리눅스]]에 비하면 기능이 많이 부족한 것들이 눈에 띈다. 그 대표격이 ps 명령인데, 옵션 목록을 보면 [[리눅스]]에 제공되는 ps와 비교해 볼 때 선택의 폭이 정말 적다. 또한 기본적인 [[bash]] 명령 중에서도 지원이 아예 안 되는 것도 상당수 있다. 이 때문에 Cygwin 측에서도 POSIX API 기능의 '상당 부분'을 제공한다고 밝히고 있다. 윈도우가 [[오픈 소스]] 친화 정책으로 돌아서면서 아예 가상화 기술로 윈도우 위에서 [[리눅스]] 커널을 실행시킬 수 있는 윈도우 서브시스템 리눅스(WSL)를 만들었기 때문에 윈도우 환경에서 [[리눅스]]를 돌리려면 이쪽이 Cygwin보다는 더욱 확실한 대안이다. Bash 쉘과 많이 쓰이는 기본 POSIX 유틸리티들로 충분하다면 윈도우용 [[Git]]이 제공하는 Git Bash도 좋은 대안이다. 특히 개발자들은 [[Git]]을 많이 쓸 수밖에 없으므로 Git Bash로 퉁치는 사람들이 많다. 그래도 [[리눅스]]에 익숙한 사람들이 윈도우 깔린 컴퓨터를 [[리눅스]] 방식 쉘로 관리하고 싶다든가 할 때는 여전히 쓸만한 대안이다. 윈도우에도 명령 프롬프트가 있지만 MS-DOS 시절의 유전자를 그대로 계승하고 있기 때문에 유닉스에 익숙한 사람들에게는 그야말로 쓰레기 수준이다. 이들에게는 윈도우 PowerShell이라고 해서 별로 나은 것도 아니다. WSL은 [[리눅스]]를 가상머신으로 쓸 수 있도록 해 주지만 아예 운영체제를 하나 더 설치하는 것인 만큼 그만큼 용량이 크고 무겁다. Cygwin은 가상 머신이 아니므로 훨씬 가볍다. 딴 거 다 필요 없고 단지 [[윈도우]] 환경에서 [[bash]] 쓰려고 시그윈 쓰는 사람들이 많다. 좀 더 나가자면 [[ssh]], [[ftp]], [[telnet]] 같은 텍스트 기반의 네트워크 접속도 [[리눅스]] 식으로 쓸 수 있어서 편하다. 그러나 이 정도 기능은 Git Bash도 거의 다 지원한다. 사실 WSL 정도까지는 필요 없지만 Git Bash로는 안 되는 기능을 원하는, 즉 Cygwin 아니면 안 되는 사용자는 얼마 없을 것이다. Cygwin으로 [[X윈도우]]를 쓸 수 있다고 하지만 과연 그 정도까지 필요한 사람이 얼마나 있을까? 게다가 Cygwin이 제공하는 [[X윈도우]] 기능은 제한적이라 정말로 [[X윈도우]] 인터페이스가 필요하다면 WSL이 더 나을 것이다. 설치는 간단해서, setup-x86.exe (32비트 버전) setup-x86_64.exe (64비트 버전) 중 하나를 설치하면 된다. 설치하는 과정은 마법사 인터페이스로 쉽게 따라가면 되는데, 다운로드 사이트를 선택할 때에는 국내의 미러 사이트인 http://ftp.kaist.ac.kr을 선택해 주면 된다. 그러면 패키지 리스트를 받아서 설치하고 싶은 것을 설치할 수 있도록 목록이 뜨는데, 원하는 것을 체크하면 된다. [[X윈도우]]를 설치하고 [[KDE]]나 [[그놈]]도 설치할 수도 있지만 아무래도 느리니 지나치게 기대하지는 말자. [[리눅스]]의 yum이나 api-get 같은 소프트웨어 패키지 관리자가 하는 일은 설치프로그램이 대신해 준다. 패키치의 설치와 삭제, 관리, 업그레이드를 모두 해 준다. 패키지를 업데이트하고 싶으면 설치 프로그램을 다시 실행시켜 주면 된다. 설치된 버전과 저장소에 있는 버전을 비교해서 새 버전이 있으면 업데이트해 준다. 시그윈 자체의 버전이 올라갔을 때에도 마찬가지로 설치 프로그램을 다시 받아서 실행시켜 주면 된다. {{각주}}
이 문서에서 사용한 틀:
틀:File
(
원본 보기
)
틀:각주
(
원본 보기
)
Cygwin
문서로 돌아갑니다.
도구
여기를 가리키는 문서
가리키는 글의 최근 바뀜
특수 문서 목록
문서 정보