Как использовать зеркальную опцию apt-cacher-ng для debootstrap?

Я работаю debootstrap как это:

sudo debootstrap --verbose --arch=amd64 zesty chroot

Я уже установил apt-cacher-ng.

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

Я попытался использовать опцию MIRROR и установить http_proxy переменную, но это ошибки, когда я работаю офлайн:

$ sudo http_proxy="http://localhost:3142" debootstrap --verbose --arch=amd64 zesty chroot http://localhost:3142/uburep
I: Retrieving InRelease 
I: Failed to retrieve InRelease
I: Retrieving Release 
E: Failed getting release file http://localhost:3142/uburep/dists/zesty/Release

Я использовал http://localhost:3142/uburep потому что, именно это я нашел в кэше:

$ find /var/cache/apt-cacher-ng -name Release
/var/cache/apt-cacher-ng/security.ubuntu.com/ubuntu/dists/zesty-security/Release
/var/cache/apt-cacher-ng/uburep/dists/zesty-updates/Release
/var/cache/apt-cacher-ng/uburep/dists/zesty-backports/Release
/var/cache/apt-cacher-ng/uburep/dists/zesty/Release

Я пытался добавить Defaults env_keep += "http_proxy https_proxy ftp_proxy" к/etc/sudoers (через sudo visudo), но это не помогло также.

Если я удаляю опцию MIRROR и выполняю debootstrap офлайн, это затем, кажется, не использует apt-cacher-ng вообще (примечание, как это не ищет localhost больше).

E: Failed getting release file http://archive.ubuntu.com/ubuntu/dists/zesty/Release
2
задан 14 March 2019 в 13:38

1 ответ

Существует прием, чтобы заставить это работать без явных настроек прокси. Можно на самом деле использовать настроенный apt-cacher-ng как зеркальный URL как так:

http://localhost:3142/us.archive.ubuntu.com/ubuntu/

Таким образом, поскольку Вы видите после определения базового URL к Вашему apt-cacher-ng экземпляр можно затем дать сервер и путь согласно этой статье Wiki. Я использовал этот метод в своих собственных сценариях начальной загрузки, и он работает как очарование.

Примечание: можно хотеть проверить что Ваш apt-cacher-ng экземпляр работает путем сверения lsof -i :3142 (требует lsof пакет).

4
ответ дан 2 December 2019 в 02:14

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

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