apt-mirror와 mirrorkit을 사용하여 로컬 리포지토리를 만드는 방법은 무엇입니까?


9

로컬 리포지토리를 갖는 것이 매우 유용 할 수 있습니다. rsync리포지토리 미러를 만드는 데 사용할 수 있지만 이로 인해 모든 릴리스, 심지어 이전 릴리스도 다운로드되며 필요하지 않은 아키텍처 용 파일이 포함됩니다.

apt-mirror저장소의 일부를 선택적으로 선택할 수 있습니다. mirrorkitapt-mirror에 프론트 엔드를 제공합니다.

우분투 아카이브의 선택된 부분에 대한 로컬 저장소 미러를 만드는 가장 좋은 방법은 무엇입니까?

예를 들어, 다음을 포함하고자 할 수 있습니다.

  • Main, Restricted, Universe, Multiverse, All Ubuntu 및 Lubuntu를 제외하고 Kubuntu 및 Xubuntu와 같은 다른 파생 상품은 제외합니다.

  • AMD64 및 i386 만 있지만 다른 아키텍처는 제외합니다.

  • Trusty Tahr 만 있지만 정확한 펭귄이나 Utopic Unicorn은 아닙니다.

기본 아카이브가 아닌 로컬 미러에서 다운로드되도록 프로세스를 구성 할 수 있습니다.

어떻게 사용하여 로컬 저장소를 만들 수 있습니다 apt-mirrormirrorkit선택한 아키텍처, 릴리스, 또는 우분투 변종를 들어?


쿠분투 제외? Kubuntu ISO를 제외하거나 Kubuntu에서 사용중인 패키지를 제외 하시겠습니까?
muru

예를 들어 Kubuntu 및 Xubuntu ISO를 제외하십시오. 어쩌면 엄청나게 많은 것들이 있고 (Precise Kubuntu ARM, Precise Kubuntu i386, Quantal Kubuntu ARM, Quantal Kubuntu i386 ...) 초기 미러 다운로드는 ISO없이 더 빠르게 완료 될 수 있습니다. 그러나 몇 기가 바이트에 불과하면 그다지 중요하지 않을 것입니다.
user75798

1
ISO는 패키지와 별도로 호스팅됩니다. 따라서 일반적으로 패키지 리포지토리를 미러링하는 것처럼 apt-mirror를 사용하고 ISO에 다른 도구를 사용할 수 있습니다. 그러면 문제는 해당 도구에 적합한 제외 필터를 찾는 것입니다 (예 : rsync).
muru

"평소대로 apt-mirror를 사용할 수 있습니다."미안하지만 어떻게해야할지 모르겠습니다. 이것이 바로 내가 설명하고 싶은 것입니다.
user75798

답변:


9

CD 리포지토리와 소프트웨어 리포지토리는 별도의 런치 패드 페이지 ( cdmirrorsarchivemirrors )도 있습니다. 따라서 이들을 미러링하는 것은 두 가지 별개의 작업입니다. 또한 다양한 특징은 CD 저장소에 다른 폴더가 있지만 소프트웨어 저장소를 공유합니다. 따라서 소프트웨어별로 맛당 이미지를 선택적으로 미러링 할 수 있습니다. 소프트웨어 저장소의 경우 다음을 기반으로 선택적으로 미러링 할 수 있습니다.

  • 해제 ( trusty, precise등)
  • 아키텍처 ( amd64, i386등)
  • 패키지 유형 (이진 [ deb] 대 소스 [ deb-src])
  • 채널들 ( trusty, trusty-updates, trusty-backports, 등)
  • 섹션 ( main, multiverse등)

소프트웨어 리포지토리를 미러링하려면을 사용하십시오 apt-mirror.

apt-mirror를 사용하여 구성됩니다 /etc/apt/mirror.list. 형식은와 매우 유사합니다 sources.list. 패키지에 의해 설치된 구성 파일에는 기본값을 나열하는 몇 가지 주석 처리 된 옵션이 있습니다. 원하는 경우 주석을 해제하고 변경할 수 있습니다.

저장소를 미러링하려면 다음 mirror.list과 같이 행을 추가해야합니다 sources.list.

deb http://us.archive.ubuntu.com/ubuntu trusty main multiverse restricted universe

기본값은 호스트 아키텍처 만 미러링하는 것이므로 64 비트 Ubuntu를 사용하는 경우 amd64미러링 만 됩니다. 양식의 다른 줄을 추가해야합니다.

deb-i386 http://us.archive.ubuntu.com/ubuntu trusty main multiverse restricted universe

그리고 소스 패키지의 경우 :

deb-src http://us.archive.ubuntu.com/ubuntu trusty main multiverse restricted universe

합리적으로 완전한 거울을 찾고 있다면이 줄이 최소가 될 것입니다 ( -updates채널 도 권장 합니다).

deb http://us.archive.ubuntu.com/ubuntu trusty main multiverse restricted universe
deb http://us.archive.ubuntu.com/ubuntu trusty-security main multiverse restricted universe
deb-i386 http://us.archive.ubuntu.com/ubuntu trusty main multiverse restricted universe
deb-i386 http://us.archive.ubuntu.com/ubuntu trusty-security main multiverse restricted universe

마지막으로, 저장소에서 더 이상 사용할 수없는 패키지가 제거되도록 필터링되도록 clean 을 추가해야합니다 .

clean http://us.archive.ubuntu.com/ubuntu

따라서 변수가 기본값이라고 가정하십시오.

set base_path    /var/spool/apt-mirror
set mirror_path  $base_path/mirror
set skel_path    $base_path/skel
set var_path     $base_path/var
set cleanscript $var_path/clean.sh

그때:

  • 저장소는 $mirror_path/parent-hostname/directory(so /var/spool/apt-mirror/mirror/us.archive.ubuntu.com/ubuntu)에 미러링됩니다.
  • clean.sh(의 것 세트 rm가 될 것이다 명령은 사용되지 패키지와 디렉토리를 삭제합니다) /var/spool/apt-mirror/var/clean.sh.
  • 로그가로 이동합니다 /var/spool/apt-mirror/var.

apt-mirror패키지는 cron 작업 (설치 /etc/cron.d/apt-mirror당신이 (포함하는 행을 주석 처리 가능하도록 편집해야합니다) /usr/bin/apt-mirror). 또한 실행을 위해 크론 작업을 추가해야 clean.sh합니다 (매주 실행합니다).

물론 http://us.archive.ubuntu.com./ubuntu원하는 미러로 교체해야 합니다.


1
그것은 정말 deb-amd64deb arch=amd64? 맨 페이지에서 후자를 찾을 수 있습니다
Anwar

1
@ 안와르. 후자는입니다 sources.list. 형식은 비슷하지만 형식이 다릅니다. 참조 manpages.ubuntu.com/manpages/trusty/en/man1/apt-mirror.1.html 경우, deb-powerpc예입니다.
muru

오! 나는 apt-mirror에 대한 경험이 없었습니다. 생각했다 sources.list. 감사합니다
Anwar

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.