다운로드한 데비안 패키지를 캐시하기 위해 호스트 "미러"를 쉽게 만들 수 있나요?

다운로드한 데비안 패키지를 캐시하기 위해 호스트 "미러"를 쉽게 만들 수 있나요?

여기 있는 모든 컴퓨터가 모든 것을 독립적으로 다시 다운로드할 필요가 없도록 패키지 다운로드를 캐시하는 Squid 웹 캐시를 설정했습니다. 설치 프로그램에서 이미지와 에이전트를 묻는 메시지를 표시합니다. 각 머신이 정확히 동일한 이미지(여기)와 프록시를 사용하는 한 http.us.debian.org작동할 것입니다.

이는 "정보를 수동으로 입력"하고 매번 입력해야 하기 때문에 약간 짜증나는 일입니다(설치 프로그램이 하는 것처럼 ftp.us.debian.org, Squid는 그것이 동일하다는 것을 깨닫지 못합니다).

설치 프로그램의 기본값은 바로 그것입니다 mirror. 작동하게 하는 방법이 있습니까? 그럼 게으른 상태에서 그냥 여러 단어를 입력해도 되나요?

답변1

내 데비안 서버 팜을 제공하기 위한 로컬 deb 캐시를 갖기 위해 실제로는 apt-cacher-ng(소프트웨어 저장소용 캐싱 프록시 서버)를 사용하는 것을 선호합니다.

APT/deb를 특별히 지원하고 사용자 정의가 가능하며 상당한 시간 동안 deb 파일을 캐시할 수 있는(구성 가능) 프록시입니다.

다음 명령을 사용하여 설치할 수 있습니다.

apt-get install apt-cacher-ng

기본적으로 repositories/debs 를 캐시합니다 /home/apt-cacher-ng. 이 디렉터리 아래에 Debian/Ubuntu 서버에서 사용되는 각 저장소에 대한 디렉터리를 만든 다음 미러 구조와 매우 유사한 배포판을 사용합니다. 추가 보너스로 Squid 서버보다 여기 캐시에서 deb를 수동으로 가져오는 것이 훨씬 쉽습니다.

모든 서버에서 사용하려면 /etc/apt/apt.conf.d다음 콘텐츠가 포함된 파일을 디렉터리에 추가하세요.02proxy

Acquire::http { Proxy "http://your_proxy_APT_server:3142"; };

이 파일이 추가되면 데비안 패키지 관리자는 구성된 http APT 프록시를 통해 구성된 모든 저장소를 프록시합니다.

또한 활동에 대한 상담을 위한 흥미로운 정적 페이지도 있습니다.

서버가 새 프록시 APT 서버와 통신할 수 있도록 방화벽에서 3142/TCP를 열어야 할 수도 있습니다.

이 설정의 장점은 서버 버킷에 대해 하나의 deb 복사본만 다운로드하는 것 외에도 대역폭과 공용 저장소 사용량을 절약하고 인터넷 액세스가 필요하지 않은 내부 서버(예: DHCP 서버)를 업데이트할 수도 있다는 것입니다. .

에 기록된 대로공식 설치 가이드 부록 B, DHCP 서버 구성에 다음을 추가하여 프로필을 내보낼 수 있습니다.

if substring (option vendor-class-identifier, 0, 3) = "d-i" {
    filename "http://host/preseed.cfg";
}

그런 다음 이러한 사전 설정 옵션을 사용하여 미러 및 프록시를 자동으로 구성할 수 있습니다.

d-i mirror/protocol string http
d-i mirror/country string manual
d-i mirror/http/hostname string http.us.debian.org
d-i mirror/http/directory string /debian
d-i mirror/http/proxy string http://your_proxy_APT_server:3128/

또한보십시오:Ubuntu 또는 Debian에서 Apt 캐시 서버를 설정하는 방법

답변2

편집하다:내가 편집한 사전 설정 방법Ruy F. Ribeiro의 답변Squid나 다른 프록시와 함께 사용할 수도 있으며 (DHCP를 사용하는 한) 아마도 더 나은 접근 방식일 것입니다.


먼저 mirror시스템 도메인 이름이 완성되므로 DNS 항목을 추가합니다 mirror.yourdomain.com. 이 예에서는 Apache를 실행하는 서버를 가리키며 동일한 서버도 Squid를 실행합니다.

Apache에서 mod_proxy 및 mod_proxy_http가 활성화되어 있는지 확인하세요(예: a2enmod proxy; a2enmod proxy_httpDebian의 경우). 그런 다음 새 가상 호스트를 추가합니다.

<VirtualHost *:80>
    ServerName mirror.yourdomain.com
    ServerAlias mirror

    ProxyPass /debian http://http.us.debian.org/debian
    ProxyRemote http http://localhost:3128/
    ProxyVia off
</VirtualHost>

Apache를 다시 시작한 후 Debian 미러 "미러"에서 다운로드한 패키지는 캐시를 전달해야 합니다.

관련 정보