Назад | Перейти на главную страницу

Как предварительно получить пакеты Debian в локальной сети?

Допустим, у меня дома есть 3 компьютера, на которых выполняется тестирование Debian. В основном они имеют одинаковую конфигурацию, и большинство установленных пакетов идентичны.

Каждый раз, когда я обновляю / обновляю пакеты Debian, они загружаются из Интернета.

Есть ли способ предварительно загрузить пакеты Debian из Интернета и получить локальный, обновленный репозиторий Debian, содержащий только у установленных мной пакетов есть доступные обновления?

Итак, обычно, если у меня установлен vim и выпущено обновление, мой сервер пойдет и загрузит .deb локально, и я смогу обновить все свои машины из локальной сети. Если я хочу установить emacs, то в локальном репозитории его не будет, и он будет загружен из Интернета.

Это можно было бы назвать локальной системой кэширования apt, как Squid кеширует http.

Спасибо!

Кажется, ты ищешь apt-cacher. Чтобы установить его, просто введите:

$ sudo apt-get install apt-cacher

Затем вы можете настроить apt-get использовать его как прокси, создав файл /etc/apt/apt.conf.d/01proxy с содержанием:

Acquire::http::Proxy "http://cacher_ip:3142/";

Если честно, я использую эту конфигурацию на ubuntu, но она должна быть похожей на debian. Таким образом, все загрузки пакетов будут запрашиваться с apt-cacher на сервере "cacher_ip". Если он существует, он будет получен локально. В противном случае он будет загружен через кешер.

Прокси-сервер squid на самом деле неплохо "из коробки" кэширует загрузки apt-get, а также многое другое. С некоторыми настройками он будет работать еще лучше.

Видеть: http://itkia.com/using-squid-to-cache-apt-updates-for-debian-and-ubuntu/

Apt-cacher-ng не может точно знать, что доступно в качестве обновления для каждого пользователя, потому что клиент может удалить пакеты, не сообщая серверу (очевидно), или иногда пакеты переименовываются или разбиваются на несколько пакетов. Слишком много факторов. Если вы можете игнорировать большинство из них и хотите предварительно кэшировать каждый пакет, выбирая их по именам (ранее загруженных пакетов), взгляните на https://www.unix-ag.uni-kl.de/~bloch/acng/html/howtos.html#mirroring