Como posso executar o debootstrap offline?

0

Eu quero executar o debootstrap várias vezes para o mesmo destino.

Geralmente estou em trânsito sem acesso à Internet e gostaria de executá-lo off-line.

Como posso executar o processo com acesso à Internet e depois várias vezes sem acesso à Internet?

Estou aberto a usar wrappers / alternativas como opções de multistrap e cache como apt-cacher-ng ou squid.

O principal requisito é que eu possa executá-lo completamente offline.

    
por opticyclic 13.10.2017 / 07:40

2 respostas

1

Se você deseja instalar o Linux muitas vezes com a mesma configuração, descompacte o sistema primeiro com a opção --foreign ao instalar. por exemplo. os seguintes bootstraps Ubuntu zesty no diretório "deboot"

sudo debootstrap --foreign zesty deboot

Você pode manter o diretório de deboot como referência e copiá-lo para um novo diretório de trabalho sempre que quiser reutilizá-lo e usar a opção second-stage .

mkdir work
cd work
sudo cp -r ../deboot .
sudo DEBOOTSTRAP_DIR=deboot/debootstrap/ debootstrap --second-stage --second-stage-target $(readlink -f deboot)

Duas coisas a serem observadas aqui são a variável de ambiente DEBOOTSTRAP_DIR que o script debootstrap usa (mas não documenta muito bem) e que a opção second-stage-target requer um caminho completo.

Uma opção alternativa é usar o parâmetro --make-tarball=[file] , que permite baixar os pacotes e usar --unpack-tarball=[file] para colocar esses pacotes no diretório de destino.

Se você quiser reutilizar seu cache de alguma outra fonte ou pasta compartilhada, use apt-proxy ou cp -a packages / var / cache / apt / archives /, no entanto, isso não é totalmente off-line, pois debootstrap ainda tente se conectar ao interent para obter o arquivo InRelease do repositório remoto.

    
por 13.10.2017 / 18:33
0

Você pode usar o squid-deb-proxy como está para executar off-line (mesmo os arquivos InRelease ), mas é necessário modificá-lo um pouco para executar o debootstrap offline mesmo quando estiver on-line.

Você precisa modificar o arquivo squid-deb-proxy.conf para pegar uma cópia e colocá-la em seu projeto.

Existem caminhos absolutos no arquivo conf para /etc e /var , então você precisa modificá-los para serem relativos se você os separar do sistema.

Para continuar usando o proxy quando você está online, você precisa adicioná-lo ao arquivo conf.

#Use cached values when offline
offline_mode on

Você pode começar assim:

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

Então antes de começar debootstrap

#Use a caching proxy to save bandwidth
export http_proxy=http://127.0.0.1:8000
    
por 24.08.2018 / 17:30