내 집 PC에는 여러 개의 Linux 가상 머신이 실행되고 있습니다. Linux의 단점 중 하나는 패키지 관리자를 실행할 때마다 구성된 소프트웨어 저장소를 "새로 고침"하려고 한다는 것입니다. 이는 기본적으로 인터넷에서 파일을 다운로드하려고 한다는 의미입니다. VM의 이전 스냅샷으로 되돌리면 다음에 패키지 관리자를 실행할 때 [더 이상 VM에 존재하지 않기 때문에] 똑같은 데이터가 다시 다운로드됩니다.
동일한 데이터를 끝없이 다운로드하면서 대역폭을 낭비하는 것은 부끄러운 일이므로 다운로드한 파일을 캐시하는 일종의 HTTP 프록시 서버를 설정할 수 있는 방법이 있는지 궁금합니다. 하지만 당신이 어떻게 그런 일을 할 것인지 전혀 모르겠습니다. 특히 VM이 캐시가 있다는 것을 "알" 필요가 없도록 설정해야 합니다. 투명해야 합니다. 하지만 어떻게 해야 할지 모르겠습니다.
어떤 소프트웨어를 사용해야 하는지 제안해 주실 수 있나요? Windows 호스트 OS에서 실행할 수 있으면 좋겠지만, Linux 게스트로 소규모 VM을 실행하는 것도 가능합니다...
답변1
이 슬라이드쇼Debian 기반 Linux 배포판용 패키지 캐싱 프록시에 대한 여러 솔루션을 다룹니다.
대략
프록시로 실행: 사용할 미러를 지정한 다음 이를 유일한 미러로 사용하도록 클라이언트를 구성합니다.
패키지 호스트에 설치:
sudo apt-get install apport
다음에서 선호하는 백엔드 미러를 사용하도록 Approx를 구성합니다
/etc/approx/approx.conf
.debian http://ftp.au.debian.org non-US http://ftp.au.debian.org/non-US security http://security.debian.org/security
Approx 서버를 사용하도록 클라이언트를 구성합니다.
deb http://localcache:9999/debian stable main contrib deb http://localcache:9999/security stable main
적절한 프록시
대략 과 유사함
다음으로 설치
sudo apt-get install apt-proxy
즐겨찾는 미러 구성
/etc/apt-proxy/apt-proxy-v2.conf
:[debian] backends = http://ftp.au.debian.org http://ftp.us.debian.org
대략 다음과 같이 클라이언트를 구성합니다.
deb http://localcache:9999/debian stable main contrib deb http://localcache:9999/security stable main
Linux에서 실행되도록 설계되었지만 최소한의 문제로 Windows로 이식할 수 있습니다. 저는 Python이 플랫폼 독립적이기를 바라지만 프로그래머들이 종종 가정을 한다는 것을 알게 되었습니다.