로컬 apt PKG 서버 만들기 트러블슈팅
밀러 서버
우분투 메인서로 부터 모든 패키지를 끌어와 우리 서버의 로컬 하드 드라이브에 저장하는 방법이다.
apt-get install 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
################################################################################################
비트 관련 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
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
두줄 추가 심볼 링크 후에도 같음.
ln -s /srv/www/yakkety.fw.fairux.net/yakkety_namo_pkg/mirror/kr.archive.ubuntu.com/ubuntu/pool /srv/www/yakkety.fw.fairux.net/ubuntu/pool
ln -s /srv/www/yakkety.fw.fairux.net/yakkety_namo_pkg/mirror/kr.archive.ubuntu.com/ubuntu/dists /srv/www/yakkety.fw.fairux.net/ubuntu/dists
error 1 ---> 그냥 무시한 후 클라이언트에서 apt-get update 해본다.
========
/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
# 동일하게 맞춰지만 똑같다.
# rsync -avz --bwlimit=512 rsync://kr.archive.ubuntu.com/ubuntu/dists/yakkety/main/installer-amd64/srv/www/yakkety.fw.fairux.net/yakkety_namo_pkg/mirror/kr.archive.ubuntu.com/ubuntu/dists/yakkety/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";
=====================================================
키링 문제점으로 인한 다시 추가 작업
=====================================================
# -------------------------------------
# Setup the Server
# -------------------------------------
# 자세한 내용은 http://www.zachburlingame.com/2011/05/howto-create-a-local-repository-mirror-on-ubuntu/ 파일 참고.
sudo apt-get install debmirror
mkdir /srv/www/yakkety.fw.fairux.net/mirrorkeyring/
gpg --no-default-keyring --keyring /srv/www/yakkety.fw.fairux.net/mirrorkeyring/trustedkeys.gpg --import /usr/share/keyrings/ubuntu-archive-keyring.gpg
vi /srv/www/yakkety.fw.fairux.net/mirrorbuild.sh
#!/bin/bash
## Setting variables with explanations.
#
# Don't touch the user's keyring, have our own instead
#
export GNUPGHOME=/srv/www/yakkety.fw.fairux.net/mirrorkeyring
arch=i386,amd64
section=main,restricted,universe,multiverse
dist=yakkety,yakkety-updates,yakkety-security
server=kr.archive.ubuntu.com
inPath=:ubuntu
proto=rsync
rsyncoptions="-aIL --partial --bwlimit=100"
outPath=/srv/www/yakkety.fw.fairux.net/ubuntu/
debmirror -a $arch \
--no-source \
-s $section \
-h $server \
-d $dist \
-r $inPath \
--progress \
-e $proto \
--rsync-options="$rsyncoptions" \
$outPath
chmod +x mirrorbuild.sh
./mirrorbuild.sh
apt-mirror
==============
클라이언트 설정
==============
cd /etc/apt
sudo mv sources.list sources.list.orig
sudo sensible-editor sources.list
# Replace 'yakkety.fw.fairux.net' with your server's DNS name
# (e.g. yakkety-repo.test.com)
# -----------------------------------------------------------------------------
# BEGIN SOURCES.LIST
# -----------------------------------------------------------------------------
# Local network mirror sources.
deb http://yakkety.fw.fairux.net/ubuntu yakkety main restricted universe multiverse
deb http://yakkety.fw.fairux.net/ubuntu yakkety-updates main restricted universe multiverse
deb http://yakkety.fw.fairux.net/ubuntu yakkety-security main restricted universe multiverse
# -----------------------------------------------------------------------------
# END SOURCES.LIST
# -----------------------------------------------------------------------------
이 방식이 안될 경우.
==================
sudo useradd -m ubuntu -Gusers,wheel
sudo password ubuntu
su - ubuntu
sudo apt-get update
sudo apt-get install debmirror
ls -al /srv/www/yakkety.fw.fairux.net/ubuntu
sudo chown -R ubuntu:ubuntu /srv/www/yakkety.fw.fairux.net/ubuntu
sudo chmod -R 771 /srv/www/yakkety.fw.fairux.net/ubuntu
위에 방식 또한 안될 경우.
=======================
sudo chown -R ubuntu:ubuntu /srv/www/yakkety.fw.fairux.net//srv/www/yakkety.fw.fairux.net/yakkety_namo_pkg/mirror/
sudo chmod -R 771 /srv/www/yakkety.fw.fairux.net//srv/www/yakkety.fw.fairux.net/yakkety_namo_pkg/mirror/
위에 방식 또한 안될 경우.
=======================
sudo chown -R ubuntu:ubuntu /srv/www/yakkety.fw.fairux.net/yakkety_namo_pkg/
sudo chown -R ubuntu:ubuntu /srv/www/yakkety.fw.fairux.net/yakkety_namo_pkg/
즉, 사용자 권한을 주는데, 아랫에서 하나씩 주어 테스트 해본다.
댓글 없음:
댓글 쓰기