#!/bin/bash ############################################################ # # CentOS/Rocky Linux # yum repository 사이트 동기화 스크립트 # ############################################################ LOCAL_BASE_DIR="/mnt/usbdisk/repo" ############################################################ # 불필요한 파일 제한 ############################################################ #EXCLUDE_LIST="\ #--exclude HEADER.images/ \ #--exclude Source/ \ #--exclude atomic/ \ #--exclude centosplus/ \ #--exclude cloud/ \ #--exclude configmanagement/ \ #--exclude contrib/ \ #--exclude cr/ \ #--exclude debug/ \ #--exclude dotnet/ \ #--exclude extras/ \ #--exclude fasttrack/ \ #--exclude i386/ \ #--exclude infra/ \ #--exclude isos/ \ #--exclude messaging/ \ #--exclude nfv/ \ #--exclude opstools/ \ #--exclude paas/ \ #--exclude rt/ \ #--exclude sclo/ \ #--exclude storage/ \ #--exclude virt" EXCLUDE_LIST="\ --exclude Source/ \ --exclude debug/ \ --exclude dotnet/ \ --exclude extras/ \ --exclude fasttrack/ \ --exclude i386/ \ --exclude isos/ \ --exclude opstools/ \ --exclude storage/ \ --exclude virt/" if [ ! -d ${LOCAL_BASE_DIR} ] then echo "${LOCAL_BASE_DIR} not found !" exit fi # CentOS 6.10 #MIRROR_SITE="https://vault.centos.org" #REMOTE_DIR="/6.10" #LOCAL_DIR="${LOCAL_BASE_DIR}/centos/6.10" #mkdir -p ${LOCAL_DIR} > /dev/null #if ! pgrep -x "lftp" > /dev/null #then # lftp -e "cache off; set file:charset utf-8; set net:timeout 60; set net:reconnect-interval-base 5; set net:max-retries 10; mirror ${EXCLUDE_LIST} -e -v ${REMOTE_DIR} ${LOCAL_DIR}; exit" ${MIRROR_SITE} #fi # CentOS 7.5.1804 #MIRROR_SITE="https://vault.centos.org" #REMOTE_DIR="/7.5.1804" #LOCAL_DIR="${LOCAL_BASE_DIR}/centos/7.5.1804" #mkdir -p ${LOCAL_DIR} > /dev/null #if ! pgrep -x "lftp" > /dev/null #then # lftp -e "cache off; set file:charset utf-8; set net:timeout 60; set net:reconnect-interval-base 5; set net:max-retries 10; mirror ${EXCLUDE_LIST} -e -v ${REMOTE_DIR} ${LOCAL_DIR}; exit" ${MIRROR_SITE} #fi # CentOS 7.9.2009 #MIRROR_SITE="http://mirror.kakao.com" #REMOTE_DIR="/centos/7.9.2009" #LOCAL_DIR="${LOCAL_BASE_DIR}/centos/7.9.2009" #mkdir -p ${LOCAL_DIR} > /dev/null #if ! pgrep -x "lftp" > /dev/null #then # lftp -e "cache off; set file:charset utf-8; set net:timeout 60; set net:reconnect-interval-base 5; set net:max-retries 10; mirror ${EXCLUDE_LIST} -e -v ${REMOTE_DIR} ${LOCAL_DIR}; exit" ${MIRROR_SITE} #fi # Rocky Linux 8.8 MIRROR_SITE="http://mirror.navercorp.com" REMOTE_DIR="/rocky/8.8" LOCAL_DIR="${LOCAL_BASE_DIR}/rocky/8.8" mkdir -p ${LOCAL_DIR} > /dev/null if ! pgrep -x "lftp" > /dev/null then lftp -e "cache off; set file:charset utf-8; set net:timeout 60; set net:reconnect-interval-base 5; set net:max-retries 10; mirror ${EXCLUDE_LIST} -e -v ${REMOTE_DIR} ${LOCAL_DIR}; exit" ${MIRROR_SITE} fi
#!/bin/bash ############################################################ # # CentOS yum repository 셋팅 스크립트 # ############################################################ CURRENT_TIME=`date "+%Y%m%d_%H%M%S"` # 로컬 repository 서버의 IP주소 REMOTE_REPO_ADDR="10.10.10.111" REMOTE_PATH="https://${REMOTE_REPO_ADDR}/centos/7.9.2009" # 기존 yum repository 정보를 모두 백업 한다. cp -Rfv /etc/yum.repos.d /etc/yum.repos.d.${CURRENT_TIME} # 기존 yum repository 정보를 모두 삭제 한다. rm -rf /etc/yum.repos.d/* # 새로운 yum repository 정보를 작성한다. echo "[base]" > /etc/yum.repos.d/${REMOTE_REPO_ADDR}.repo echo "name=localrepo - base" >> /etc/yum.repos.d/${REMOTE_REPO_ADDR}.repo echo "baseurl=${REMOTE_PATH}/os/\$basearch/" >> /etc/yum.repos.d/${REMOTE_REPO_ADDR}.repo echo "enabled=1" >> /etc/yum.repos.d/${REMOTE_REPO_ADDR}.repo echo "gpgcheck=0" >> /etc/yum.repos.d/${REMOTE_REPO_ADDR}.repo echo "sslverify=0" >> /etc/yum.repos.d/${REMOTE_REPO_ADDR}.repo echo >> /etc/yum.repos.d/${REMOTE_REPO_ADDR}.repo echo "[updates]" >> /etc/yum.repos.d/${REMOTE_REPO_ADDR}.repo echo "name=localrepo - updates" >> /etc/yum.repos.d/${REMOTE_REPO_ADDR}.repo echo "baseurl=${REMOTE_PATH}/updates/\$basearch/" >> /etc/yum.repos.d/${REMOTE_REPO_ADDR}.repo echo "enabled=1" >> /etc/yum.repos.d/${REMOTE_REPO_ADDR}.repo echo "gpgcheck=0" >> /etc/yum.repos.d/${REMOTE_REPO_ADDR}.repo echo "sslverify=0" >> /etc/yum.repos.d/${REMOTE_REPO_ADDR}.repo # 정상적으로 작동하는지 테스트 한다. clear yum repolist