Skip to content

Instantly share code, notes, and snippets.

@kimlulz
Forked from lesstif/change-centos-mirror.sh
Created August 2, 2021 04:55
Show Gist options
  • Save kimlulz/f8b98bf6d2ee21332ee4d183030f55a2 to your computer and use it in GitHub Desktop.
Save kimlulz/f8b98bf6d2ee21332ee4d183030f55a2 to your computer and use it in GitHub Desktop.
change centos mirror to korea's portal.(CentOS 를 카카오와 네이버로 변경)
#!/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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment