Я хочу запустить debootstrap
и создать дистрибутив несколько раз без постоянной загрузки пакетов.
Использование apt-cacher-ng
или опции --foreign
в debootstrap не работает полностью автономно (например, если я делаю это в поезде), потому что debootstrap все равно будет пытаться подключиться к интернету, чтобы получить файл InRelease из удаленного репозитория.
Кажется, что squid (или другой кэширующий прокси) должен быть настроен на кэширование определенных адресов, чтобы я мог запустить процесс, когда я не в сети.
Что мне нужно установить и как настроить для этого?
Если вы apt install squid-deb-proxy
, вы можете запустить debootstrap в автономном режиме (даже файлы InRelease
).
Однако, если вы хотите сэкономить полосу пропускания и продолжать использовать автономный файл после того, как снова подключитесь к сети, вам необходимо немного изменить его.
В файле squid-deb-proxy.conf
есть абсолютные пути, поэтому вам нужно сделать его копию в своем проекте и изменить.
Найдите ссылки на / etc
и / var
и измените их так, чтобы они были относительными, чтобы отделить их от системных файлов.
Чтобы по-прежнему использовать прокси, когда вы в сети, вам нужно добавить это в файл conf.
#Use cached values when offline
offline_mode on
Вы можете запустить его так:
mkdir -p squid/var/log/squid-deb-proxy
mkdir -p squid/var/run/
echo "Starting an instance of squid using the working dir for caches and logs instead of the system dirs"
squid -Nf squid/squid-deb-proxy.conf
Тогда, прежде чем вы запустите debootstrap
#Use a caching proxy to save bandwidth
export http_proxy=http://127.0.0.1:8000