1 760
contributi
mNessun oggetto della modifica |
mNessun oggetto della modifica |
||
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 [[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: 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! | |||
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== | ||
L'installazione | L'installazione � semplicissima: | ||
<pre> | <pre> | ||
# apt-get install apt-zip | # apt-get install apt-zip | ||
Riga 16: | Riga 16: | ||
==Configurazione== | ==Configurazione== | ||
Il file di configurazione | 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 55: | Riga 55: | ||
'''MEDIUM''' e '''DEFAULT_APTGETACTION''' | '''MEDIUM''' e '''DEFAULT_APTGETACTION''' | ||
'''MEDIUM''' indica il path della periferica removibile che | '''MEDIUM''' indica il path della periferica removibile che verr� utilizzata (io l'ho modificata in /mnt/pen, il mountpoint della mia pennina usb);<br/> | ||
'''DEFAULT_APTGETACTION''' l'azione di default da apt-get (a meno che non sia indicata una lista di pacchetti od un'altra azione), quella di default esegue un aggiornamento tramite dselect. | '''DEFAULT_APTGETACTION''' l'azione di default da apt-get (a meno che non sia indicata una lista di pacchetti od un'altra azione), quella di default esegue un aggiornamento tramite dselect. | ||
Normalmente solo '''MEDIUM''' viene modificato, in quanto le opzioni di default sono | Normalmente solo '''MEDIUM''' viene modificato, in quanto le opzioni di default sono pi� che corrette per qualsiasi utilizzo. | ||
==Preparazione del Sistema== | ==Preparazione del Sistema== | ||
Ora, prima di passare all'analisi del programma ed al suo utilizzo, prepariamo il sistema per usare apt-zip. | Ora, prima di passare all'analisi del programma ed al suo utilizzo, prepariamo il sistema per usare apt-zip. | ||
Normalmente | Normalmente � necessario un disco removibile (penna usb, disco usb, uno ZIP o altro) ma � possibile, con alcuni accorgimenti, esportare i due file creati da apt-zip tramite un floppy od una mail, e poi creare in un'altra sede un cd od un dvd con i pacchetti scaricati. | ||
===Supporto Removibile=== | ===Supporto Removibile=== | ||
Nel caso si disponga di un supporto removibile | Nel caso si disponga di un supporto removibile � consigliato modificare il file /etc/fstab aggiungendo la seguente riga (riferita al dispositivo): | ||
<pre> | <pre> | ||
mountpoint device filesystem options 0 0 | mountpoint device filesystem options 0 0 | ||
Riga 73: | Riga 73: | ||
per esempio (nel caso di una penna usb) | per esempio (nel caso di una penna usb) | ||
<pre> | <pre> | ||
/dev/sda1 | /mnt/pen /dev/sda1 vfat rw,users,umask=000,quiet 0 0 | ||
</pre> | </pre> | ||
Riga 82: | Riga 82: | ||
</pre> | </pre> | ||
Inoltre, se non presente nel sistema, | Inoltre, se non presente nel sistema, � necessario creare la directory indicata nel mountpoint (nell'esempio precedente /mnt/pen ). | ||
===In una directory locale=== | ===In una directory locale=== | ||
Riga 90: | Riga 90: | ||
==Sintassi ed Opzioni== | ==Sintassi ed Opzioni== | ||
Apt-zip | Apt-zip � composto da due eseguibili: | ||
'''apt-zip-list''' e '''apt-zip-inst''' | '''apt-zip-list''' e '''apt-zip-inst''' | ||
; apt-zip-list : ha il compito di generare uno script (ed un file contenente le opzioni per l'installazione dei pacchetti che verranno scaricati) per il download dei pacchetti da una qualsiasi macchina Linux (con un trucchetto | ; apt-zip-list : ha il compito di generare uno script (ed un file contenente le opzioni per l'installazione dei pacchetti che verranno scaricati) per il download dei pacchetti da una qualsiasi macchina Linux (con un trucchetto � possibile eseguire il download anche da macchine con un sistema operativo diverso, purch� con wget installato).<br/> | ||
; apt-zip-inst : ha il compito di installare i file scaricati (vedremo in seguito come). | ; apt-zip-inst : ha il compito di installare i file scaricati (vedremo in seguito come). | ||
La sintassi | La sintassi � la seguente: | ||
<pre> | <pre> | ||
apt-zip-list [--help] [--version] [--medium=mountpoint] | apt-zip-list [--help] [--version] [--medium=mountpoint] | ||
Riga 134: | Riga 134: | ||
===Aggiornare il sistema=== | ===Aggiornare il sistema=== | ||
forse | forse � la pratica pi� diffusa...abbiamo a disposizione tre opzioni: | ||
====dselect-upgrade==== | ====dselect-upgrade==== | ||
Riga 143: | Riga 143: | ||
e lanciando l'aggiornamento, verranno scaricati gli archivi con le liste dei pacchetti aggiornati, che verranno processati da dselect... inoltre si potranno anche selezionare i pacchetti che si vorrebbero installare (in pratica si usa normalmente il tool dselect, avendo cura di non selezionare l'opzione di installare i pacchetti, ma uscendo dal programma)... | e lanciando l'aggiornamento, verranno scaricati gli archivi con le liste dei pacchetti aggiornati, che verranno processati da dselect... inoltre si potranno anche selezionare i pacchetti che si vorrebbero installare (in pratica si usa normalmente il tool dselect, avendo cura di non selezionare l'opzione di installare i pacchetti, ma uscendo dal programma)... | ||
Una volta fatto, | Una volta fatto, � sufficiente lanciare il seguente comando per creare i due script necessari per scaricare, da un altro computer, i pacchetti: | ||
<pre> | <pre> | ||
# apt-zip-list --aptgetaction=dselect-upgrade --medium=/mnt/point | # apt-zip-list --aptgetaction=dselect-upgrade --medium=/mnt/point | ||
</pre> | </pre> | ||
dove '''/mnt/point''' rappresenta il punto di mount del dispositivo; se si tratta di una directory normale, invece, il comando | dove '''/mnt/point''' rappresenta il punto di mount del dispositivo; se si tratta di una directory normale, invece, il comando sar� | ||
<pre> | <pre> | ||
# apt-zip-list --aptgetaction=dselect-upgrade --skip-mount --medium=/mnt/point | # apt-zip-list --aptgetaction=dselect-upgrade --skip-mount --medium=/mnt/point | ||
Riga 155: | Riga 155: | ||
====upgrade==== | ====upgrade==== | ||
verr� generata la lista dei pacchetti da scaricare per eseguire un | |||
<pre> | <pre> | ||
# apt-get upgrade | # apt-get upgrade | ||
</pre> | </pre> | ||
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 | ||
Riga 172: | Riga 172: | ||
====dist-upgrade==== | ====dist-upgrade==== | ||
in questo caso, | in questo caso, verr� generata la lista dei pacchetti da scaricare per completare il comando | ||
<pre> | <pre> | ||
# apt-get dist-upgrade | # apt-get dist-upgrade | ||
</pre> | </pre> | ||
il comando per fare questo | il comando per fare questo � | ||
<pre> | <pre> | ||
# apt-zip-list --aptgetaction=dist-upgrade --medium/mnt/point | # apt-zip-list --aptgetaction=dist-upgrade --medium/mnt/point | ||
Riga 189: | Riga 189: | ||
===Installare i pacchetti mancanti=== | ===Installare i pacchetti mancanti=== | ||
in questo caso, | in questo caso, � possibile creare la lista di pacchetti necessari per l'installazione di un programma/pacchetto e per soddisfare le sue dipendenze... | ||
il comando | il comando � | ||
<pre> | <pre> | ||
# apt-zip-list --packages=pacchetto,pacchetto1,pacchetto2 --medium=/mnt/point | # apt-zip-list --packages=pacchetto,pacchetto1,pacchetto2 --medium=/mnt/point | ||
Riga 199: | Riga 199: | ||
</pre> | </pre> | ||
nel caso di una directory del filesystem... | nel caso di una directory del filesystem... | ||
dove pacchetto,pacchetto1,pacchetto2 | dove pacchetto,pacchetto1,pacchetto2 � la lista dei pacchetti da installare, separati da una virgola... | ||
Come potete vedere, l'utilizzo | Come potete vedere, l'utilizzo � veramente semplice ed intuitivo... | ||
Riga 211: | Riga 211: | ||
'''fetch-script-wget-nomemacchina''' | '''fetch-script-wget-nomemacchina''' | ||
che si | che si occuper� di scaricare i pacchetti, di controllarne l'md5 (cos� da evitare i problemi derivanti da una possibile (remotamente) corruzione dei file) | ||
In parole povere, | In parole povere, sar� semplice, sulla macchina da cui si possono scaricare i pacchetti, lanciare il secondo script: | ||
<pre> | <pre> | ||
$ ./fetch-script-wget-nomemacchina | $ ./fetch-script-wget-nomemacchina | ||
</pre> | </pre> | ||
cos� verranno scaricati i pacchetti contenuti nella lista... | |||
Se non si dispone di una shell dove eseguire lo script (se la macchina | Se non si dispone di una shell dove eseguire lo script (se la macchina � windows, per esempio, anche se una visitina a [1] sarebbe indicata), � possibile scaricare ugualmente i pacchetti... | ||
� 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 | ||
Riga 227: | Riga 227: | ||
per ottenere una lista 'normale' di file, utilizzabile da wget o da un normale programma per il download di file dalla rete... | per ottenere una lista 'normale' di file, utilizzabile da wget o da un normale programma per il download di file dalla rete... | ||
Se si usa wget (Disponibile anche per windows [2]) | Se si usa wget (Disponibile anche per windows [2]) � sufficiente un | ||
<pre> | <pre> | ||
$ wget -i lista.txt | $ wget -i lista.txt | ||
Riga 237: | Riga 237: | ||
==Installazione dei pacchetti== | ==Installazione dei pacchetti== | ||
Una volta terminato, | Una volta terminato, � possibile installare i pacchetti con il comando | ||
<pre> | <pre> | ||
# apt-zip-int --medium=/mnt/point | # apt-zip-int --medium=/mnt/point | ||
</pre> | </pre> | ||
( | (ricorod che la direttiva '''--medium''' pu� essere omessa se presente nel file di configurazione di apt-zip) | ||
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== | ==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 | 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=== | ||
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=== | ===Configurazione di Apache=== | ||
� sufficiente installare apache: | |||
<pre> | <pre> | ||
# apt-get install apache | # apt-get install apache | ||
</pre> | </pre> | ||
Per una guida | 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 | 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. | 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. | ||
Riga 265: | Riga 267: | ||
Prendiamo come esempio il repository '''Nerim''', contenente software come mplayer, w32codecs, ... molto utili per la visualizzazione di filmati. | 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/), | 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: | Prendiamo in analisi i repository per Sarge: | ||
Riga 285: | Riga 287: | ||
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). | 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 | 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: | Una volta scaricati, copiamoli nella directory creata: | ||
Riga 295: | Riga 297: | ||
===Modifica di sources.list=== | ===Modifica di sources.list=== | ||
Siamo pronti a modificare il file '''/etc/apt/sources.list''' in modo da utilizzare il repository appena creato. | 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 | Nel nostro caso di esempio, quindi, la riga da aggiungere sar� la seguente: | ||
<pre> | <pre> | ||
deb http://localhost/ | deb http://localhost/arillat/ sarge main | ||
</pre> | </pre> | ||
Riga 306: | Riga 308: | ||
===Creazione della lista di pacchetti=== | ===Creazione della lista di pacchetti=== | ||
Ritornando al nostro ragionamento, | Ritornando al nostro ragionamento, | ||
===Conversione dello script=== | ===Conversione dello script=== | ||
==Conclusione== | ==Conclusione== | ||
L'utilizzo di questa utility | L'utilizzo di questa utility � veramente semplice, soprattutto rispetto alle innumerevoli comodit� che offre... | ||
Personalmente uso apt-zip con un Hard Disk da 10Gb come supporto removibile, dove sono presenti delle directory per ogni computer che necessita di aggiornamenti/installazioni, | Personalmente uso apt-zip con un Hard Disk da 10Gb come supporto removibile, dove sono presenti delle directory per ogni computer che necessita di aggiornamenti/installazioni, cos� da avere tutto abbastanza separato ed ordinato... | ||
Riga 355: | Riga 325: | ||
---- [[User:MaXeR|MaXeR]] | ---- [[User:MaXeR|MaXeR]] | ||
contributi