Ubuntu14.04우분투 미러 리포지터리 만들기

우분투 버전 12.04, 14.04 테스트

필요대상 :
우분투 서버를 몇 개 이상 이용하는 사람

설치순서 :
—————-우분투 미러 생성 패키지 설치——————–
$ sudo apt-get install apt-mirror
설정파일 편집
/etc/apt/mirror.list

14.04에서 설정파일은 다음과 같다

############# config ##################
#
# set base_path    /var/spool/apt-mirror
#
# 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 http://archive.ubuntu.com/ubuntu trusty main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu trusty-security main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu trusty-updates main restricted universe multiverse
#deb http://archive.ubuntu.com/ubuntu trusty-proposed main restricted universe multiverse
#deb http://archive.ubuntu.com/ubuntu trusty-backports main restricted universe multiverse

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

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

– 리포지터리를 추가하려면 목록을 추가하면 된다
– basepath 등 윗쪽 설정을 변경하면 파일 저장경로를 변경할 수 있다. 파티션을 나눠놔서 용량이 부족할 수 있다변 필히 설정해줘야 할 부분. 디렉토리를 변경했다면 mkdir을 해준다. 자동으로 안되는 모양이다.
– 32/64 리포지터리를 두개다 저장하지 않고 한쪽만 하려면 이것을 명시해줄 수 있다. 그런데 이거 64비트로 깔고 써도 두개가 같이 깔리는게 있던데 호환성 문제가 발생 할 수 있지 않을까 싶다. (이런모양 deb-amd64 http://archive.ubuntu.com/ubun……….)

기본설정된거 쓰지말고 서버에서 사용되고있는 리포지터리 목록을 갖다붙이자
용량이 부족하면 src부분은 다 빼도된다? 되지 않을까?

 

미러링 시작!
$ sudo nano /etc/apt/mirror.list
명령을 입력하면 아래와 같은 모양으로 업데이트가 시작된다. 시간이 꽤 걸리는편이니 기다리지 말자

$ sudo apt-mirror /etc/apt/mirror.list
Downloading 162 index files using 20 threads...
Begin time: Thu Jun 12 10:21:40 2014
[20]... [19]... [18]... [17]... [16]... [15]... [14]... [13]... [12]... [11]... [10]... [9]... [8]... [7]... [6]... [5]...

설정을 잘못하고 실행시킨 경우 다음과 같은 에러메세지를 보게 된다(고한다)
apt-mirror is already running, exiting at /usr/bin/apt-mirror line 187.
이런경우 설정파일을 고치고 다시 실행을 해도 실행이 되지 않으니 /spare/var/apt-mirror.lock이 파일을 먼저 지워줘야된다.

—————-/우분투 미러 생성 패키지 설치——————–
—————-미러 자동업데이트——————–
주의! 테스트서버가 아닌 실제운영 서버라면, 그중에서도 우분투 공식리포지터리가 아닌 개발자 리포지터리에서 패키지를 설치했다면 버전을 고정시킬 필요가 있다. 이런경우에는 미러를 운영용/테스트용으로 두개를 돌려서 테스트용에서 안정성이 확보된 이후에 사용하는게 좋다. 꼭 수동으로 할 필요는 없지만 안전장치는 필요하다. 운영서버의 10%만 최신업데이트를 해서 뻑이나면 그부분만 갈아엎는다던가 추가조치는 알아서~

위에 설정한 mirror.list를 기반으로 미러 업데이트 크론 설정
실행을 시킬 때 $ apt-mirror 만 치면 기본적으로 mirror.list를 쓴다

$ sudo nano /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
----------------------------
$ sudo chmod 755 /etc/cron.d/apt-mirror

또는 /etc/cron.daily/~ 경로에 apt-mirror.sh형태로 넣어도 된다.
!#/bin/bash
apt-mirror /usr/bin/apt-mirror > /var/spool/apt-mirror/var/cron.log

—————-/미러 자동업데이트——————–
—————-http서비스——————–
우분투 서버에 접속해봤을 때 아파치서버로 접속이 된다면 패쓰
아님 아파치 서버 설치
sudo apt-get install apache2
이렇게 하면 간편하긴한데… 아파치 설정할 줄 알면 따로 하는게 좋다.
sudo ln -s /spare/mirror/gb.archive.ubuntu.com/ubuntu/ /var/www/ubuntu
—————-/http서비스——————–
—————-apt-get소스목록수정——————–
/etc/apt/sources.list 요 파일을 수정해주면 이제 미러서버를 통해서 업데이트를 하게 된다. 속도가 한결 빠른걸 볼 수 있다.

deb http://us.archive.ubuntu.com/ubuntu/ trusty universe
여기서 그냥 자기서버주소로 바꿔주면 된다.
deb http://localhost/ubuntu/ trusty universe
기본미러목록에 security는 없었으므로 security는 유지한다. 아니면 security도 미러링 해서 처리해도되고.. 하는사람마음.
—————-/apt-get소스목록수정——————–

참고사이트

Create Your Own Local Mirror of the Ubuntu Repositories

Leave a Reply

Your email address will not be published.

 characters available