간단한 설치

서버(unix 계열) 일은 해야겠고 그러자고 Linux 를 깔자니 귀찮고, 그렇다고 항상 서버에 접속해서 일을 할 수는 없는 것이고.. 이럴때를 위한 획기적인 방법이 존재합니다.

바로 colinux 라는 솔루션입니다. vmware 에 가깝다고 보시면 되는데 가상의 리눅스 머신을 윈도안에서 띄우는 솔루션이지요. 자 이제 이것을 설치하면 서버머신이 없더라도 윈도에서 놀면서(!) 서버일을 할 수 있는 멋진 장점이 있습니다.

http://www.colinux.org/ 에서 좌측 프레임의 Downloads 링크를 따라가면 나오는 페이지에서 coLinux-0.7.3.exe 를 받아서 설치합니다. 설치중에 어디에다 설치할 것인지 물어보는 부분이 있는데 기본으로 "c:\Program Files\colinux" 입니다. "c:\colinux" 가 여러모로 편하다고 하지만 기본으로 해도 별 지장은 없습니다.

root file system 을 다운 받을까 하는 물음이 있습니다. 나중에 따로 받기가 매우 귀찮을 꺼라는 생각이 팍팍 들더군요. 다루기 쉬운 애로 받아서 깔도록 하지요. 전 'Debian XXX' 를 선택해서 받았습니다.

설치가 끝나고 '시작메뉴' 나 '프로그램 설치정보'를 찾아봐도 colinux 가 설치됐다는 정보가 없습니다. 조금 더 뒤져보면 "c:\Program Files\colinux' 관련 파일들이 있다는 것을 알게 됩니다.

Debian-4.0r0-etch.ext3.1gb.bz2 이게 위에서 다운 받은 루트 이미지 입니다. 이것을 압축 해제 하고 나온 파일의 이름을 root_fs 로 수정합니다. 물론 이 파일은 colinux 가 설치된 곳에 저장이 되어야 합니다.여기까지 기본 준비는 끝나고 이제 실행에 옮겨보기로 하지요.

"c:\Program Files\colinux" 로 이동해서 콘솔상에서

colinux-daemon.exe @example.conf

라고 실행합니다. 이건 어플리케이션 형태로 colinux 를 실행하는 방식인데, 뭔가 될려고 하다가 중지됩니다. "c:\colinux" 밑에 설치했다면 제대로 동작하지만 c:\Program Files\colinux" 밑에 설치했으면 동작하지 않습니다. example.conf 파일을 열어보기로 하지요. cobd0="c:\coLinux\root_fs" 라고 되어 있는 부분을 다음과 같이 바꾸어 줍니다. cobd0="c:\Program Files\coLinux\root_fs" 다시 콘솔에서

colinux-daemon.exe @example.conf

라고 실행하면 colinux 가 부팅됩니다. 아이디 패스워드는 루트로 바로 접속이 가능합니다. root/root 이니 로긴해서 사용 아이디 만들어서 사용하시면 됩니다.

저는 어플리케이션 형태로 실행하는걸 테스트 목적으로 쓰고, 그 다음부터는 서비스 형태로 등록해서 필요할때만 서비스를 실행시켜서 리눅스를 부팅하고 사용하는 방법을 즐겨 합니다. colinux 가 설치되어 있는 디렉토리 콘솔창에서

colinux-daemon.exe @example.conf --install-service "coLinux"

라고 입력합니다. 이러면 'coLinux' 라는 이름으로 서비스가 등록됩니다.

colinux-daemon.exe @example.conf --remove-service "coLinux"

하면 서비스가 해제됩니다. 서비스가 등록되어 있는 상태에서 리눅스를 부팅시키려면

net start "coLinux"

라고 콘솔에서 입력하시면 리눅스가 부팅이 됩니다. 그러면

colinux-console-nt.exe

를 실행해서 콘솔로 연결해서 사용이 가능합니다.


Network & Putty 를 이용해서 접속하기

example.conf 파일중에서 막혀있던 eth0 부분을 아래와 같이 바꾸어 주면 됩니다.

  • eth0=slirp,,tcp:22:22/tcp:80:80/tcp:23:23

이제부터 coLinux 안에서 네트워크를 쓸 수가 있습니다. 위의 내용을 가볍게 살표보자면 eth0=slirp 부분은 네트워크 드라이버로 slirp(위키에 내용 링크) 방식을 쓴다는 것입니다. eth0=slirp,, 에서 쉼표 2개는 맥 어드레스 쓰는 부분인데 건너 뛰자는 것이고, tcp:22:22 부분은 프로토콜: 호스팅 컴퓨터에서의 port : colinux 안에서의 port 입니다.

자 이제 putty 를 열고 접속대상 ip 에 127.0.0.1 을 써주고 '연결'을 누르지만 접속이 안되는 것을 확인 하실 수 있습니다. ssh 데몬이 설치가 안되어 있기 때문입니다.

먼저 apt-get 을 이용해서 필요한 몇가지 유틸을 설치해 보도록 하지요.

데비안 에서 apt-get 을 사용하기 전에는

  • apt-get update

를 실행해서 꼭 소스 리스트를 업데이트 해줘야 합니다. 그대로 실행하셨다면 최신의 빵빵한 소스로 업데이트들이 됐습니다.

그상태에서

  • apt-get install sudo
  • apt-get install emacs (or vim)
  • apt-get ssh

를 차례로 입력해주면 sudo package , emacs , ssh 가 전부 설치됩니다.

sudo 명령을 쓰기 위해서는 /etc/sudoers 에 아이디를 추가해야 한다. 예제로 만들어진 거에 보이는 root 의 옵션을 그대로 따라 하시면 됩니다.

여기까지 가능하셨으면 putty 창을 여시고 127.0.0.1 로 ssh 커넥션을 하시면 프롬프트 창이 나타나서 사용이 가능합니다.


Windows Partition 보기

coLinux 에서 윈도즈 파티션(ntfs) 를 마운트 하는 방법에 대해서 알아보겠습니다.

윈도즈 파티션 자체를 마운트 해야 합니다.

그런데 config 파일에 설정하는 방법 말고 서비스를 띄울때 띄우는 방법이 있습니다. (config 에서 하는 방법은 아직 못 찾았습니다) 서비스를 등록할때 기존 방식으로 등록하는 대신

  • colinux-daemon.exe @example.conf cofs0=c:\ --install-service "coLinux"

이런 방식으로 서비스를 등록합니다. 그리고 coLinux 콘솔창에 접속해서 prompt 상에서

  • mount -t cofs 0 /mnt

일반 유저는 sudo 를 포함해서 실행시키면 됩니다.


swap file 추가하기

xp 이상이라면 fsutil.exe 라는 툴이 있습니다. 스왑파일은 1기가 정도로 잡아주는 것이 좋기 때문에 windows 에서 command prompt 창을 실행시켜서 다음과 같이 명령을 쳐 줍니다.

  • fsutil.exe file createnew c:\colinux\swap_file 1073741824

라고 하면 1기가 짜리 스왑파일이 생깁니다. 뒤에 나와 있는 숫자는 스왑 파일의 크기 입니다. 이제 이를 colinux 에 인식시키는 일만 해주면 됩니다.

example.conf 에서 #cobd1="c:\colinux\swap_device" 인 곳을 찾아서 앞에 주석을 제거 합니다. 다음처럼 작성해 줍니다.

  • cobd1="c:\colinux\swap_file"

로 fsutil 을 이용해서 만든 파일로 설정을 수정합니다. 그리고 coLinux 부팅후 /etc/fstab 을 에디터로 연 후

  • /dev/cobd1 swap swap defaults 0 0

으로 수정합니다. 저장한 후에 에디터를 종료하고 colinux 콘솔상에서

  • mkswap /dev/cobd1

라고 명령을 입력해서 스왑을 만들어 줍니다. 다시 리부팅을 한 후에

  • swapon -a

명령을 이용해서 스왑을 켜주고요. 그다음에 프로그램 이거 저거 사용후에 free 나 top 명령을 이용해서 스왑이 사용되는지 여부를 알아볼 수가 있습니다.



root file system 크기 늘려주기

원본 보기

데비안을 디폴트 루트 시스템으로 사용을 마음 먹었으면 1기가 정도의 크기 일 것입니다. 그러나 사실상 개발을 생각하고 이것 저것 깔아 주다 보면 턱 없이 루트 시스템의 용량이 적습니다. 그래서 새로 파티션을 만들어 /home 에 늘려주는 것도 하나의 방법이 되겠지만 , 루트 파일 시스템 자체를 늘려주는 방법이 제일 편하고 관리도 편합니다. 10기가 정도면 거의 다 개발해도 될테니 10기가 정도로 늘려줄 생각을 하겠습니다. 스왑을 만들때 썼던 fsutil 이 또 필요하군요.

  • fsutil.exe file createnew c:\colinux\drive_1.ext3.10GB 10737418240

drive_1.ext3.10GB 라는 10기가 바이트 짜리 파일이 생성됐습니다. 그러면 c:\coLinux (이 디렉토리에 설치하신게 아니라면 coLinux 가 설치된 디렉토리로 이동하셔서) 로 이동하셔서 기존의 root file system 인 root_fs 파일을 백업 받습니다.

  • copy root_fs old_fs

config 파일을 열어줍니다. example.conf 가 일반적인 config 파일이니 그 파일을 에디터로 열어서

cobd2="c:\colinux\old_fs" cobd3="c:\colinux\drive_1.ext3.10GB"

라는 행을 추가해 줍니다. cobd1 은 스왑파일로 정해놨었지요. 이제 coLinux 를 부팅시켜줍니다. 그리고 console 창에서 다음과 같이 명령을 입력합니다.

  • e2fsck /dev/cobd2

복사시킨 파일시스템이 clean 한지 체크하는 것입니다. clean 하다고 메시지가 뜰 것입니다. 그러면 새로운 이미지에 , 기존의 시스템을 복사해야 합니다. (10 기가로 확장하는 순서)

  • dd if/dev/cobd2 of=/dev/cobd3

잘 복사됐는지 파일시스템을 체크해 줍니다.

  • e2fsck -f /dev/cobd3

10기가 정도 되니 시간이 좀 걸리는 군요. 체크가 끝나면 새로운 파일시스템에 있는 모든 공간을 쓸 수 있게 리사이징 해줍니다.

  • resize2fs -p /dev/cobd3

리사이징이 끝나면 다시 한번 파일시스템 체크를 해줍니다.

  • e2fsck /dev/cobd3

여기까지 진행이 됐으면 새로운 시스템이 설치된 10 기가 짜리 이미지를 얻은 것입니다. 이제 config 파일(example.conf) 에 root_image 를 바꾸어 줍니다.

  • cobd0="c:\colinux\drive_1.ext3.10GB"

colinux 를 재부팅 하신후에 제대로 교체 됐는지 확인을 위해서 'df' 를 입력합니다.

df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/cobd0 10321208 649668 9147272 7% /

root file system 이 10기가로 용량이 늘어난 것을 확인 하실 수 있습니다. root_fs , old_fs 는 이제 지워주셔도 됩니다.


한글 세팅

데비안은 일반적으로 리눅스 형태로 받아서 OS 를 설치하면 이 작업이 되어 있으나 colinux 는 데비안 이미지 자체만 받기 때문에 많은 것을 수동으로 설치해 줘야 합니다.

- 기본메모리 64M , Swap File 없이 처음 진행

colinux 콘솔상에서

  • apt-get install locales

라고 입력하면 로케일 관련 파일들이 설치되고

  • dpkg-reconfigure locales

입력시 나오는 창에서 'k' 를 누르고 방향키를 아래로 몇번 내려주면 한글을 고를 수가 있습니다. 'ko_KR.EUC-KR EUC-KR' 과 'ko_KR.UTF-8 UTF-8' 이 바로 그것이지요. 스페이스 키를 눌러서 두 항목을 선택해 줍니다. 이중에 디폴트를 선택하라고 하면 UTF-8 을 선택해주지만 바로 메모리 exausted 가 뜨는군요 -0- , 메모리도 늘려줘야 하지만, swap 도 정해줘야 겠군요.

- 메모리 128M , Swap File 1 기가로 만들어 주고 , 기본 루트 파일 시스템도
10기가로 늘려준 상태에서 다시 진행

다시 시도해서 , 기본으로 ko_KR.UTF-8 을 지정해 줘도 깔끔하게 설치가 됩니다.


회사 위키에 정리한 것을 가져와 봤습니다. - 귀찮아서 따로 따로 정리하기가 벅차더군요 , 앞으로 회사 위키 - 블로그 로 정리하는 습관을 들이면 괜찮은 정리 습관이 될 것 같습니다.

+ Recent posts