Aby zaoszczędzić przepustowość i dane w moim abonamencie internetowym, zainstalowałem squid-deb-proxy na pulpicie, a na nim klienta i kilka innych maszyn, które mam. Jednak w oparciu o post, który mnie do tego wprowadził, wygląda na to, że jeśli zabiorę laptopa * do innej sieci i tam go zaktualizuję, pobrane aktualizacje NIE zostaną automatycznie skopiowane z powrotem na serwer squid-deb-proxy, gdy otrzymam z powrotem w mojej sieci.
Zakładając, że jest to poprawne (będę testował później), czy istnieje sposób, aby włożyć te pakiety do pamięci podręcznej, aby nie musiałem ich pobierać jeszcze raz na inne maszyny w sieci?
* Jak zauważono w komentarzach, mogę po prostu uczynić laptopa serwerem proxy, ale w moim konkretnym przypadku laptop to tak naprawdę 1) maszyna wirtualna, która nie działa cały czas, 2) w laptopie, który nie jest cały otwarty czas. Jako takie rozwiązanie, choć dobre, nie działa w moim przypadku.
źródło
squid-deb-proxy
serwerze?Odpowiedzi:
Możesz użyć
apt-move
(z pakietu o tej samej nazwie), aby utworzyć lokalne repozytorium apt z plików w pamięci podręcznej apt laptopa. Następnie użyj,rsync
aby zachować zsynchronizowaną kopię tego repozytorium w sieci LAN. Na koniec skieruj inne maszyny LAN na twoją kopię LAN lokalnego repozytorium na górzesources.list
, aby apt wolał lokalne repozytorium od zdalnych.źródło
To wciąż jest niepełna odpowiedź, ale może to być najlepsza możliwa odpowiedź, więc czytaj dalej, jeśli jesteś ciekawy możliwych częściowych / brzydkich / skomplikowanych rozwiązań.
Intrygujące pytanie, napotkałem ten sam problem, ale nigdy go nie naprawiłem, zamiast tego po prostu staram się ograniczyć moje apt-get poza moją lokalną siecią LAN. To naprawdę nie było warte kłopotów, co najwyżej zmarnowałem około 20 MB w ciągu ostatniego roku. Nadrabia to mój iso torrent seeding. Ale!
możesz skonfigurować tunel / serwer proxy między laptopem a domem, aby korzystać z domowej pamięci podręcznej (i tak jest to dobry pomysł ze względu na prywatność), ale wtedy byłbyś zależny od prędkości wysyłania. Byłoby to nie tylko wolne, ale użyłbyś 2x przepustowości, aby pobrać to samo. 1x pójście do twojej sieci LAN z luster Ubuntu i 1x wyjście do kawiarni.
Proponuję, aby możliwe było uruchomienie serwera pamięci podręcznej na laptopie, a następnie użycie rsync do synchronizacji z serwerem domowym. Stanowi to jednak problem, ponieważ gdy jesteś w domu, serwer na twoim laptopie nadal będzie działał. Aby sobie z tym poradzić, widziałem dwie możliwości. 1. zatrzymaj serwer pamięci podręcznej na swoim laptopie, gdy jesteś w domu 2. zachowaj wszystkie buforowane kopie, które istnieją na twoim serwerze domowym również na twoim laptopie (dodatkowe miejsce) i osiągnij to, nie tylko wypychając buforowane dane na serwer, kiedy otrzymasz home z rsync, ale także regularnie ściągając buforowane dane na serwer laptopa. Sugerując to, założyłem, że pamięć podręczna squid-deb-proxy na jednym serwerze jest kompatybilna z innym i że możesz w ten sposób wymieniać pliki. Te opcje z pewnością również wymagają trochę skryptów.
źródło
Używamy prostego i głupiego podejścia: squid-deb-proxy może używać się jako proxy. Dlatego po prostu robię:
Instaluję oprogramowanie klienckie na serwerze squid-deb-proxy:
apt-get install squid-deb-proxy-client
Stworzyłem prosty skrypt, który wyświetla listę wszystkich zainstalowanych pakietów - i ponownie pobieram każdy pakiet:
W ten sposób mamy już niezłą podstawową pamięć podręczną.
Jeśli chcielibyśmy dodać wszystkie pakiety istniejącego serwera do pamięci podręcznej, wykonujemy tę samą procedurę 1) i 2)
źródło