OS/Linux

Mirror repository server setup

LukeHan1128 2022. 6. 4. 20:00
반응형

 

환경 구성

OS : HamoniKR SUN (ubuntu 18.04)

 

 

 

 

설치

sudo apt-get install apache2 apt-mirror

mirror 서버를 구축하기 위해 apache2 와 apt-mirror 를 설치합니다.

 

 

 

 

mirror 설정

sudo mkdir /repos

mirror repository 를 구축할 디렉토리를 생성합니다.

 

 

 

 

sudo vi /etc/apt/mirror.list

위와 같이 입력하여 apt-mirror 설정을 진행합니다.

 

 

############# 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 base_path /repos
set nthreads 20
set _tilde 0
#
############# end config ##############

deb-amd64 http://archive.ubuntu.com/ubuntu bionic main restricted universe multiverse
deb-amd64 http://archive.ubuntu.com/ubuntu bionic-security main restricted universe multiverse
deb-amd64 http://archive.ubuntu.com/ubuntu bionic-updates main restricted universe multiverse

deb-i386 http://archive.ubuntu.com/ubuntu bionic main restricted universe multiverse
deb-i386 http://archive.ubuntu.com/ubuntu bionic-security main restricted universe multiverse
deb-i386 http://archive.ubuntu.com/ubuntu bionic-updates main restricted universe multiverse

deb-src http://archive.ubuntu.com/ubuntu/ bionic main restricted universe multiverse

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

deb-i386  http://packages.linuxmint.com/ una main upstream import
deb-amd64 http://packages.linuxmint.com/ una main upstream import

apt-mirror 를 설정합니다.

mirror 생성을 할 repository 를 추가할 수 있습니다.

해당 문서에서는 ubuntu bionic 과 linuxmint una repository 를 추가하였습니다. 

 

 

 

 

sudo apt-mirror

위와 같이 입력하여 mirror server 구축을 진행합니다.

 

 

Downloading 486 index files using 20 threads...
Begin time: Wed Mar  2 21:49:50 2022
[20]... [19]... [18]... [17]... [16]... [15]... [14]... [13]... [12]... [11]... [10]... [9]... [8]... [7]... [6]... [5]... [4]... [3]... [2]... [1]... [0]... 
End time: Wed Mar  2 21:50:41 2022

Processing translation indexes: [TTTTTTTTTTTTTTTTT]

Downloading 534 translation files using 20 threads...
Begin time: Wed Mar  2 21:50:42 2022
[20]... [19]... [18]... [17]... [16]... [15]... [14]... [13]... [12]... [11]... [10]... [9]... [8]... [7]... [6]... [5]... [4]... [3]... [2]... [1]... [0]... 
End time: Wed Mar  2 21:50:50 2022

Processing DEP-11 indexes: [DDDDDDDDDDDDDDDDD]

Downloading 24 dep11 files using 20 threads...
Begin time: Wed Mar  2 21:50:50 2022
[20]... [19]... [18]... [17]... [16]... [15]... [14]... [13]... [12]... [11]... [10]... [9]... [8]... [7]... [6]... [5]... [4]... [3]... [2]... [1]... [0]... 
End time: Wed Mar  2 21:50:52 2022

Processing indexes: [SPPPPPPPPPPPPPPPPP]

5.5 GiB will be downloaded into archive.
Downloading 882 archive files using 20 threads...
Begin time: Wed Mar  2 21:51:04 2022
[20]... [19]... [18]... [17]... [16]... [15]... [14]... [13]... [12]... [11]... [10]... [9]... [8]... [7]... [6]... [5]... [4]... [3]... [2]... [1]... [0]... 
End time: Wed Mar  2 21:54:28 2022

0 bytes in 0 files and 5 directories can be freed.
Run /repos/var/clean.sh for this purpose.

Running the Post Mirror script ...
(/var/spool/apt-mirror/var/postmirror.sh)


Post Mirror script has completed. See above output for any possible errors.

명령어를 입력하면 위와 같이 출력 됩니다.

구축을 위한 다운로드 시간은 인터넷 속도에 따라 다릅니다.

 

 

 

 

crontab 설정

sudo crontab -e

 

mirror 서버 동기화를 위해 위와 같이 입력하여 crontab 설정을 진행합니다.

 

 

0 4 * * *	apt-mirror /usr/bin/apt-mirror > /var/spool/apt-mirror/var/cron.log

매일 4시에 구동하도록 위와 같이 설정을 추가합니다.

 

 

 

 

apache 설정

sudo vi /etc/apache2/site-enabled/000-default.conf

mirror 서버 배포를 위해 위와 같이 입력하여 apache 설정을 진행합니다.

 

 

before)
DocumentRoot /var/www/html


after)
DocumentRoot /var/www

설정 정보를 위와 같이 수정합니다.

 

 

sudo service apache2 restart

설정을 적용하기 위해 apache 를 재시작 합니다.

 

 

 

 

cd /var/www

ln -s /repos/mirror/archive.ubuntu.com/ubuntu/ ubuntu
ln -s /repos/mirror/packages.linuxmint.com/ mint
ln -s /repos/mirror/security.ubuntu.com/ubuntu/ security
ln -s /repos/mirror/archive.canonical.com/ubuntu/ archives

위와 같이 입력하여 apache 접근 시 mirror 서버에 접근할 수 있도록 link 를 생성합니다.

 

 

 

 

client 설정

sudo vi /etc/apt/sources.list.d/official-package-repositories.list

생성한 mirror 서버를 사용하기 위해 client pc 에서 위와 같이 입력하여 설정을 진행합니다.

 

 

 

 

deb http://ip.of.web.server/mint una main upstream import backport
deb http://ip.of.web.server/ubuntu bionic main restricted universe multiverse
deb http://ip.of.web.server/security bionic-security main restricted universe multiverse
deb http://ip.of.web.server/archives bionic partner

mirror server 정보를 입력하여 위와 같은 형식으로 추가합니다.

 

 

 

 

sudo apt-get clean
sudo apt-get update

설정 정보를 반영하기 위해 위와 같이 입력하여 mirror 서버 정보를 반영합니다.

 

 

 

 

 

 

참고

https://tuxtrix.com/setup-local-repositories-linux-mint-18-x/

 

반응형