하지만 패키지 다운로드를 로컬 네트워크 내에서 이루어질 수 있도록 만들 수 있다면 설치 시간을 많이 줄일 수 있을 것이다. 본 포스트에서 그 방법을 알아보도록 하자.
우분투 설치 자동화 포스트에서 구축하였던 환경을 그대로 사용할 예정이며 레포지토리 캐시를 위해 apt-cacher를 설치하도록 한다.
1. apt-cacher 설치
# sudo apt-get install apt-cacher
2. apt-cacher 설정하기
2.1 apt-cacher.conf 수정하기
설치가 완료되었으면 설정을 위해 /etc/apt-cacher/apt-cacher.conf 파일을 수정하자. apt-cacher의 기본 포트는 3142이다. (추신 : apt-cacher의 기본 포트는 큰 의미는 없는듯 하다. 설정 완료후 열려있는 포트를 살펴보면 해당 포트는 열려 있지 않았다. 아마도 아파치 웹서버에 얹혀져서 돌아가는 듯하다.)
allowed_hosts : apt-cacher에 접근할 수 있는 호스트를 지정한다. 기본값으로 모든 호스트의 접근이 허용된다. 본 포스트에서는 192.168.111.0 네트워크에 존재하는 호스트에 접근을 허용할 것이다. 콤마를 이용하여 여러개의 IP를 지정할 수 있으며 192.168.111.128 - 192.168.111.200 과 같이 범위를 지정할 수 있다.
allowed_hosts=192.168.1.0/24
generate_reports : 기본값은 1이며 하루 단위로 레포트를 생성한다. http://apt-cacher-server/apt-cacher/report 에 접속하여 볼 수 있다.
2.2 서버 시작시 apt-cacher 구동하기
서버 재부팅시 apt-cacher를 자동으로 시작하도록 하기 위해서는 /etc/default/apt-cacher의 AUTOSTART 값을 1로 수정한다.
AUTOSTART=1
수정을 완료하였으면 아파치 웹서버를 재시작하자.
# service apache2 restart
3.1 preseed.cfg 수정하기
레포지토리 캐시를 사용하기 위해서는 preseed.cfg를 수정하여 캐시에서 패키지를 받아올 수 있도록 하여야 한다. 이전 포스트에서 사용한 preseed.cfg에서 레포지토리와 관련된 부분은 아래와 같다.
위 부분을 아래와 같이 수정한다.### Mirror settings
# If you select ftp, the mirror/country string does not need to be set.
d-i mirror/country string manual
d-i mirror/http/hostname string archive.ubuntu.com
d-i mirror/http/directory string /ubuntu
d-i mirror/http/proxy string
3.2 sources.list 수정하기### Mirror settings
# If you select ftp, the mirror/country string does not need to be set.
d-i mirror/country string manual
d-i mirror/http/hostname string 192.168.111.111 #apt-cacher 서버 주소
d-i mirror/http/directory string /apt-cacher/kr.archive.ubuntu.com/ubuntu
d-i mirror/http/proxy string
sources.list를 열어보면 레포지토리 주소가 아래와 같은 형식으로 되어있을 것이다.
deb http://kr.archive.ubuntu.com/ubuntu/ lucid main restricted
주소를 모두 아래와 같은 형식으로 수정한다.
deb http://apt-cacher-server/apt-cacher/kr.archive.ubuntu.com/ubuntu/ lucid main restricted
본 포스트에 사용된 랩 환경을 적용하면 아래와 같이 될 것이다.
deb http://192.168.111.111/apt-cacher/kr.archive.ubuntu.com/ubuntu/ lucid main restricted
4. 기존 다운로드된 deb 패키지를 캐시에 적용하기
apt-cacher 서버를 설정하기 이전에 다운로드하여 설치한 deb 패키지들은 캐시되지 않기 때문에 동일한 패키지를 설치하더라도 다시 받아올 것이다. apt-cacher 패키지는 설치 이전에 받은 패키지들을 캐시하기 위한 툴을 제공한다. apt-cacher에서 제공하는 툴은 /usr/share/apt-cacher/ 디렉토리 아래에서 찾을 수 있다. 이들 중 apt-cacher-import.pl을 사용하여 기존 패키지들을 캐시에 적용하도록 한다.
/usr/share/apt-cacher/apt-cacher-import.pl -s /var/cache/apt/archives
참고 자료
댓글 없음:
댓글 쓰기