Cygwin

내위키
Dennis (토론 | 기여)님의 2015년 8월 11일 (화) 06:15 판

Cygwin.

원래는 시그너스 솔루션에서 만든 윈도우 운영체제용 리눅스 에뮬레이터. 지금은 레드햇이 인수해서 개발을 계속하고 있다. 홈페이지에서 무료로 다운로드 받을 수 있다.

윈도우 환경 안에서 GNU 유틸리티를 비롯한 각종 리눅스 프로그램을 쓸 수 있도록 이식한 소프트웨어 패키지다. 32비트와 64비트용이 있다. VMWare하이퍼-V와 같은 가상머신 프로그램으로 가상 컴퓨터를 하나 만들어서 리눅스 같은 다른 운영체제를 설치할 수도 있지만 이 경우에는 윈도우 파일 시스템과 완전히 분리되어 별개의 컴퓨터처럼 동작한다. 반면 시그윈은 cygwin1.dll이라는 동적 라이브러리를 기반으로 기존의 윈도우 파일 시스템 위애 얹혀서 돌아간다. 따라서 윈도우 시스템 안에 있는 파일이나 디렉터리에 손쉽게 접근할 수 있는 게 장점이다. bash로 들어가면 기본 파일시스템은 리눅스와 똑같은 구조지만 /cygdrive/c, /cygdrive/d 같은 식으로 윈도우의 C, D 드라이브로 접근할 수 있다. 반면 리눅스용으로 바이너리 패키지화 된 프로그램을 바로 설치해서 쓸 수는 없다. 시그윈에서 제공하지 않는 프로그램은 정 필요하면 직접 컴파일해서 써야 한다. 대신 시그윈의 명령 프롬프트에서 윈도우 프로그램의 이름을 입력해서 실행시키는 것은 가능하다. 또한 컴퓨터에서 가상머신을 돌리는 건 부하가 많이 걸리고 속도가 느려 터지지만 시그윈은 시스템 자원도 별로 안 먹고 속도도 빠르다.

처음에는 Bash 쉘과 GNU 유틸리티 정도만 쓸 수 있었지만 이제는 X윈도우를 띄우고 KDE그놈을 돌릴 수 있는가 하면 아파치 웹서버도 이식되었다. PHP는 당연히 쓸 수 있고, MySQL도 윈도우용을 설치한 다음 PHP로 연결할 수 있다. 아예 MySQL을 시그윈 용으로 이식하는 프로젝트도 있으니. 윈도우가 깔린 컴퓨터에서 시그윈을 이용해서 웹서버를 돌리는 것도 가능하다. 그럴 거면 그냥 리눅스를 쓰시지요. GNU C 컴파일러도 이식되었기 때문에 리눅스 환경의 컴파일 및 빌드에 익숙하다면 소스코드로부터 빌드해서 시그윈에서 쓸 수도 있다.

그래도 리눅스 시스템을 대신하기에는 한계가 있고 모든 소스코드가 호환되는 것도 아니다. 기본 제공되는 명령도 리눅스에 비하면 기능이 많이 부족한 것들이 눈에 띈다. 그 대표격이 ps 명령인데, 옵션 목록을 보면 리눅스에 제공되는 ps와 비교해 볼 때 선택의 폭이 정말 적다. 리눅스에 익숙한 사람들이 윈도우 깔린 컴퓨터를 리눅스 방식 쉘로 관리하고 싶다든가 할 때는 무척 쓸만하다. 윈도우 GUI는 쉽지만 번거롭고, MS-DOS와 다를바 없는 명령 프롬프트는 bash에 비하면 기능이 많이 부실하다. 딴 거 다 필요 없고 단지 윈도우 환경에서 bash 쓰려고 시그윈 쓰는 사람들이 많다. 좀 더 나가자면 ssh, ftp, telnet 같은 텍스트 기반의 네트워크 접속도 리눅스 식으로 쓸 수 있어서 편하다.