2019/12/03

로컬 apt PKG 서버 만들기

로컬 apt PKG 서버 만들기

밀러 서버
우분투 메인서로 부터 모든 패키지를 끌어와 우리 서버의 로컬 하드 드라이브에 저장하는 방법이다.

apt-get install apt-mirror

vi /etc/apt/mirror.list
############# config ##################
#

## 저장소 디렉토리 설정 ##
set base_path   /srv/www/yakkety.fw.fairux.net/yakkety_namo_pkg
#
# set mirror_path  $base_path/mirror
# set skel_path    $base_path/skel
# set var_path     $base_path/var
# set cleanscript $var_path/clean.sh
# set defaultarch  <running host architecture>
# set postmirror_script $var_path/postmirror.sh
# set run_postmirror 0

# 다운로드 쓰레드 개수
set nthreads     20
set _tilde 0
#
############# end config ##############

deb-i386 http://kr.archive.ubuntu.com/ubuntu yakkety main restricted universe multiverse
deb-i386 http://kr.archive.ubuntu.com/ubuntu yakkety-security main restricted universe multiverse
deb-i386 http://kr.archive.ubuntu.com/ubuntu yakkety-updates main restricted universe multiverse
#deb http://kr.archive.ubuntu.com/ubuntu yakkety-proposed main restricted universe multiverse
#deb http://kr.archive.ubuntu.com/ubuntu yakkety-backports main restricted universe multiverse

deb-amd64 http://kr.archive.ubuntu.com/ubuntu yakkety main restricted universe multiverse
deb-amd64 http://kr.archive.ubuntu.com/ubuntu yakkety-security main restricted universe multiverse
deb-amd64 http://kr.archive.ubuntu.com/ubuntu yakkety-updates main restricted universe multiverse
#deb http://kr.archive.ubuntu.com/ubuntu yakkety-proposed main restricted universe multiverse
#deb http://kr.archive.ubuntu.com/ubuntu yakkety-backports main restricted universe multiverse

deb-src http://kr.archive.ubuntu.com/ubuntu yakkety main restricted universe multiverse
deb-src http://kr.archive.ubuntu.com/ubuntu yakkety-security main restricted universe multiverse
deb-src http://kr.archive.ubuntu.com/ubuntu yakkety-updates main restricted universe multiverse
#deb-src http://kr.archive.ubuntu.com/ubuntu yakkety-proposed main restricted universe multiverse
#deb-src http://kr.archive.ubuntu.com/ubuntu yakkety-backports main restricted universe multiverse


clean http://kr.archive.ubuntu.com/ubuntu
################################################################################################

32비트 관련 deb-i386, 64비트 deb-amd64

밀러 저장소 패키지 다운로드.
apt-mirror

업데이트 주기적 설정.
vi /etc/cron.d/apt-mirror

cat /etc/cron.d/apt-mirror
#
# Regular cron jobs for the apt-mirror package
#
0 4 * * * apt-mirror /usr/bin/apt-mirror > /var/spool/apt-mirror/var/cron.log

chmod 755 /etc/cron.d/apt-mirro

http 프로토콜을 통해 패키지를 가져갈 수 있도록 설정.
ln -s /srv/www/yakkety.fw.fairux.net/yakkety_namo_pkg/mirror/kr.archive.ubuntu.com/ubuntu/ /srv/www/yakkety.fw.fairux.net/ubuntu

error 1
========
/bin/sh: 0: Can't open /srv/www/yakkety.fw.fairux.net/yakkety_namo_pkg/var/postmirror.sh

vi /srv/www/yakkety.fw.fairux.net/yakkety_namo_pkg/var/postmirror.sh
#!/bin/sh
/srv/www/yakkety.fw.fairux.net/yakkety_namo_pkg/var/clean.sh
#rsync -avz --bwlimit=512 rsync://fr.archive.ubuntu.com/ubuntu/dists/wily/main/installer-amd64 /var/www/

rsync -avz --bwlimit=512 rsync://kr.archive.ubuntu.com/ubuntu/dists/yakkety/main/installer-amd64 /srv/www/yakkety.fw.fairux.net/ubuntu/main

chmod +x postmirror.sh chlan.sh

참고
https://github.com/apt-mirror/apt-mirror/blob/master/postmirror.sh
https://help.ubuntu.com/community/Rsyncmirror


클라이언트 설정
===============
vi /etc/apt/sources.list
deb http://yakkety.fw.fairux.net/ubuntu yakkety universe
deb http://yakkety.fw.fairux.net/ubuntu yakkety main restricted
deb http://yakkety.fw.fairux.net/ubuntu yakkety-updates main restricted

여러개의 저장수를 둘 경우
sudo apt-mirror /etc/apt/mirror_12.04.list ----> 버전별 밀러 구성 

다른 방법 :  apt-cache
apt-cacher는 이름처럼 클라이언트가 요청한 적이 있었던 패키지들을 보관했다가 클라이언트가 해당 패키지를 요구할 때 제공하는 방식이다.

apt-get install apt-cacher

접근 권한 설정
vi /etc/apa-cacher/apt-cacher.conf 파일의 allowed_host와 denied_hosts 항목으로 캐시에 접근 가능/불가 호스트를 지정할 수 있다.
만약 해당 항목을 수정했다면 apt-cacher 재시작

클라이언트 설정
 /etc/apt/apt.conf.d/90-apt-proxy.conf 파일을 만들어 아래 내용을 넣습니다.

 Acquire::http::Proxy "http://서버IP:3142";

댓글 없음:

댓글 쓰기