La configurazione più semplice si ha se APT è disponibile su entrambe le macchine. L'idea di base è di mettere una copia del file di stato sul disco e usare la macchina remota per scaricare i file dei pacchetti più recenti e per decidere quali pacchetti scaricare. La struttura delle directory sul disco deve essere simile a:
/disc/ archives/ partial/ lists/ partial/ status sources.list apt.conf
Il file di configurazione deve indicare ad APT di memorizzare i suoi file sul disco e di usare i file di configurazione anch'essi sul disco. Il file sources.list deve contenere i siti appropriati che si desiderano usare dalla macchina remota e il file di stato dovrebbe essere una copia di /var/lib/dpkg/status della macchina di destinazione. Notare che, se si sta usando un archivio locale, si devono usare URI «copy» la cui sintassi è identica a quella degli URI «file».
apt.conf deve contenere le informazioni necessarie per far sì che APT usi il disco:
APT { /* Questo non è necessario se le due macchine hanno la stessa architettura, dice ad APT remoto qual è l'architettura della macchina di destinazione */ Architecture "i386"; Get::Download-Only "true"; }; Dir { /* Usa il disco per le informazioni sullo stato e ridirige il file di stato dalla posizione predefinita /var/lib/dpkg */ State "/disc/"; State::status "status"; // Le cache binarie saranno memorizzate in locale Cache::archives "/disc/archives/"; Cache "/tmp/"; // Posizione dell'elenco di fonti. Etc "/disc/"; };
Si possono vedere informazioni più dettagliate nella pagina di manuale di apt.conf e nel file di configurazione d'esempio in /usr/share/doc/apt/examples/apt.conf.
Nella macchina di destinazione, la prima cosa da fare è montare il disco e copiarvi /var/lib/dpkg/status. Sarà anche necessario creare le directory elencate nella panoramica: archives/partial/ e lists/partial/. Poi portare il disco nella macchina remota e configurare il file sources.list; in tale macchina eseguire:
# export APT_CONFIG="/disc/apt.conf" # apt-get update [ APT scarica i file degli elenchi dei pacchetti ] # apt-get dist-upgrade [ APT scarica tutti i pacchetti necessari per aggiornare la macchina di destinazione ]
Il comando dist-upgrade può essere sostituito con qualsiasi altro comando APT standard, in particolare dselect-upgrade. Si può persino usare un front-end per APT come dselect; questo tuttavia pone alcuni problemi nel comunicare le selezioni fatte al computer locale.
Ora il disco contiene i file indice e gli archivi necessari per aggiornare la macchina di destinazione. Riportare il disco alla macchina locale ed eseguire:
# export APT_CONFIG="/disc/apt.conf" # apt-get check [ APT genera una copia locale dei file di cache ] # apt-get --no-d -o dir::state::status=/var/lib/dpkg/status dist-upgrade [ O qualsiasi altro comando APT ]
Per il corretto funzionamento è necessario rispecificare il fatto che il file di stato è quello locale. Questo è molto importante!
Se si sta usando dselect si può fare l'operazione molto rischiosa di copiare disc/status in /var/lib/dpkg/status, in modo che sia aggiornata qualsiasi selezione fatta nella macchina remota. Si raccomanda di fare le selezioni solamente nella macchina locale, ma ciò non è sempre possibile. NON copiare il file di stato se nel frattempo sono stati eseguiti dpkg o APT!