#!/usr/bin/env bash BASE_REPOS=/etc/yum.repos.d/CentOS-Linux-BaseOS.repo PARAM="r:hkn" KAKAO="mirror.kakao.com\/centos" NAVER="mirror.navercorp.com\/centos" if [ "$(id -u)" != "0" ]; then echo "'$0' must be run as root" 1>&2 exit 1 fi function usage { echo "USAGE: $0 [OPTION] "; echo -e "\r\n-b : make backup file"; echo "-r[repostiroy.file] : specify yum repository file (default ${BASE_REPOS})" echo "-k : use kakao mirror (${KAKAO})" echo "-n : use naver mirror (${NAVER})" exit 0; } REPOS=${KAKAO} releasever=$(cat /etc/centos-release | tr -dc '0-9.'|cut -d \. -f1) basearch=x86_64 while getopts $PARAM opt; do case $opt in r) echo "-r option was supplied. OPTARG: $OPTARG" >&2 BASE_REPOS=$OPTARG; ;; k) echo "Using Kakao repository(${REPOS})." >&2 REPOS=${KAKAO} ;; n) echo "Using naver repository(${NAVER})." >&2 REPOS=${NAVER} ;; h) usage; ;; esac done FULL_REPOS="http:\/\/${REPOS}\/${releasever}\/BaseOS\/${basearch}\/os" echo "using repository(${REPOS})" ## change mirror sed -i.bak -re "s/^(mirrorlist(.*))/##\1/g" -re "s/[#]*baseurl(.*)/baseurl=${FULL_REPOS}/" ${BASE_REPOS} ## check yum update