Skip to content

Instantly share code, notes, and snippets.

@ensup
Forked from lesstif/change-ubuntu-mirror.sh
Last active November 22, 2021 15:57
Show Gist options
  • Save ensup/667b96e4904ca615950798f01a9916b5 to your computer and use it in GitHub Desktop.
Save ensup/667b96e4904ca615950798f01a9916b5 to your computer and use it in GitHub Desktop.
우분투(ubuntu)의 apt 기본 미러(mirror)를 다음 카카오(kakao), 카이스트(kaist), 부경대(harukasan) 으로 변경 (HTTPS 적용)
#!/usr/bin/env bash
SL=/etc/apt/sources.list
PARAM="r:hm:dna"
KAKAO=mirror.kakao.com
KAIST=ftp.kaist.ac.kr
HARU=ftp.harukasan.org
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[sources.list] : specify source list file (default ${SL})"
echo "-m[mirror-url] : speficy mirror site url"
echo "-k : use kakao mirror (${KAKAO})"
echo "-n : use kaist mirror (${KAIST})"
echo "-a : use harukasan mirror (${HARU})"
exit 0;
}
REPOS=${KAKAO}
while getopts $PARAM opt; do
case $opt in
r)
echo "-r option was supplied. OPTARG: $OPTARG" >&2
SL=$OPTARG;
;;
m)
echo "Using mirror repository(${OPTARG})." >&2
REPOS=${OPTARG}
;;
k)
echo "Using Kakao repository(${KAKAO})." >&2
REPOS=${KAKAO}
;;
n)
echo "Using kaist repository(${KAIST})." >&2
REPOS=${KAIST}
;;
a)
echo "Using harukasan repository(${HARU})." >&2
REPOS=${HARU}
;;
h)
usage;
;;
esac
done
echo "using repository(${REPOS})"
## change mirror
sed -i.bak -re "s/([a-z]{2}.)?archive.ubuntu.com|security.ubuntu.com/${REPOS}/g" ${SL}
#HTTPS 적용
sed -i 's|http:|https:|g' ${SL}
## check
apt update
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment