Где хранятся файлы apt-get?


26

На Ubuntu работает несколько виртуальных машин, и все они обновляются с помощью следующей команды:

apt-get update
apt-get upgrade

Но обновление каждой виртуальной машины в отдельности занимает много времени для загрузки необходимых пакетов, а также использует огромную полосу пропускания (из которой у меня заканчивается). Можно ли перенести обновленные файлы apt-getнапрямую в виртуальные машины?

Я знаю, что пакеты хранятся, /var/cache/apt/archivesно мне нужны файлы базы данных apt-get (список зеркал, индексы, доступные пакеты на зеркалах, ...)


Обновление: есть много решений

  1. apt-cacher-ng, как указано в ответах.
  2. Изображения Docker, созданные для кэширования apt-файлов (на самом деле они запускают squid)
  3. Просто с помощью кальмара

Кроме того, как упоминалось в ответах, см. Лучший способ кэширования подходящих загрузок в локальной сети?

Ответы:


15

Не является четким ответом на ваш вопрос, но рассматривали ли вы возможность установки подходящего прокси? Я использую apt-cacher-ng (apt-get install apt-cacher-ng: D). Prehaps установить это на хосте VM, и сказать , виртуальные машины (и хост) , чтобы использовать это в качестве прокси - сервера (так просто , как добавление файла (например 02proxy) , чтобы /etc/apt/apt.conf.d/ содержащий

Acquire::http { Proxy "http://vm host ip:3142"; };

Таким образом, вы можете просто обойтись apt-get upgradeбез необходимости вручную копировать файлы. Когда один компьютер загрузит файлы, они будут сохранены в прокси для следующего компьютера, который его запрашивает. Может обрабатывать несколько выпусков и разных архитектур и т. Д.

Просто хоть: D


1
Вы даже можете установить squid-deb-proxyна прокси-сервер и squid-deb-proxy-clientдругие; это сделает прозрачное обнаружение прокси-сервера (с помощью Avahi) без настройки на стороне клиента. В качестве бонуса, если прокси-сервер не найден в локальной сети, клиент будет подключаться к репозиториям напрямую (что делает это подходящим даже для ноутбуков).
Писквор

Я второй использую Squid-deb-proxy вместо Apt-cacher. Соответствующий вопрос: Лучший способ кэширования подходящих загрузок в локальной сети?
gertvdijk



0

Вы можете сделать резервную копию всего * .deb, затем скопировать его в VMware, вы можете скопировать его в /root/sw_backup. Папка не может быть /var/cache/apt/archives/.

Затем вы можете установить его локально с помощью synaptic. $ synaptic "файл" меню, чтобы найти локальную установку. но для этого также нужна сеть, просто нужно обновить небольшой пакет.


Обратите внимание, что это должно быть .deb not .dep
Malfist
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.