Где хранятся файлы 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.