Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
우분투(ubuntu)의 apt 기본 미러(mirror)를 다음 카카오(kakao), 카이스트(kaist), 부경대(harukasan) 으로 변경
#!/usr/bin/env bash
SL=/etc/apt/sources.list
PARAM="r:hm:dnak"
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}
## check
apt update
@realmovestar
Copy link

realmovestar commented Dec 11, 2018

이건 어떨까요 (sed -i option)
sed -E -e 's/(us.)?archive.ubuntu.com/ftp.daumkakao.com/g' -e 's/security.ubuntu.com/ftp.daumkakao.com/g' -i.org ${SL}

@GODGANG4885
Copy link

GODGANG4885 commented Feb 7, 2019

다음 카카오 서버 주소가 mirror.kakao.com으로 바꼈네요
sudo sed -i -re 's/([a-z]{2}.)?archive.ubuntu.com|security.ubuntu.com/mirror.kakao.com/g' /etc/apt/sources.list

@lesstif
Copy link
Author

lesstif commented Feb 14, 2019

의견 주신대로 카카오 서버 주소 바꾸고 여러 미러 지정하는 옵션도 추가 했습니다.

카카오 사용

sudo bash ./change-ubuntu-mirror.sh -k

kaist 사용

sudo bash ./change-ubuntu-mirror.sh -n

부경대 사용

sudo bash ./change-ubuntu-mirror.sh -a

@saeparan
Copy link

saeparan commented Mar 8, 2019

굳굳

@lesstif
Copy link
Author

lesstif commented Mar 21, 2019

CentOS 미러 변경은 change-centos-mirror.sh를 참고하세요.

@meesokim
Copy link

meesokim commented Dec 27, 2019

Could you please modify /bin/sh to /bin/bash for more clear?

@lesstif
Copy link
Author

lesstif commented Jun 24, 2021

Rocky Linux 미러 변경은 change rocky mirror 을 참고하세요.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment