다음 이전 차례

2. 슈더-이미지 만들기

2.1 슈더 이미지 만들기

이 부분에서는 공식 CD 이미지와 유사한 슈더 이미지를 생성하는 것에 대해서 본다. 다음 부분에서는 `rsync' 프로그램을 사용해서 슈더 이미지를 공식 이미지로 변환하는 것에 대해 보게 된다.

생성된 슈더-이미지는 약 650MB 정도다. 또한 나중에 사용할 `rsync' 프로그램은 650 MB정도의 추가 여유 공간이 필요로 한다. 여유 공간이 있다면 다음에는 파일 시스템을 살펴보아야 한다. 각 프로그램들은 긴 파일이름을 사용하므로, 현재 파일 시스템이 긴 파일이름의 지원 유무를 확인한다.

예를 들어 /bigdisk에 마운트된 디스크에 650MB 이상의 공간이 있다고 가정한다. 그러면 우선 새로운 디렉토리를 생성해야 한다. (예 : /bigdisk/pseudo-image/) 다음에 슈더-이미지 킷을 그 디렉토리에 압축을 푼다.

슈더-이미지 생성 프로그램은 다른 프로그램을 같이 사용한다. FTP 다운로드는 ncftp를 사용하며, HTTP 다운로드는 wget을 사용한다. 혹시 이러한 프로그램이 깔려있지 않다면 설치해야 한다. 대부분의 배포본에는 이러한 프로그램들이 포함되어 있다. 그렇지만 만약 없다면 아래의 주소에서 각각 구할 수 있다.

http://www.probe.net/~mgleason/ncftp/

ftp://prep.ai.mit.edu/pub/gnu/wget/

만약 `ncftp'를 구할 수 없다면, DONTUSENCFTP환경 변수에 DONTUSENCFTP를 설정하면 `wget'을 대신 사용한다. 하지만 이럴 경우 FTP 서버에 부하가 걸리기 쉽다.

슈더-이미지를 생성하기 전에 우선 파일 리스트가 필요하다. 이러한 파일 리스트는 `binary-i386-1.list'와 같이 이름 붙여져 있고, 아래에서 구할 수 있다.

http://www.uk.debian.org/debian-cd/cd-images

이 디렉토리 중에 적당한 디렉토리를 찾아서 자신이 원하는 `.list'파일들을 받는다.; 약 80KB정도 크기다

`.list'파일은 일반 텍스트 형식이라서 일반 뷰어로 점검할 수 있다.

슈더-이미지 생성에 앞서, 디스크 공간을 다시 한번 확인하는 것이 좋다. 그리고 파일 이름중에 혹시 `pseudo-image', 또는 `pseudo-image.*'가 있지 않은지 확인한다.

합쳐질 파일들은 FTP나 HTTP 패키지 미러에서부터, 또는 로컬 디스크로 부터 받게 된다.; 파일과 미러부분에서 적어뒀던 주소가 이때 쓰인다.

그리고나서 슈더-이미지 킷이 설치된 디렉토리로 이동한다. (위의 예에서 보면 /bigdisk/pseudo-image/) 다음에 아래의 명령으로 이미지를 생성한다.

./make-pseudo-image <리스트 파일> <서버 디렉토리>

예를 들면

FTP 사이트를 이용할 때

./make-pseudo-image binary-i386-1.list ftp://ftp.server.org/pub/debian

HTTP 사이트를 이용할 때

./make-pseudo-image binary-i386-1.list http://www.server.org/ftp/debian

로컬 하드디스크를 이용할 때

./make-pseudo-image binary-i386-1.list /var/ftp/mirrors/debian

<서버 디렉토리>에는 반드시 `dists'라는 하위 디렉토리가 있어야 한다. 그래서 위의 예에서 본다면 각각 아래의 디렉토리들이 반드시 있어야 한다.

ftp://ftp.server.org/pub/debian/dists/

http://www.server.org/ftp/debian/dists/

/var/ftp/mirrors/debian/dists/

슈더-이미지 생성에 앞서 웹 브라우저 같은 것으로 위의 디렉토리가 제대로 되어 있는지 확인하는 것이 좋다.

이미지 생성 프로그램은 `pseudo-image' 파일을 현재 디렉토리에 생성하게 된다. 뿐만 아니라 `pseudo-image.*'와 같은 파일, 디렉토리도 생성된다. 만약 생성이 끝난다면 이 파일, 디렉토리들은 자동으로 지워진다. (만약 다른 이미지를 생성하기 원하는데, 이런 파일, 디렉토리가 남아있다면 반드시 지워줘야 한다.)

이미지 생성 시간이 꽤 걸리는데, 도중에 언제든지 중지할 수 있다. (Ctrl-C) 그리고 나중에 같은 서버는 물론, 다른 서버나 로컬 디렉토리 같은 곳에서도 다시 이어서 작업할 수 있다. 다시 이어서 작업하기 위해서는 똑같은 명령을 치면 된다. 그러면 끊어진 부분부터 다시 작업하게 된다. 이 때 반드시 이전에 생성된 `pseudo-image.*'파일을 지워서는 않된다. FTP 를 사용할 때 `ncftp' 자식 프로세스가 제대로 종료되지 않을 수 있다. 이때는 직접 강제로 프로세스를 종료시켜야 한다.

만약 파일을 찾을 수 없다면 경고 메세지가 뜬지만, 생성은 계속 된다. 만약 경고가 많이 나오면, 다른 서버를 찾아보는 것이 좋다. 모든 경고는 `pseudo-image.warnings'에 저장되므로 이 파일에서 경고 메세지를 확인할 수 있다. `pseudo-image.log'파일을 잘 보면 경고가 나오는 원인을 찾을 수도 있다. 보통 경고 몇개가 나오는데 걱정하지 않아도 된다.; `rsync'에서 데비안 CD 미러에서부터 이러한 파일을 직접 받게 된다.

만약 소스 파일들(.orig.tar.gz, .dsc, 그리고 .diff.gz 파일들)에서부터 많은 경고가 나온다면, 현재 패키지 미러가 바이너리 전용 미러일 가능성이 크다. 이럴 경우에는 종료하지 말고 끝날 때까지 기다리면 된다. 그리고 끝나면 다른 패키지 미러로부터 작업하면 그 소스 파일들만 받게 된다.

만약 마운트된 NFS 파일시스템으로부터 파일을 받는다면, 마운트 명령에 `-a rsize=8192,wsize=8192'와 같은 옵션을 추가하면 더 빠른 속도를 얻을 수 있다.; 자세한 것은 man mount에서 확인할 수 있다.

2.2 프록시

몇몇 회사, 또는 관공서에서는 직접 인터넷에 접속하는 것이 불가능할 수도 있다. 이럴 경우에는 흔히 `프록시 서버'라고 불리는 게이트웨이가 로컬 호스트의 HTTP나 FTP 요청을 포워딩하게 된다. 만약 프록시를 사용하지 않는다면 이 부분은 넘어가도 된다.

슈더-이미지 생성에서 프록시 서버를 사용하는 것은 매우 간단하다. 시작전에 몇몇 환경변수를 설정하면 된다.

우선 아래의 명령으로 다른 FTP 접근 방법을 사용한다는 것을 알려줘야 한다.

sh-like 쉘

DONTUSENCFTP=DONTUSENCFTP; export DONTUSENCFTP

csh-like 쉘

setenv DONTUSENCFTP DONTUSENCFTP

그리고 어느 프록시 서버를 사용할 것인가를 알려줘야 한다. 예를 들어 프록시 서버가 proxy.server의 8001번 포트에서 작동한다고 보면 아래와 같이 명령하면 된다.

sh-like 쉘

http_proxy=http://proxy.server:8001/; export http_proxy

ftp_proxy=http://proxy.server:8001/; export ftp_proxy

csh-like 쉘

setenv http_proxy http://proxy.server:8001/

setenv ftp_proxy http://proxy.server:8001/

만약 유저이름/패스워드 가 필요하면, `http://proxy.server:8001/'을 `http://유저 이름:패스워드@proxy.server:8001/'으로 바꾸어 주면 된다.

이러한 설정이 끝나면 make-pseudo-image 프로그램은 잘 작동한다. 프록시를 사용한다면 HTTP 패키지 미러를 선택하는 것이 속도상 이롭다.


다음 이전 차례