Как добавить пакеты в кеш squid-deb-proxy?

Чтобы сэкономить пропускную способность и данные в моем интернет-плане, я установил squid-deb-proxy на рабочий стол, а также клиент и несколько других компьютеров, которые у меня есть. Тем не менее, на основании поста , который поставил меня на это, похоже, что если я перенесу свой ноутбук * в другую сеть и обновлю его там, загруженные обновления НЕ будут автоматически скопированы обратно в squid-deb -прокси-сервер, когда я вернусь в свою сеть.

Предполагая, что это правильно (я буду тестировать позже), есть ли способ, которым я могу вставить эти пакеты в кеш, чтобы мне не пришлось загружать их еще раз для других машин в сети?


* Как отмечалось в комментариях, я мог бы просто сделать ноутбук прокси-сервером, но в моем конкретном случае ноутбук на самом деле 1) виртуальная машина, которая не работает постоянно, 2) в ноутбуке это не открыто все время. Таким образом, это решение, хотя и хорошее, не работает в моем случае.

10
задан 13 April 2017 в 15:24

3 ответа

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

0
ответ дан 13 April 2017 в 15:24

Мы используем простой и глупый подход: squid-deb-proxy может использовать себя в качестве прокси. Поэтому я просто делаю:

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

    склонный - получают установку 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
    

Таким образом, у нас уже есть not-so-bad основной кэш.

Если мы хотели бы добавить все пакеты существующего сервера к кэшу, то мы просто выполняем ту же процедуру 1), и 2)

0
ответ дан 13 April 2017 в 15:24

Это все еще неполный ответ, но он может быть наилучшим из возможных ответов, поэтому продолжайте читать, если вам интересно узнать о возможных частичных / некрасивых / сложных решениях.

Интригующий вопрос, я столкнулся с той же проблемой, но я никогда ее не исправлял, вместо этого я просто стараюсь ограничить свои возможности выхода за пределы своей локальной сети. Это действительно не стоило хлопот, самое большее, я потратил впустую как 20 МБ за прошлый год. Мой сеанс iso torrent восполняет это. Но!

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

  2. Я предлагаю, чтобы можно было запустить сервер кэширования на вашем ноутбуке, а затем использовать rsync для синхронизации с вашим домашним сервером. Это создает проблему, однако, в том, что когда вы дома, этот сервер на вашем ноутбуке все еще будет работать. Чтобы справиться с этим, я мог видеть две возможности. 1. Остановите сервер кэширования на вашем ноутбуке, находясь дома. 2. Сохраните все кэшированные копии, которые есть на вашем домашнем сервере, на вашем ноутбуке (дополнительные требования к пространству) и выполните это, не только передавая кэшированные данные на сервер, когда дома с rsync, но также регулярно отправляет кэшированные данные на сервер вашего ноутбука. Предлагая это, я сделал предположение, что кеш squid-deb-proxy на одном сервере совместим с другим, и что вы можете таким образом обмениваться файлами. Эти параметры также, безусловно, потребуют некоторых сценариев. Кеш для меня находится в / var / cache / squid-deb-proxy / и ниже, что не совсем понятно человеку.

0
ответ дан 13 April 2017 в 15:24

Другие вопросы по тегам:

Похожие вопросы: