FREEDOM. FRIENDS. FEATURES. FIRST.
페도라 한국 사용자 모임

[Fedora 11] Fedora yum 한국 미러(KAIST mirror server) 전환하기

게시판 Tech/Tip [Fedora 11] Fedora yum 한국 미러(KAIST mirror server) 전환하기

  • This topic has 5개 답변, 4명 참여, and was last updated 11 years, 2 months 전에 by 태랑. This post has been viewed 38 times
  • 만든이
    게시글
  • #12020
    태랑
    키 마스터
    • 게시글209
    • 댓글880
    • 총합1089
    • ★★
    @admin

    스크랩 글입니다

    출처 : http://happyday19c.spaces.live.com/blog/cns!BB333E83248181B9!4230.entry?ccr=354#comment

    다른버전에서도 동일하게 사용가능합니다

    안녕하세요. 일전에 Fedora 11 Feature List를 올린 이후로 헥헥 대며, 다음 주제는 무엇으로 정할까 고민하던 드자이너입니다. 이쯤되면 이제 드자이너가 아니라 삽질러라 불러도 될만큼… 삽질만 하고 있습니다… ㅠㅠ

    이번 포스팅은 Fedora의 업데이트 패키지인 Yum의 미러를 한국으로 바꾸는 것이 대해 올려보고자 합니다. 아시다시피 Fedora의 경우 다 좋은데(뭐 리눅스가 사실 다 좋습니다… 다 아시면서^^), 이 놈이 최대 약점은 바로 느린 업데이트 다운로드속도 였다는 것이죠 ㅠㅠ.. Google 검색을 해보아도 리눅스를 데스크톱 운영체제로 널리 알린 Ubuntu와 비교하는 기사를 보면 대부분 Fedora Yum의 느린 다운로드 속도를 꼽고 있습니다.

    다들 아시다시피 Yum은 Fedora에서 만든건 아니고, 원래는 쉽게 패키지를 설치해보자는 생각에서 Duke University의 Dan Burcaw, Bryan Stillwell, Stephen Edie, 그리고 Troy Bengegerdes가 제작한 업데이트용 프로그램입니다. 현재는 GPL로 GNU 프로젝트에 포함되어 이를 채용한 리눅스 배포판의 기본 패키지 관리자로서 활용되고 있죠. 우선 Fedora yum의 속도가 느린 것에 대해서 생각해보자면 기본적으로 다음과 같은 방식으로 저장소에 접근을 하기 때문에 발생합니다.

    1. http://mirrors.fedoraproject.org에 접속하여 미러리스트를 다운로드한다.
    2. 미러리스트를 조회한 후 시스템에 설정된 현재 언어, 혹은 AS(Whois의 ASN을 조회하여 나옵니다. 쉽게말하면 ISP 식별이 가능한 정보이죠)에 따라서 가장 가까운 지역의 미러로 접속한다.
    3. GPG 키등을 확인하고 적합한 저장소인지 확인한 후 메타데이터의 참조 지시에 따라 적절한 위치로 이동해 패키지 정보를 담은 관련 DB를 다운로드한다.
    4. 패키지 정보에 관련된 DB로 검색하려는 패키지를 쿼리한 후, 이에 적합한 패키지를 다운로드하거나 설치하거나 삭제한다.

    대충 이런 얼개입니다. 실제로는 더 복잡하지만, 일단 눈에 보이는 과정은 이렇게 진행됩니다. 백엔드에서 진행되는 것까지 다 설명하자면 제가 완벽히 이해를 하지 못한 것도 있고 해서 검증되지 않은 부정확한 정보를 날리게 될까봐 일단 패스합니다. (태... 태클을 제발 ㅠㅠ) 자 여기서 핵심은 바로 “미러리스트 조회”와 “가장 가까운 지역의 미러”라는 것입니다.

    Fedora의 약점이 바로 여기에서 노출되는데요, 바로 “한국”미러가 예전에는 없었다는 것입니다. 많은 리눅서분들이 애용하는 미러로 다음과 카이스트를 꼽습니다. 특히 다음의 경우에는 거의 모든 배포판 리눅스를 다 서비스하고 있었다고 해도 과언이 아닙니다. 심지어는 윈도우로 포팅된 Cygwin의 모든 바이너리와 소스까지 배포하는 미러이니까요.. 문제는…

    Fedora는 없다!

    아;;; 안습도 이런 안습이 없습니다… 참고로 다음과 카이스트의 미러사이트 주소는 다음과 같습니다.

    다음 미러사이트 - http://ftp.daum.net/
    카이스트 미러사이트 – http://ftp.kaist.ac.kr

    다음과 카이스트는 오픈소스프로젝트를 위해서 정말 큰 일을 하고 있습니다. 그러나 안타깝게도 공식 Fedora Mirror List를 보면 현재에도 한국은 없습니다… 일본의 JAIST(우리나라의 KAIST와 비슷한 곳이라고 생각하시면 됩니다)의 경우에는 각종 리눅스 배포판의 미러에서부터, SourceForge.net의 미러까지 맡아서 하고 있는데, 우리나라의 오픈소스에 대한 지원을 보면 조금 안구에 습기가 차오를려고 합니다. 하지만 실제로 카이스트는 이전 릴리즈에 대해서도 미러링을 해주고 있었습니다. 그런데 왜 리스트에는 없을까요? 아래 기사를 보시면 조금 답이 나오실 겁니다.

    https://bugs.launchpad.net/ubuntu/+bug/144511 - “default korean mirror has been dead for one month”

    제목에서도 보실 수 있듯이 무려 한달이나 서버가 죽어있었다는 사실때문에... 그 외에도 잦은 서버 다운타임이 보고되었다고 합니다. 즉, 불안정하게 운용되고 있다는 점이 크게 작용한 것으로 보입니다. 그래서 공식적인 미러로는 아직 인정을 받지 못하고 있는 것 같습니다. 확실히는 모르겠지만요. 뭐 여차저차해서 불안정하다느니 뭐… 이런 말 다 제껴두고… 어쨌든 운용은 되고 있다! 이겁니다. 그럼 당연히 한국 미러로 접속이 될거 아니냐!라고 생각하시면 아니되옵니다 ㅠㅠ

    image
    안습의 미러 에러들 ㅡㅡㅋ

    보다시피 미러들이 오류가 나면서 오류를 뿜어댑니다. 그냥 kernel하나로 검색해본 것에 불과한데… (물론 이 스샷하나 올려보려고 yum clean all로 다 지웠네요 ㅠㅠ) 게다가 미러는 전혀 한국과는 상관없는 hk(응? 한국? ㅋㅋㅋ 홍콩입니다), jp(일본) 도메인의 미러로 접속이 되고 맙니다. 안구에 습기가 불현듯… 사실 가끔씩은 카이스트의 미러로 접속하기는 했습니다만, 대부분은 저런 외국 도메인으로 접속을 하고 있었습니다. 그렇다면 이제 직접 미러를 바꿔보도록 하겠습니다. (참고로 2009년 6월 27일 현재 Fedora 11의 최신 커널 버전은 2.6.29.5-191-fc11입니다.)

    보통 Fedora의 경우 /etc/yum.repos.d 에 미러에 대한 정보를 가지고 있습니다. 이 파일을 뜯어보면 대충 다음과 같은 내용으로 되어 있습니다.

    fedora.repo – Fedora 11 base repositery

    [fedora]
    name=Fedora $releasever - $basearch
    failovermethod=priority
    #baseurl=http://download.fedoraproject.org/pub/fedora/linux/releases/$releasever/Everything/$basearch/os/
    mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=fedora-$releasever&arch=$basearch
    enabled=1
    metadata_expire=7d
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$basearch

    [fedora-debuginfo]
    name=Fedora $releasever - $basearch - Debug
    failovermethod=priority
    #baseurl=http://download.fedoraproject.org/pub/fedora/linux/releases/$releasever/Everything/$basearch/debug/
    mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=fedora-debug-$releasever&arch=$basearch
    enabled=0
    metadata_expire=7d
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$basearch

    [fedora-source]
    name=Fedora $releasever - Source
    failovermethod=priority
    #baseurl=http://download.fedoraproject.org/pub/fedora/linux/releases/$releasever/Everything/source/SRPMS/
    mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=fedora-source-$releasever&arch=$basearch
    enabled=0
    metadata_expire=7d
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$basearch

    그리고 업데이트의 경우 아래와 같습니다.

    fedora-updates.repo – Fedora 11 Updates base repositery

    name=Fedora $releasever - $basearch - Updates
    failovermethod=priority
    #baseurl=http://download.fedoraproject.org/pub/fedora/linux/updates/$releasever/$basearch/
    mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=updates-released-f$releasever&arch=$basearch
    enabled=1
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$basearch

    [updates-debuginfo]
    name=Fedora $releasever - $basearch - Updates - Debug
    failovermethod=priority
    #baseurl=http://download.fedoraproject.org/pub/fedora/linux/updates/$releasever/$basearch/debug/
    mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=updates-released-debug-f$releasever&arch=$basearch
    enabled=0
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$basearch

    [updates-source]
    name=Fedora $releasever - Updates Source
    failovermethod=priority
    #baseurl=http://download.fedoraproject.org/pub/fedora/linux/updates/$releasever/SRPMS/
    mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=updates-released-source-f$releasever&arch=$basearch
    enabled=0
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$basearch

    rawhide나 updates-testing도 있으나 대부분의 경우 저 두개만 사용하시므로 일단 두개만 보여드리자면 다음과 같은 내용으로 되어 있습니다. 여기에서 핵심은 바로 “baseurl”과 “mirrorlist”입니다. 일반적으로 Fedora 11을 설치 하면 baseurl은 주석처리되어 있고, mirrorlist를 통해서 미러링하여 다운로듣 받도록 되어 있습니다. 물론 처음에는 아무 미러로나 접속할 가능성이 높은데, “yum-fastestmirror” 플러그인을 설치하시면 미러 목록중에서 현재 위치에서 가장 가까운 미러로 자동 접속하도록 해줍니다. 핵심은 여기에 있습니다. 바로 mirrorlist를 비활성화하고, baseurl을 직접 지정해서 사용한다는 것이죠... 참 쉽죠잉? 결국 할일은 그것 뿐입니다. 쉽게 말하자면 다음과 같이 할 수 있다는 것이죠.

    • baseurl의 주석제거 및 mirrorlist를 주석 처리
    • baseurl을 변경

    baseurl은 http://ftp.kaist.ac.kr/fedora/linux 입니다. 이 곳 하위에 이제 release냐(요게 base repositery이죠), 그리고 updates를 정한 이후 설치한 시스템의 architecture에 맞게 수정을 해주는 것입니다. 다음은 수정된 fedora.repos와 fedora-updates.repos 파일입니다.

    fedora.repo – Fedora 11 base repositery from KAIST mirror

    [fedora]
    name=Fedora $releasever - $basearch
    failovermethod=priority
    baseurl=http://ftp.kaist.ac.kr/fedora/linux/releases/$releasever/Everything/$basearch/os/
    #mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=fedora-$releasever&arch=$basearch
    enabled=1
    metadata_expire=7d
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$basearch

    [fedora-debuginfo]
    name=Fedora $releasever - $basearch - Debug
    failovermethod=priority
    baseurl=http://ftp.kaist.ac.kr/fedora/linux/releases/$releasever/Everything/$basearch/debug/
    #mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=fedora-debug-$releasever&arch=$basearch

    enabled=0
    metadata_expire=7d
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$basearch

    [fedora-source]
    name=Fedora $releasever - Source
    failovermethod=priority
    baseurl=http://ftp.kaist.ac.kr/fedora/linux/releases/$releasever/Everything/source/SRPMS/
    #mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=fedora-source-$releasever&arch=$basearch
    enabled=0
    metadata_expire=7d
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$basearch

    그리고 다음은 업데이트 리포지터리 경로입니다.

    fedora-updates.repo – Fedora 11 updates repositery from KAIST mirror

    [updates]
    name=Fedora $releasever - $basearch - Updates
    failovermethod=priority
    baseurl=http://ftp.kaist.ac.kr/fedora/linux/updates/$releasever/$basearch/
    #mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=updates-released-f$releasever&arch=$basearch
    enabled=1
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$basearch

    [updates-debuginfo]
    name=Fedora $releasever - $basearch - Updates - Debug
    failovermethod=priority
    baseurl=http://ftp.kaist.ac.kr/fedora/linux/updates/$releasever/$basearch/debug/
    #mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=updates-released-debug-f$releasever&arch=$basearch
    enabled=0
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$basearch

    [updates-source]
    name=Fedora $releasever - Updates Source
    failovermethod=priority
    baseurl=http://ftp.kaist.ac.kr/fedora/linux/updates/$releasever/SRPMS/
    #mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=updates-released-source-f$releasever&arch=$basearch

    enabled=0
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$basearch

    이렇게 편집하시면 됩니다. 제가 밑줄로 표시한 부분이 바로 바뀐부분이죠. 다른 부분은 손 안댔습니다. 그냥 저렇게 경로하나만 바꿔주셔도 엄청나게 빨라집니다. 보통 Fedora를 DVD로 설치할 경우 설치하면서 업데이트를 다운로드하면서 설치하는 경우가 있긴 한데요, 이 경우 미러 속도로 인해서 안구에 습기가 줄줄 흘렀습니다. 하지만 일단은 DVD로 바로 설치하고 난 다음 바로 미러를 바꿔주시고 업데이트하면 거의 광속의 속도(외국에 접속할 때 비해서죠^^) 업데이트가 가능합니다. 정말 완전 빠릅니다... 놀랄 노!자가 튀어나옵니다...

    허접하고 별거 아닌 정보인데 너무 길게 쓴것 같습니다 ㅠㅠ. 여러분에게 유용한 정보가 되었으면 좋겠습니다. 다음에는 보안에 관해서 몇가지 정보를 올려드리도록 하겠습니다. 그럼 이만 삽질 드자이너 물러갑니다…

     

     

     

    출처 : http://happyday19c.spaces.live.com/blog/cns!BB333E83248181B9!4230.entry?ccr=354#comment

     

    오픈소스를 응원합니다 Blog https://hoing.io
    Senior Database Administrator(Mysql, Oracle)

    사이트 이용 문의 사항은 댓글이나 admin@fedoralinux.or.kr 로 메일주세요

4 답변 글타래를 보이고 있습니다
  • 글쓴이
    답변
    • #12564
      NaughtyL
      참가자
      • 게시글11
      • 댓글43
      • 총합54
      • ★★
      @lsuksl

      # yum -y install  yum-fastestmirror를 설치해서 속도가 빠른 미러를 찾아주는 것보다 이 방법이 더 빠른지도 궁금해졌습니다. 

      ls

    • #12565
      태랑
      키 마스터
      키 마스터
      • 게시글209
      • 댓글880
      • 총합1089
      • ★★
      @admin

      지금 제가 노트북이 갑자기 뻑나서리 오면 테스팅을 해봐야할부분인데 지금까지 전 정확히 기억이

      나질않지만 알아서 kaist로 잡히던기억이;;; 암튼 테스트가 필요한 부분이네요   

      오픈소스를 응원합니다 Blog https://hoing.io
      Senior Database Administrator(Mysql, Oracle)

      사이트 이용 문의 사항은 댓글이나 admin@fedoralinux.or.kr 로 메일주세요

    • #12566
      전마머꼬
      참가자
      • 게시글3
      • 댓글8
      • 총합11
      • ★★
      @infinitekh

      개인적으로는 fastestmirror가 더 빠른것 같습니다.
      한국에서사는데  kaist서버보다 jaist서버가 더 빠르다는 사실에
      좌절하고 있습니다.

    • #12567
      ELem
      참가자
      • 게시글67
      • 댓글672
      • 총합739
      • ★★
      @Bardisch

      원본글 작성자분이 드자이너라시길래...

      제 아는 형인줄알았어요 ㅋㅋ;;

      근데 결혼얘기가 있길래...

      아니구나 ㅋㅋㅋ;; (아는 형은 중딩인가 고딩인가... 요즘은 연락 두절 ㅋㅋㅋ)

    • #12568
      태랑
      키 마스터
      키 마스터
      • 게시글209
      • 댓글880
      • 총합1089
      • ★★
      @admin

      저같은경우 kaist보다는 neowiz 를 주로 쓰는편입니다

      종종 kaist 접속안되는경우도 있고 속도도 neowiz 가 더빨라서 jaist 보다는 neowiz 가 더 낳을듯합니다

       

      커뮤니티가 하루빨리 발전해서 커뮤니티 자체에서 ftp 미러링 서버를 보유할수있는 날이 왔으면 하네요

      오픈소스를 응원합니다 Blog https://hoing.io
      Senior Database Administrator(Mysql, Oracle)

      사이트 이용 문의 사항은 댓글이나 admin@fedoralinux.or.kr 로 메일주세요

4 답변 글타래를 보이고 있습니다
  • 답변은 로그인 후 가능합니다.