logo

한국어

로컬 yum repository 구축 및 사용

관리자 2019.08.07 09:49 조회 수 : 7

■ 로컬 yum repository 서버 구축하기
#!/bin/bash
######################################################################
#
# CentOS 미러링 서버와 연결하여 rsync로 동기화 한다.
# 동기화 된 자료는 /var/www/centos에 저장된다.
#
######################################################################
LOCAL_REPO_PATH="/var/www/centos"

function rsync_centos_repo() {
  if [ ! -d ${LOCAL_REPO_PATH} ]
  then
    mkdir -pv ${LOCAL_REPO_PATH}
  fi

  rsync -avrtz --delete --force \
${1} \
--exclude=debug/ \
--exclude=i386/ \
--exclude=isos/ \
--exclude=centosplus/ \
--exclude=cloud/ \
--exclude=contrib/ \
--exclude=cr/ \
--exclude=extras/ \
--exclude=fasttrack/ \
--exclude=isos/ \
--exclude=sclo/ \
--exclude=storage/ \
--exclude=virt/ \
${LOCAL_REPO_PATH}

chown -R armbian:armbian ${LOCAL_REPO_PATH}
}

rsync_centos_repo "rsync://ftp.kaist.ac.kr/CentOS/6.10"
rsync_centos_repo "rsync://ftp.kaist.ac.kr/CentOS/7.7.1908"

 

 

 

■ 로컬 yum repository 서버 사용하기

#!/bin/sh

# 로컬 repository 서버의 IP주소
LOCAL_REPO_IP=10.10.10.107

# 기존 yum repository 정보를 모두 백업 한다.
cp -Rfv /etc/yum.repos.d /etc/yum.repos.d.orig

# 기존 yum repository 정보를 모두 삭제 한다.
rm -rf /etc/yum.repos.d/*
rm -f /etc/yum.repos.d.orig/${LOCAL_REPO_IP}.repo

# 새로운 yum repository 정보를 작성한다.
echo "[base]" > /etc/yum.repos.d/${LOCAL_REPO_IP}.repo
echo "name=localrepo - base" >> /etc/yum.repos.d/${LOCAL_REPO_IP}.repo
echo "baseurl=http://${LOCAL_REPO_IP}/centos/6.10/os/\$basearch/" >> /etc/yum.repos.d/${LOCAL_REPO_IP}.repo
echo "enabled=1" >> /etc/yum.repos.d/${LOCAL_REPO_IP}.repo
echo "gpgcheck=0" >> /etc/yum.repos.d/${LOCAL_REPO_IP}.repo
echo >> /etc/yum.repos.d/${LOCAL_REPO_IP}.repo
echo "[updates]" >> /etc/yum.repos.d/${LOCAL_REPO_IP}.repo
echo "name=localrepo - updates" >> /etc/yum.repos.d/${LOCAL_REPO_IP}.repo
echo "baseurl=http://${LOCAL_REPO_IP}/centos/6.10/updates/\$basearch/" >> /etc/yum.repos.d/${LOCAL_REPO_IP}.repo
echo "enabled=1" >> /etc/yum.repos.d/${LOCAL_REPO_IP}.repo
echo "gpgcheck=0" >> /etc/yum.repos.d/${LOCAL_REPO_IP}.repo

# 정상적으로 작동하는지 테스트 한다.
clear
yum repolist