Estando o APT disponível em ambas máquinas dá a configuração mais simples. A ideia básica é colocar uma cópia do ficheiro de estado no disco e usar a máquina remota para obter os ficheiros de pacotes mais recentes e decidir quais pacotes descarregar. A estrutura de directórios do disco deverá parecer-se com:
/disc/ archives/ partial/ lists/ partial/ status sources.list apt.conf
O ficheiro de configuração deve dizer ao APT para armazenar os seus ficheiro no disco e usar os ficheiros de configuração do disco também. O sources.list deve conter os sites apropriados que deseja usar a partir da máquina remota, e o ficheiro de estado deve ser uma cópia de /var/lib/dpkg/status a partir do target host. Por favor note, se está a usar um arquivo local você deve usar copy URIs, a sintaxe é idêntica a file URIs.
apt.conf tem de conter a informação necessária para fazer o APT usar o disco:
APT { /* Isto não é necessário se as duas máquinas forem da mesma arquitectura, diz ao APT remoto que arquitectura tem a máquina de destino */ Architecture "i386"; Get::Download-Only "true"; }; Dir { /* Usa o disco para informação de estado e redireciona o ficheiro de estado a partir de the /var/lib/dpkg default */ State "/disc/"; State::status "status"; // Caches binárias serão armazenadas localmente Cache::archives "/disc/archives/"; Cache "/tmp/"; // Localização da lista de fontes. Etc "/disc/"; };
Mais detalhes podem ser vistos ao examinar o manual do apt.conf e o exemplo de ficheiro de configuração em /usr/share/doc/apt/examples/apt.conf.
Na máquina de destino a primeira coisa a fazer é montar o disco e copiar /var/lib/dpkg/status para ele. Você também precisa de criar os directórios delineados na Visão Geral, archives/partial/ e lists/partial/. Depois leve o disco até à máquina remota e configure o sources.list. Na máquina remota execute o seguinte:
# export APT_CONFIG="/disc/apt.conf" # apt-get update [ APT obtém os ficheiros de pacotes ] # apt-get dist-upgrade [ APT obtém todos os pacotes necessários para actualizar a máquina de destino ]
O comando dist-upgrade pode ser substituído por qualquer outro comando APT standard, particularmente dselect-upgrade. Você até pode usar um front-end do APT como o dselect. No entanto isto apresenta um problema ao comunicar as suas selecções de volta ao computador local.
Agora o disco contém todos os ficheiros de índice e os arquivos necessários para actualizar a máquina de destino. Devolva o disco e corra:
# export APT_CONFIG="/disc/apt.conf" # apt-get check [ APT gera uma cópia local dos ficheiros de cache ] # apt-get --no-d -o dir::state::status=/var/lib/dpkg/status dist-upgrade [ Ou qualquer outro comando APT ]
Para uma função apropriada é necessário re-especificar que o ficheiro de estado seja o ficheiro local. Isto é muito importante!
Se está a usar dselect você pode fazer a operação muito arriscada de copiar disc/status para /var/lib/dpkg/status para que quaisquer selecções que faça na máquina remota sejam actualizadas. Eu recomendo altamente que as pessoas apenas façam selecções na máquina local - mas isto pode nem sempre ser possível. NÃO copie o ficheiro de estado se entretanto correu o dpkg ou o APT!!