1 487
contributi
(→Nessuna Connessione ad Internet: primo pezzo) |
m (→Configurazione di Apache: tip) |
||
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... | ||
Alcune volte viene suggerito | 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)... | ||
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 17: | Riga 16: | ||
==Configurazione== | ==Configurazione== | ||
Il file di configurazione � '''/etc/apt/apt-zip.conf''' e contiene alcuni | Il file di configurazione � '''/etc/apt/apt-zip.conf''' e contiene alcuni valori di defalut utilizzati dai due comandi di apt-zip. | ||
Ecco quello di default: | Ecco quello di default: | ||
<pre> | <pre> | ||
Riga 60: | Riga 59: | ||
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 100: | Riga 98: | ||
La sintassi � la seguente: | La sintassi � la seguente: | ||
<pre> | <pre> | ||
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...]] | 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...]] | |||
apt-zip-inst [--help] [--version] [--medium=mountpoint] [--aptgetaction=action] [--packages=package[,package...]] [--fix-broken] [--skip-mount] | apt-zip-inst [--help] [--version] [--medium=mountpoint] [--aptgetaction=action] | ||
[--packages=package[,package...]] [--fix-broken] [--skip-mount] | |||
</pre> | </pre> | ||
Riga 160: | Riga 162: | ||
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 221: | Riga 223: | ||
� sufficiente, infatti, lanciare questo comando: | � sufficiente, infatti, lanciare questo comando: | ||
<pre> | <pre> | ||
$ cat fetch-script-wget-maxer | egrep "://" | cut -d | $ cat fetch-script-wget-maxer | egrep "://" | cut -d " " -f 1 > lista.txt | ||
</pre> | </pre> | ||
Riga 243: | Riga 245: | ||
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: | |||
<pre> | |||
# apt-get install apache | |||
</pre> | |||
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== |
contributi