Jigdo를 이용한 debian download SW

오랜만에 집의 virtualbox에 linux를 깔아서 이것저것 테스트 중으로 debian testing을 설치하려다 보니 결국 debian만의 cd image tool인 jigdo를 사용 해 보았습니다.

debian에서는 일반적으로 이미지를 web download, torrent, jigdo로 배포하는데, 각각 다음과 같은 특징이 있습니다.
  1. web download : web에서 image를 직접 download 받아서 간편하지만 server에 많은 부하가 걸려서 현실적으로 가까운 곳에 mirror site가 없으면 힘듭니다. 200M를 download 받는데 10kbps 속도가 나와서 결국 포기했습니다.
  2. torrent : 분산 download 환경이긴 하지만 debian testing과 같이 자주 바뀌고 별로 인기 없은 이미지의 경우 torrent를 제공하는 active seeder가 거의 없으면 현실적으로 불가능합니다.
  3. jigdo : debian/ubuntu 의 경우 각각 국가마다 cdimage가 아니라 file archive (package)의 mirror site가 많이 존재합니다. 이 경우 jigdo는 file을 download 받아서 cd로 생성 해 줍니다.
Jigdo는 testing 등에서 특히 좋은데, 개별 file을 받아서 해당 file을 생성하는 방법이기 때문에 배포 서버 입장에서 분산되어 있는 mirror site들이 부하를 대신 감당하고, download 하는 user 입장에서는 가까운 서버에서 download해서 속도가 빠릅니다. file server들이 많이 있는 경우에만 사용 할 수 있는 방법이라고 할 수 있겠습니다.

전체적인 instruction은 http://www.debian.org/CD/jigdo-cd/ 에서 볼 수 있지만, 다음과 같은 순서로 진행합니다.
  1. jigdo program download : http://atterer.org/jigdo/
  2. jigdo file download
    *.jigdo와 *.template의 두 개의 file이 필요합니다. template file은 용량이 상당히 커서 받으려는 file의 크기가 200M인데, template의 크기는 2.8M 정도네요.
  3. jigdo program 실행 : 실행 도중에 *.jigdo file의 위치와 debian mirror server 등의 위치 등의 정보를 물어봅니다.
  4. cd image 생성 : 3번이 끝나면 자동으로 수행됩니다.
전체 수행 시간은 mirror site의 위치에 따라 다르겠지만 http://ftp.daum.net/debian/ 을 지정했는데 거의 5분 이내이네요. 요청에 따라서 cd image를 생성 해 낸다는 점에서 mirror만 충분히 가깝다면 netinst 같은 mini image  보다는 full image를 생성하는 게 오히려 편하겠습니다.

용도가 너무 제한되어 있어서 많이 사용되지는 않겠지만, 배포판 관리의 입장에서 동적으로 요청에 따라서 install cd를 생성 해 낸다는 점에서 분명히 다른 방향으로도 잘 사용 할 수 있겠네요.