본문 바로가기

IT/Windows

cygwin으로 Windows를 Linux처럼 쓴다.


cygwin으로 Windows를 Linux처럼 쓴다.

cygwin이라는 프로그램을 windows에 설치하면 Linux 명령과 bash sell을 사용 할 수 있습니다.
보통 개인적 취향이나 학습의 목적으로 cygwin을 자신의 컴퓨터에 설치하여 사용하고는 하는데,
나아가서 원격머신 흔히 서버로 사용할 머신이 windows 계열일때의 불편을 해소하고자 할 때
이 보다 좋은 방법은 없는듯 합니다.

목차 :
  1. cygwin을 깔면 무얼 할 수 있나?
  2. cygwin 설치 방법
  3. 한글 설정
  4. sshd 띄워 원격에서 접속하기
 
1. cygwin을 깔면 무얼 할 수 있나?
 cygwin이라는 프로그램은 windows에 설치하여 Linux와 같은 환경을 제공합니다.

사용자 삽입 이미지

cygwin을 실행한 모습


위의 그림처럼 cygwin을 실행시키면 Dos창과 비슷한 콘솔이 열리는데, 이것을 이용해서 Unix 명령과 각종 Shell을 실행 시킬 수 있습니다.
물론 이미 설치되어 있는 모든 프로그램의 실행도 가능합니다.  GUI를 갖는 윈도우 프로그램도 포함해서 말이죠.(물론 그렇게 할 필요는 없어 보이지만..)

IT, 특히 개발자로서는 grep, find, tail 명령만으로도 이 프로그램을 사용하는 충분한 이유가 될 수 있을듯 합니다.
Unix 환경에 익숙하지 않은 사람은 이것을 이용해서 학습을 할 수 있을 것이구요.

제가 이와 같이 개인적 성향이나 학습의 가능성을 알리기 위해 이렇게 글 까지 쓰지는 않았을 겁니다. 자기 혼자 사용하는 개인용 PC인 경우라면 grep이나 find가 없어도 알아서 잘들 쓰고 있고, 이런게 있는데 좋으네 마네 설명하고 자시고 할 필요는 없어 보입니다.

그런데, 서버 환경이 Windows인 경우에는 문제가 다릅니다.
원격 서버에서 실행되어야 하는 각종 서버 데몬의 실행과 중단 명령, 원격 서버에 쌓이고 있는 로그파일의 tail, 원격 서버의 CPU, Memory 사용률과 Process List를 확인 하려 할때, 윈도우 원격 데스트탑 연결(mstsc.exe)이나 VNC를 이용해야 하는것은 무척 불편하고 퇴근시간을 늦추는 요인이 됩니다.

사용자 삽입 이미지

CecureCRT로 cygwin을 이용한 ssh 접속모습


cygwin의 sshd를 이용하면 원격에서 telnet과 같이 ssh를 이용하여 모든 콘솔 명령을 이용할 수 있으니 소스적용이나 시스템 모니터링에서 windows와 Unix의 차이를 모르고 작업 할 수 있게 해줍니다.
자 어때요. 이정도면 cygwin 쓸만 한가요? 그렇다면 설치와 환경 설정 방법을 설명해 드릴께요.

2. cygwin 설치 방법
  cygwin을 설치 하기 위해서는 ftp가 열려 있어야 합니다.
금융사 내부에서 인터넷을 할때는 대부분 ftp가 닫혀 있기 때문에 설치 프로그램이 필요한 패키지를 다운로드 하지 못하는 경우가 있읍니다. 이 경우에는 첨부한 설치 프로그램과 패키지를 이용해서 설치해야 합니다.

 가. FPT가 가능하다면 http://www.cygwin.com에 방문하여 설치 프로그램을 다운로드 받습니다.
FTP가 불가능하다면 첨부 파일인 setup.exe를 다운받습니다.
사용자 삽입 이미지

http://www.cygwin.com


 나. 설치 프로그램을 실행하여 평소처럼 "다음"을 눌줍니다.
 
사용자 삽입 이미지

cygwin installer


 다. 만약 FTP가 가능하다면 "Install from Internet"을 선택하고 "다음"을 클릭합니다.
사용자 삽입 이미지
   만약 FTP가 불가능 하다면 "Install from Local Directory"를 선택합니다.
사용자 삽입 이미지

  라. 설치할 경로와 설치 환경을 설정합니다. 왠만하면 그대로 두시면 됩니다.
사용자 삽입 이미지

  마. 패키지 경로를 지정합니다.
   FTP가 가능한 경우는 패키지를 다운받을 경로를 지정하시면 되고,
   FTP가 불가능한 경우는 첨부파일 release.zip을 다운받아 압축해제한 경로를 지정하시면 됩니다.
사용자 삽입 이미지

 바. FTP 접속 방법 선택
  FTP가 불가능한 경우에는 해당 사항 없는 화면입니다.
  FTP로 다운받아 설치하는 경우에 FTP를 어떻게 접속할지를 선택하는 방법입니다.
사용자 삽입 이미지
   어떤걸 선택할 지는 알아서 판단 해야 겠죠.

  사. 다운로드 사이트 선택
   release.zip을 다운받으신 경우에은 마찬가지로 해당 사항 없는 화면입니다.
   어느 미러 사이트에서 받을지 묻는 것인데, ftp://ftp.kaist.ac.kr 가 제일 빠르다고 합니다.
사용자 삽입 이미지

   아. 설치 패키지 선택
   어떤 패키지를 설치 할지 선택하는 것인데요, 이부분은 모두 해당 되는 부분입니다.
    패키지를 설명하고 자시고 할 자신은 없으니 모두 설치를 하십시요.
   이때!! "All Default"라고 되어있는 "Default"를 클릭하여 "Install"로 바꾸시는 것은 매우 중요합니다.
 
사용자 삽입 이미지
사용자 삽입 이미지

  자. 설치 진행 및 종료
    나머지는 굳이 설명 안드리겠습니다. 그냥 놔두면 설치하고 "마침" 클릭하시면 되겠습니다.

 자 이제 생성된 아이콘을 클릭하여 cygwin을 실행하고 Unix 처럼 사용하시면 됩니다.
  
  • C: D: 드라이브 변경은 Dos에서 처럼  "cd c:" , "cd d:" 하시면 되고 /(root) 디렉토리는 cygwin이 설치된 경로, 다시말해 디폴트로 설치했다면 "c:\cygwin" 이 되게 됩니다.
    ~(home) 디렉토는  "c:\document and settings\계정이름" 입니다.

 
3. 한글 설정
cygwin을 설치하고 바로 쓰면 한글 파일명이나 디렉토리명이 물음표(?)로 표시되고, 한글 입력도 잘 되지 않습니다. 그래서 설치 후 한글 설정 작업이 필요합니다.

 가. c:\cygwin\Cygwin.bat 파일을 노트패드로 열어 굵은 글씨로 된 문장을 추가 합니다.
... 생략
set CYGWIN=tty

bash --login -i

 나. cygwin콘솔에서 vi로  ~/.bashrc 열어 아래 내용을 맨 아래에 넣습니다.
alias ls='ls -ahF --color=tty --show-control-char'
 그 밖에 alias를 추가 하거나 수정하셔도 됩니다.

다. cygwin 콘솔에서 vi로 ~/.inputrc 를 열어 아래 내용을 맨 아래에 추가합니다.
set meta-flag on
set convert-meta off
set output-meta on

자. 이제 한글 입/출력도 잘 될것입니다.
로칼에서만 사용하실 꺼라면 이대로 잘 사용하시면 됩니다.


4. sshd 설정하여 원격에서 접속하기
  가. 환경변수 설정
 내컴퓨터 아이콘의 속성을 선택해서 "시스템 등록정보" 창을 열어 봅니다.
"고급" 탭의  "환경변수"를 클릭하여 환경변수를 추가합니다.
사용자 삽입 이미지

저장할 변수내용은 다음과 같습니다.
CYGWIN=ntsec tty

    나. cygwin 콘솔에서 다음 명령을 실행합니다.
 
ssh-host-config
CYGWIN=ntsec tty

  다. cygwin 콘솔에서 sshd 데몬을 실행합니다.
cygrunsrv --start sshd
 
이와 같이 하고 나면 윈도우 서비스에 sshd 가 추가 되어 실행되고 있는 것을 확인 할수 있습니다.
사용자 삽입 이미지

라. ssh 접속
 SecureCRT와 같은 ssh를 지원하는 콘솔 프로그램을 이용해서 원격에서 접속해 봅니다.
 계정은 windows 로그인 계정과 같습니다. 대부분 Administrator 이겠죠.
사용자 삽입 이미지

자 이제 윈도우 시스템을 원격에서도 Unix와 같이 사용해서 퇴근 시간이 빨라지길 바랍니다.

X를 띄워 쓰는 분도 있으니 더 쓸모 있는 방법이 있지 않알까 생각도 됩니다.

'IT > Windows' 카테고리의 다른 글

유용한 Utility 제공 사이트  (7) 2007.10.17
Windows Process Explorer  (5) 2007.10.16