인터넷 계획에서 대역폭과 데이터를 절약하기 위해 데스크톱에 오징어-프록시 프록시를 설치하고 클라이언트와 데스크톱에 몇 대의 다른 컴퓨터를 설치했습니다. 그러나 이것을 게시 한 게시물 을 기반으로 노트북을 다른 네트워크로 가져 와서 업데이트하면 다운로드 한 업데이트가 자동으로 squid-deb-proxy 서버에 다시 복사되지 않습니다. 내 네트워크에 다시.
이것이 정확하다고 가정하면 (나중에 테스트 할 것입니다),이 패키지를 캐시에 고정하여 네트워크의 다른 컴퓨터에 대해 한 번 더 다운로드 할 필요가없는 방법이 있습니까?
* 의견에서 언급했듯이 랩톱을 프록시 서버로 만들 수는 있지만 특정 경우 랩톱은 실제로 1) 항상 실행되지 않는 VM, 2) 모두 열려 있지 않은 랩톱에서 시각. 따라서 그 해결책은 좋은 것이지만 제 경우에는 효과가 없습니다.
답변
당신이 사용할 수있는 apt-move
노트북의 적절한 캐시에있는 파일에서 로컬 쉽다 저장소를 생성 (같은 이름의 패키지에서). 그런 다음 rsync
LAN에이 저장소의 동기화 된 사본을 유지하는 데 사용 하십시오. 마지막으로, 다른 LAN 시스템은의 상단에있는 로컬 리포지토리의 LAN 복사본을 가리 키 sources.list
므로 apt는 원격 리포지토리보다 로컬 리포지토리를 선호합니다.
답변
이것은 여전히 불완전한 답변이지만 가능한 최선의 답변 일 수 있으므로 가능한 부분 / 못생긴 / 복잡한 솔루션에 대해 궁금한 점을 읽으십시오.
흥미로운 질문으로, 나는 같은 문제가 발생했지만 결코 고치지 않았습니다. 대신 현지 LAN 밖에서 apt-getting을 제한하려고합니다. 정말 번거로운 일이 아니 었습니다. 작년에 최대 20MB를 낭비했습니다. 내 iso torrent seeding이이를 보완합니다. 그러나!
-
랩톱과 홈 사이에 터널 / 프록시를 설정하여 홈 캐시를 활용할 수 있지만 (개인 정보 보호를 위해 어쨌든 좋은 생각입니다) 업로드 속도에 따라 달라집니다. 속도가 느릴뿐만 아니라 2 배의 대역폭을 사용하여 동일한 것을 다운로드합니다. 우분투 거울에서 1 배, 커피 숍으로 1 배.
-
랩톱에서 캐시 서버를 실행 한 다음 rsync를 사용하여 홈 서버와 동기화 할 수 있다고 제안합니다. 그러나 집에있을 때 랩톱의 해당 서버가 계속 실행되는 문제가 있습니다. 이를 다루기 위해 두 가지 가능성을 볼 수있었습니다. 1. 집에있는 동안 랩톱에서 캐시 서버를 중지합니다. 2. 랩톱에있는 홈 서버에있는 모든 캐시 된 사본을 보관하고 (추가 공간 요구 사항) 캐시 된 데이터를 서버에 푸시 할뿐 아니라이를 수행합니다. 캐시 된 데이터를 랩톱 서버로 정기적으로 가져옵니다. 이것을 제안하면서 한 서버의 squid-deb-proxy 캐시가 다른 서버와 호환 가능하고 파일을 교환 할 수 있다고 가정했습니다. 이 옵션들도 확실히 스크립팅이 필요합니다.
답변
우리는 간단하고 어리석은 어프로치를 사용합니다. 오징어 deb 프록시는 스스로 프록시로 사용할 수 있습니다. 따라서 나는 단지 :
-
squid-deb-proxy 서버에 클라이언트 소프트웨어를 설치합니다.
apt-get 설치 오징어 -deb-proxy-client
-
설치된 모든 패키지를 나열하고 각 패키지를 다시 다운로드하는 간단한 스크립트를 작성했습니다.
#!/bin/bash # Create temp dir & change into it tmpdir=$(mktemp -d) pushd $tmpdir # Get all installed packages and re-download them for package in $(dpkg --get-selections | cut -f 1); do apt-get download $package; done; popd # Delete tmp dir
이런 식으로 우리는 이미 나쁜 기본 캐시를 가지고 있습니다.
기존 서버의 모든 패키지를 캐시에 추가하려면 동일한 절차 1)과 2)를 실행하면됩니다.