Computer >> 컴퓨터 >  >> 시스템 >> Linux

Arch Linux 미러리스트 업데이트 완벽 가이드: reflector부터 자동화까지

Arch Linux를 사용 중인데, 인터넷 속도는 빠른데도 불구하고 간단한 업데이트에 시간이 너무 오래 걸린다고 느낀 적이 있나요? 그 원인은 오래되었거나 정렬이 잘못된 미러리스트(mirrorlist)일 가능성이 큽니다. 미러리스트를 최신 상태로 유지하면 시스템이 훨씬 원활하게 작동합니다. 이번 글에서는 Arch Linux 미러리스트가 무엇인지, 그리고 다양한 방법으로 어떻게 업데이트하는지 자세히 알아보겠습니다.

Arch Linux 미러리스트란 무엇인가?

패키지 관리자인 pacman에게 Firefox 업데이트나 최신 리눅스 커널 설치를 명령하면, pacman이 알아서 클라우드에서 파일을 가져오는 것처럼 보이지만 실제로는 아닙니다. pacman은 전 세계 어딘가에 있는 특정 서버에 접속해 해당 파일을 다운로드해야 합니다. 이러한 서버를 '미러(mirror)'라고 부릅니다.

즉, Arch Linux 미러는 공식 Arch Linux 저장소의 복사본을 호스팅하는 서버입니다. 전 세계에 수백 개의 미러가 흩어져 있으며, 일부는 대학교에서, 일부는 ISP(인터넷 서비스 제공업체)에서, 또 다른 일부는 헌신적인 리눅스 애호가들이 운영합니다.

Arch Linux 미러리스트 업데이트 완벽 가이드: reflector부터 자동화까지

미러리스트 자체는 시스템 내 /etc/pacman.d/mirrorlist 경로에 위치한 단순한 텍스트 파일입니다. 지금 이 파일을 열어보면 각기 다른 미러를 가리키는 긴 웹 주소 목록을 볼 수 있습니다. pacman은 이 목록을 위에서 아래로 읽으면서 첫 번째로 사용 가능한 미러에 연결을 시도합니다. 만약 그 미러가 느리거나 오프라인 상태이거나 한동안 동기화되지 않았다면, 다운로드 속도가 현저히 느려지거나 실패하게 됩니다. pacman -Syu 명령을 실행하거나 새 패키지를 설치할 때마다 pacman은 이 미러들로부터 패키지를 가져옵니다.

게다가 Arch는 미러를 속도나 지역 기준으로 자동 정렬하지 않습니다. 즉, 더 빠른 미러가 목록 하단에 유휴 상태로 놓여 있는 동안에도 지구 반대편 서버에서 패키지를 받고 있을 수 있다는 뜻입니다. 결국 미러리스트가 시스템이 소프트웨어를 어디서 가져올지 결정하는 셈입니다. 잘 관리된 미러리스트는 업데이트를 빠르고 안정적으로 만들지만, 방치된 미러리스트는 모든 업데이트를 인내심 시험으로 만들어 버립니다.

그렇다면 왜 이렇게 많은 미러가 필요할까요? 미러들은 부하를 분산시키고, 중복성을 확보하며, 지리적 다양성을 제공함으로써 전 세계 사용자가 효율적으로 패키지에 접근할 수 있도록 하기 때문입니다.

미러리스트를 업데이트해야 하는 이유

미러리스트를 업데이트해야 하는 이유는 여러 가지입니다. 가장 명확한 이유는 바로 속도입니다. Arch Linux를 설치할 당시 빠랐던 서버가 오늘날에는 과부하 상태일 수 있습니다. 해당 서버가 유지보수 중이거나 단순히 컨디션이 좋지 않은 경우도 있습니다. 특히 느리거나 오래된 하드웨어에서는 그 차이가 체감됩니다.

또 다른 흔한 문제는 'failed retrieving file' 오류입니다. 이는 일부 미러가 메인 Arch 저장소보다 동기화가 늦기 때문에 발생합니다. pacman이 요청한 패키지 버전을 해당 미러가 아직 가지고 있지 않으면 문제가 생깁니다.

Arch Linux 미러리스트 업데이트 완벽 가이드: reflector부터 자동화까지

미러리스트를 업데이트하면 시스템이 현재 기준으로 가장 빠르고 안정적인 서버와 통신하게 됩니다. 최신 미러리스트는 자주 동기화되는 미러를 우선 배치하기 때문에 업데이트 실패나 부분 업데이트 가능성이 줄어듭니다. 인터넷 연결 속도가 평범하더라도 가까운 미러는 대역폭을 충분히 활용할 수 있는 반면, 먼 미러는 대체로 그렇지 못합니다.

또한 Arch는 롤링 릴리스(rolling release) 모델을 따르기 때문에 업데이트 빈도가 매우 잦습니다. 따라서 미러리스트를 최신으로 유지하는 것은 캐시를 비우거나 디스크 여유 공간을 확인하는 것처럼 정기적인 시스템 관리의 자연스러운 일부라고 할 수 있습니다.

reflector로 미러리스트 업데이트하기

Arch Linux 미러리스트를 업데이트하는 방법은 여러 가지가 있지만, 가장 효율적인 방법은 reflector 도구를 사용하는 것입니다. 이 도구는 처음부터 Arch Linux 미러 관리를 위해 설계되었으며, 최신 미러 데이터를 가져오고 속도와 동기화 상태를 기준으로 미러를 테스트한 후 깔끔한 미러리스트를 생성해 줍니다.

무엇이든 변경하기 전에 기존 미러리스트를 백업하세요. 터미널을 열고 다음 명령을 실행합니다:

sudo cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.backup

이제 안전합니다. 다음으로 reflector가 설치되어 있는지 확인하고, 없다면 아래 명령으로 설치합니다:

sudo pacman -S reflector
Arch Linux 미러리스트 업데이트 완벽 가이드: reflector부터 자동화까지

reflector는 다양한 플래그(옵션)를 조합해 실행하여 미러 선택을 제어할 수 있습니다. 다음은 빠르고 최신 상태의 미러를 얻기 위한 검증된 명령어입니다:

sudo reflector --country US --protocol https --latest 10 --sort rate --save /etc/pacman.d/mirrorlist

이 명령은 최근에 동기화된 미러들을 선택하고, 다운로드 속도 기준으로 정렬한 뒤 결과를 미러리스트 파일에 직접 저장합니다. US를 자신의 국가 코드로 바꾸거나, 글로벌 미러를 선호한다면 국가 옵션을 아예 제거해도 됩니다.

실행 후에는 pacman 데이터베이스를 새로 고칩니다:

sudo pacman -Syu

실행 직후 속도 차이를 바로 체감할 수 있을 것입니다.

타이머를 이용한 자동 미러 업데이트

백그라운드에서 조용히 자동으로 처리되기를 원한다면 미러 업데이트를 자동화할 수도 있습니다. 다행히 Reflector에는 이 작업을 대신 수행해 주는 systemd 서비스가 내장되어 있습니다.

먼저 선호하는 편집기로 설정 파일을 엽니다:

nano /etc/xdg/reflector/reflector.conf
Arch Linux 미러리스트 업데이트 완벽 가이드: reflector부터 자동화까지

파일에 자신의 선호 설정(국가, rate 기준 정렬 등)을 추가한 뒤, 타이머를 활성화합니다:

sudo systemctl enable reflector.timer
sudo systemctl start reflector.timer

기본적으로 이 타이머는 매주 미러리스트를 자동 갱신해 줍니다. 신경 쓰지 않아도 항상 신선한 미러 목록을 유지할 수 있습니다.

: archinstall로 Arch Linux를 새로 설치한다면 설치 과정에서 미러 선택을 함께 처리할 수 있습니다. 가장 가까운 지역을 선택하면 첫날부터 괜찮은 미러리스트를 얻을 수 있습니다. 그럼에도 설치 후 미러를 다시 점검하는 습관은 여전히 좋습니다.

수동으로 미러리스트 생성하기

추가 도구 설치를 원하지 않는다면 설정 파일을 직접 편집해 미러리스트를 수동으로 생성할 수도 있습니다. 우선 공식 Arch Linux 미러리스트 생성기 웹사이트를 이용해 목록을 만들어야 합니다. 해당 사이트에서 자신의 조건에 맞는 목록을 생성한 후 텍스트를 복사합니다.

Arch Linux 미러리스트 업데이트 완벽 가이드: reflector부터 자동화까지

다음으로 텍스트 편집기로 미러리스트 파일을 엽니다:

sudo nano /etc/pacman.d/mirrorlist

파일의 모든 내용을 삭제하고(반드시 백업을 먼저 했는지 확인하세요), 웹사이트에서 복사한 새 텍스트를 붙여넣은 후 저장합니다.

저장 후 다음 명령을 실행합니다:

sudo pacman -Syyu

이렇게 하면 pacman이 업데이트된 미러 순서를 기준으로 패키지 데이터베이스를 강제로 새로 고칩니다. 수동 편집도 물론 가능하지만, 지속적인 관리가 필요하다는 단점이 있습니다.

또 다른 방법으로, 원하는 특정 국가의 모든 서버 주석을 해제한 뒤 그 파일을 rankmirrors 명령에 파이프로 넘기는 방식도 있습니다. 다만 이 스크립트는 테스트를 위해 모든 서버에서 데이터를 하나씩 다운로드해야 하므로 시간이 오래 걸립니다. Reflector가 훨씬 빠르고 스마트하므로, 가능하다면 Reflector를 사용하는 것이 좋습니다.

마무리

Arch Linux 미러리스트 업데이트는 사소한 유지보수 작업처럼 보이지만, 시스템에 미치는 영향은 상당히 큽니다. 빠르고 안정적인 미러는 신속한 업데이트와 원활한 설치를 의미하며, 패키지 다운로드를 기다리는 시간도 줄여 줍니다. 나아가 Arch Linux를 더욱 안정적으로 만드는 다양한 방법들도 함께 학습해 두면 도움이 됩니다.