Cygwin

내위키
Dennis (토론 | 기여)님의 2015년 6월 20일 (토) 12:30 판

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 컴파일러도 이식되었기 때문에 유닉스 환경의 컴파일 및 빌드에 익숙하다면 소스코드로부터 빌드해서 시그윈에서 쓸 수도 있다. 그래도 유닉스 시스템을 대신하기에는 한계가 있고 모든 소스코드가 호환되는 것도 아니다. 유닉스에 익숙한 사람들이 윈도우 깔린 컴퓨터를 유닉스 쉘로 관리하고 싶다든가 할 때는 무척 쓸만하다. 윈도우 GUI는 쉽지만 번거롭고, MS-DOS와 다를바 없는 명령 프롬프트는 bash에 비하면 기능이 많이 부실하다. 딴 거 다 필요 없고 단지 윈도우 환경에서 bash 쓰려고 시그윈 쓰는 사람들이 많다.