Apt-zip: aggiornamenti senza una connessione veloce: differenze tra le versioni

Riga 1: Riga 1:
==Introduzione==
==Introduzione==


Qualche volta ci troviamo nella situazione di dover aggiornare una macchina con una connessione internet lenta...
Qualche volta ci troviamo nella situazione di dover aggiornare una macchina con una connessione internet lenta e/o inesistente...
Alcune volte viene suggerito [[Debmirror: creiamo un mirror Debian | Debmirror]] (soluzione che reputo sovradimensionata e dispendiosa), altre viene suggerito il download del primo DVD o dei primi 2-3 CD di Sarge (ma per quanto riguarda sid, non esiste niente del genere)...
Alcune volte viene suggerito debmirror (soluzione che reputo sovradimensionata e dispendiosa), altre viene suggerito il download del primo DVD o dei primi 2-3 CD di Sarge (ma per quanto riguarda sid, non esiste niente del genere)...
Cos� ho pensato di organizzare qualche appunto che avevo su apt-zip, un comodo tool che ci viene in aiuto proprio in questi casi!
Cos� ho pensato di organizzare qualche appunto che avevo su apt-zip, un comodo tool che ci viene in aiuto proprio in questi casi!
Vedremo come utilizzarlo su computer connessi ad internet con una connessione lenta...
Vedremo come utilizzarlo su computer connessi ad internet con una connessione lenta...


==Installazione==
==Installazione==
Riga 16: Riga 17:
==Configurazione==
==Configurazione==


Il file di configurazione � '''/etc/apt/apt-zip.conf''' e contiene alcuni valori di defalut utilizzati dai due comandi di apt-zip.
Il file di configurazione � '''/etc/apt/apt-zip.conf''' e contiene alcuni valodi di defalut utilizzati dai due comandi di apt-zip.
Ecco quello di default:
Ecco quello di default:
<pre>
<pre>
Riga 59: Riga 60:


Normalmente solo '''MEDIUM''' viene modificato, in quanto le opzioni di default sono pi� che corrette per qualsiasi utilizzo.
Normalmente solo '''MEDIUM''' viene modificato, in quanto le opzioni di default sono pi� che corrette per qualsiasi utilizzo.


==Preparazione del Sistema==
==Preparazione del Sistema==
Riga 98: Riga 100:
La sintassi � la seguente:
La sintassi � la seguente:
<pre>
<pre>
apt-zip-list [--help] [--version] [--medium=mountpoint]  
apt-zip-list [--help] [--version] [--medium=mountpoint] [--aptgetaction=action] [--packages=package[,package...]] [--fix-broken] [--skip-mount] [--method=method] [--options=opt[,opt...]] [ --accept=accept[,accept...]] [ --reject=reject[,reject...]]
            [--aptgetaction=action] [--packages=package[,package...]]  
            [--fix-broken] [--skip-mount] [--method=method] [--options=opt[,opt...]]  
            [ --accept=accept[,accept...]] [ --reject=reject[,reject...]]


apt-zip-inst [--help] [--version] [--medium=mountpoint] [--aptgetaction=action]  
apt-zip-inst [--help] [--version] [--medium=mountpoint] [--aptgetaction=action] [--packages=package[,package...]] [--fix-broken] [--skip-mount]
            [--packages=package[,package...]] [--fix-broken] [--skip-mount]
</pre>
</pre>


Riga 162: Riga 160:
il comando per fare questo �
il comando per fare questo �
<pre>
<pre>
# apt-zip-list --aptgetaction=upgrade --medium=/mnt/point
# apt-zip-list --aptgetaction=upgrade --medium/mnt/point
</pre>
</pre>
nel caso di un supporto removibile, o
nel caso di un supporto removibile, o
Riga 223: Riga 221:
� sufficiente, infatti, lanciare questo comando:
� sufficiente, infatti, lanciare questo comando:
<pre>
<pre>
$ cat fetch-script-wget-maxer | egrep "://" | cut -d " " -f 1 > lista.txt
$ cat fetch-script-wget-maxer | egrep "://" | cut -d-f 1 > lista.txt
</pre>
</pre>


Riga 245: Riga 243:
aggiungendo, eventualmente, '''--skip-mount''' se si tratta di una directory locale...
aggiungendo, eventualmente, '''--skip-mount''' se si tratta di una directory locale...


==Nessuna Connessione ad Internet==
In questa sezione vedremo come poter usare apt-zip in casi di totale assenza di connessione ad Internet. Premetto che la cosa abbastanza macchinosa, e richiede due accessi al computer provvisto di connessione.
===L'idea===
L'idea , fondamentalmente, semplice: ''inganneremo'' apt creando sulla nostra macchina un mirror dei repository da cui vorremmo attingere i pacchetti. Il mirror, per, sar parziale/fasullo, in quanto conterr solo i file relativi ai pacchetti contenuti nel repository. Sar necessario utilizzare Apache, in quanto apt-zip non inserisce nella lista i pacchetti non raggiungibili tramite una connessione (ad esempio quelli su disco..).
===Configurazione di Apache===
sufficiente installare apache:
[code]
# apt-get install apache
[/code]
Per una guida pi approfondita a riguardo, consiglio la lettura di: [[LAMP: Linux, Apache, MySQL e PHP]].
La configurazione di default di Apache utilizza come directory principale di lavoro '''/var/www/''', che verr usata anche da noi per creare i nostri repository ''fittizzi''!
Apache si ''muove'' come l'utente '''www-data''', quindi dovremo sempre preoccuparci di rendere i dati accessibili a questo utente, in modo da non ricevere errori di tipo ''403'', indicanti una mancanza di permessi.
===La struttura delle Directory===
Prendiamo come esempio il repository '''Nerim''', contenente software come mplayer, w32codecs, ... molto utili per la visualizzazione di filmati.
Prima di tutto, rechiamoci sul sito ufficiale del repository (http://debian.video.free.fr/), cos da vedere come strutturato.
Prendiamo in analisi i repository per Sarge:
<pre>
deb http://ftp.nerim.net/debian-marillat/ sarge main
</pre>
come descritto nella guida [[I repository ed il loro utilizzo]], in questo caso i file che descrivono il contenuto del repository si trovano in '''http://ftp.nerim.net/debian-marillat/dists/sarge/main/''', in particolare nella sottodirectory '''binary-i386'''.
Procediamo, quindi, a ricreare una struttura simile in '''/var/www/''':
<pre>
# mkdir /var/www/marillat
# chown user:www-data $_
# chmod g+s $_
$ cd /var/www/marillat
$ mkdir -p dists/sarge/main/binary-i386/
$ cd $_
</pre>
in questo caso, '''user''' rappresenta l'utente che normalmente utilizziamo, mentre '''$_''' ci permette di riutilizzare il parametro utilizzato nel comando precedente, facendoci risparmiare qualche carattere ([[Bash  tips]] per maggiori informazioni).
La struttura stata creata, non ci resta che recuperare i file contenuti in quella directory: ''Packages.gz'' e ''Release''.
Una volta scaricati, copiamoli nella directory creata:
<pre>
$ cp Packages.gz Releasee /var/www/marillat/dists/sarge/main/binary-i386/
</pre>
===Modifica di sources.list===
Siamo pronti a modificare il file '''/etc/apt/sources.list''' in modo da utilizzare il repository appena creato.
Nel nostro caso di esempio, quindi, la riga da aggiungere sar la seguente:
<pre>
deb http://localhost/arillat/ sarge main
</pre>
Una volta terminata la modifica, aggiorniamo il database dei pacchetti disponibili con un
<pre>
# apt-get update
</pre>
===Creazione della lista di pacchetti===
Ritornando al nostro ragionamento,
===Conversione dello script===


==Conclusione==
==Conclusione==
1 487

contributi