sudo pacman -S pacman-contrib --needed
curl -s "https://archlinux.org/mirrorlist/?country=KR&use_mirror_status=on" | sed -ne 's/#Server\(.*\)/Server\1/p' | rankmirrors -n 3 - | sudo tee /etc/pacman.d/mirrorlist
위 명령은 /etc/pacman.d/mirrorlist 파일에 가장 빠른 3개의 미러를 저장한다.
https://archlinux.org/mirrorlist 사이트는 Archlinux의 공식 미러 목록을 제공한다.
- country=KR
- 나라는 대한민국으로 제한한다.
- use_mirror_status=on
- 미러가 살아있는 것으로 제한한다.
결과
##
## Arch Linux repository mirrorlist
## Filtered by mirror score from mirror status page
## Generated on 2021-11-29
##
## South Korea
#Server = https://ftp.harukasan.org/archlinux/$repo/os/$arch
## South Korea
#Server = https://mirror.premi.st/archlinux/$repo/os/$arch
curl 명령어 사용 시, 위와 같은 결과가 나온다.
필요 없는 정보들을 없애기 위해 sed 명령어를 사용하면 아래와 같은 결과가 출력된다.
Server = https://ftp.harukasan.org/archlinux/$repo/os/$arch
Server = https://mirror.premi.st/archlinux/$repo/os/$arch
위에서 출력된 미러리스트를 빠른 순으로 정렬하기 위해 rankmirrors 명령어를 사용한다.
rankmirrors 명령어는 pacman-contrib 패키지에 포함되어 있다.
- n <NUM> 옵션
- NUM 개수만큼 빠른 순으로 미러를 출력한다.
tee 명령어는 파이프를 통해 넘어온 결과를 출력하는 동시에 파일에 쓴다.
이때, /etc/pacman.d/mirrorlist 파일은 root 권한이 필요하므로, sudo를 사용한다.