Mirror repository server setup
환경 구성
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/