Як додати пакети до кешу squid-deb-proxy?


10

Для збереження пропускної здатності та даних у своєму плані Інтернет я встановив на робочий стіл squid-deb-proxy, а також клієнт на ньому та кілька інших машин, які у мене є. Однак, виходячи з публікації, яка мене переклала на це, звучить так, як якщо я перенесу свій ноутбук * до іншої мережі та оновлюю його там, завантажені оновлення НЕ будуть автоматично скопійовані назад на сервер squid-deb-proxy, коли я отримаю знову в моїй мережі.

Якщо припустити, що це правильно (я буду тестувати пізніше), чи є спосіб я вставити ці пакунки в кеш, щоб мені не довелося завантажувати їх ще раз на інші машини в мережі?


* Як зазначалося в коментарях, я міг би просто зробити ноутбук проксі-сервером, але в моєму конкретному випадку ноутбук - це фактично 1) VM, який не працює весь час; 2) у ноутбуці, який не відкритий усі час. Таким чином, це рішення, хоч і хороше, не працює в моєму випадку.


Якщо говорити з автором про це в минулому, робити це напрочуд нетривіально, можливо, хтось може придумати щось розумне.
Хорхе Кастро

Можливо, askubuntu.com/q/113983/8724 міг би допомогти. . . .
zpletan

Це ноутбук, який ви використовуєте в іншій мережі, на squid-deb-proxyсервері?
saji89

@ saji89: ні, всі машини працюють в одній мережі.
зплетан

Я не думаю, що ти зрозумів запитання @ saji89, і я маю те саме питання. Якщо ви встановите squid-deb-proxy на ноутбук, а squid-deb-proxy-client на робочий стіл і ноутбук, тоді ноутбук стає проксі-сервером і використовує проксі локально. Якщо ви не вдома, він буде постійно оновлювати ноутбук. Повернувшись додому, робочий стіл отримає оновлення від ноутбука.
popey

Відповіді:


2

Ви можете використовувати apt-move(з одноіменного пакету) для створення локального сховища apt з файлів у підходящому кеші вашого ноутбука. Потім використовуйте rsyncдля збереження синхронізованої копії цього сховища у вашій локальній мережі. Нарешті, вкажіть інші пристрої локальної мережі на локальну копію локального сховища у вашій локальній мережі sources.list, щоб apt віддала перевагу локальному сховищу над віддаленими.


0

Це все ще є неповною відповіддю, але це може бути найкращою можливою відповіддю, тому читайте далі, якщо цікаво можливих часткових / потворних / складних рішень.

Інтригуючий питання, я зіткнувся з тією ж проблемою, але я її ніколи не вирішував, натомість я просто намагаюся обмежити своє сприйняття за межами моєї локальної мережі. Це дійсно не вартувало клопоту, принаймні я витратив 20MB за останній рік. Моє висівання ізоторентових висівів це компенсує. Але!

  1. ви можете налаштувати тунель / проксі між вашим ноутбуком та домом, щоб використовувати домашній кеш (це все одно добре з міркувань конфіденційності), але тоді ви залежатимете від швидкості завантаження. Мало того, що це буде повільно, але ви використовуєте 2x пропускну здатність, щоб завантажити те саме. 1x заходьте у свій ланцюг від дзеркал Ubuntu і 1x в кафе.

  2. Я пропоную, що можливо запустити кеш-сервер на вашому ноутбуці, а потім використовувати rsync, щоб синхронізувати його з домашнім сервером. Однак це створює проблему в тому, що коли ви перебуваєте вдома, той сервер на вашому ноутбуці все ще буде працювати. Щоб впоратися з цим, я бачив дві можливості. 1. зупиніть кеш-сервер на своєму ноутбуці, перебуваючи вдома 2. зберігайте всі кешовані копії, які існують на вашому домашньому сервері, і на вашому ноутбуці (додаткові вимоги до місця), і виконайте це, не лише пересилаючи кешовані дані на ваш сервер, коли отримуєте додому з rsync, але також регулярно перетягування кешованих даних на сервер ноутбука. Пропонуючи це, я зробив припущення, що кеш-кег-дебі-проксі на одному сервері сумісний з іншим і що ви можете обмінятись файлами в і з подібними. Ці варіанти також неодмінно потребують певного сценарію.


0

Ми використовуємо простий і нерозумний підхід: squid-deb-proxy може використовувати себе як проксі. Тому я просто роблю:

  1. Я встановлюю програмне забезпечення клієнта на сервер squid-deb-proxy:

    apt-get install squid-deb-proxy-client

  2. Я створив простий скрипт, у якому перераховані всі встановлені пакети - і повторно завантажуйте кожен пакет

    #!/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)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.