3 581
contributi
m (rimossi link a guide obsolete) |
m (verificata) |
||
Riga 1: | Riga 1: | ||
{{Versioni compatibili| | {{Versioni compatibili|Jessie|Stretch|Buster}} | ||
== Introduzione == | == Introduzione == | ||
Molto spesso ci si trova nella necessità di avere un [[Creare un Repository Debian|mirror completo]] di una distribuzione Debian per uno o più computer che non sono connessi | Molto spesso ci si trova nella necessità di avere un [[Creare un Repository Debian|mirror completo]] di una distribuzione Debian per uno o più computer che non sono connessi a Internet, o lo sono tramite una connessione troppo lenta.<br/> | ||
Debmirror ci viene in aiuto, dando la possibilità di creare un mirror locale. | '''Debmirror''' ci viene in aiuto, dando la possibilità di creare un [[mirror]] locale. | ||
==Installazione== | ==Installazione== | ||
Per installare <code>debmirror</code> con [[privilegi di amministrazione]] è sufficiente: | |||
Per installare debmirror è sufficiente | |||
<pre> | <pre> | ||
# apt | # apt install debmirror | ||
</pre> | </pre> | ||
Un consiglio, nel caso in cui venga creato un mirror per effettuare una installazione o un aggiornamento per un computer non connesso in rete: usate un disco fisso esterno | Un consiglio, nel caso in cui venga creato un mirror per effettuare una installazione o un aggiornamento per un computer non connesso in rete: usate un disco fisso esterno. | ||
==Configurazione== | ==Configurazione== | ||
Il programma non richiede configurazione, in quanto tutti gli eventuali parametri devono essere passati tramite riga di comando. | Il programma non richiede configurazione, in quanto tutti gli eventuali parametri devono essere passati tramite riga di comando. | ||
==Opzione e Parametri== | ==Opzione e Parametri== | ||
La 'sintassi' del comando è la seguente: | La 'sintassi' del comando è la seguente: | ||
<pre> | <pre> | ||
Riga 38: | Riga 33: | ||
; <code>--nosource</code>: non include i sorgenti dei programmi nel mirror; | ; <code>--nosource</code>: non include i sorgenti dei programmi nel mirror; | ||
; <code>-- | ; <code>--checksum</code>: utilizza i checksum per verificare che i file nel mirror locale sono corretti ed aggiornati; è disabilitato di default in quanto lento e 'paranoico'; | ||
; <code>--passive</code>: esegue il download in modalità 'passiva'; | ; <code>--passive</code>: esegue il download in modalità 'passiva' quando usa il protocollo [[FTP]]; | ||
; <code>--host=remotehost -h</code>: indica quale host utilizzare, si invita a controllare il mirror più vicino a questo indirizzo: http://www.debian.org/mirror/list , consentendo così una miglior ripartizione del traffico sui mirror presenti (default: ftp.debian.org); | ; <code>--host=remotehost -h</code>: indica quale host utilizzare, si invita a controllare il mirror più vicino a questo indirizzo: http://www.debian.org/mirror/list , consentendo così una miglior ripartizione del traffico sui mirror presenti (default: ftp.debian.org); | ||
Riga 46: | Riga 41: | ||
; <code>--user=remoteusername -u</code>: specifica l'utente remoto per accedere all'host remoto (normalmente va benissimo il valore di default) [Default: anonymous]; | ; <code>--user=remoteusername -u</code>: specifica l'utente remoto per accedere all'host remoto (normalmente va benissimo il valore di default) [Default: anonymous]; | ||
; <code>--method=ftp| | ; <code>--method=ftp|http|https|rsync</code>: specifica quale metodo utilizzare per effettuare il download dei file. Il default è ancora ftp, ma ormai è disabilitato, quindi si consiglia di impostarne un altro; | ||
; <code>--proxy=http://user:pass@url:port/</code>: specifica i parametri per la connessione tramite proxy; | ; <code>--proxy=http://user:pass@url:port/</code>: specifica i parametri per la connessione tramite proxy; | ||
Riga 52: | Riga 47: | ||
; <code>--timeout=seconds -t</code>: Specifica l'intervallo prima che il download di un file vada in timeout [Default: 300 secondi]; | ; <code>--timeout=seconds -t</code>: Specifica l'intervallo prima che il download di un file vada in timeout [Default: 300 secondi]; | ||
; <code>--root=directory -r directory</code>: specifica la root directory dell'host remoto. Normalmente è "/debian". In questa directory è contenuta la | ; <code>--root=directory -r directory</code>: specifica la root directory dell'host remoto. Normalmente è "/debian". In questa directory è contenuta la sottodirectory "dists" [Default: /debian]; | ||
; <code>--dist=foo[,bar,..] -d foo</code>: specifica la distribuzione (Woody, Sarge, Sid). Possono essere indicate tutte e tre (-dist=woody,sarge,sid oppure -d woody -d sarge -d sid); | ; <code>--dist=foo[,bar,..] -d foo</code>: specifica la distribuzione (Woody, Sarge, Sid). Possono essere indicate tutte e tre (-dist=woody,sarge,sid oppure -d woody -d sarge -d sid); le [[suite]] (''stable'', ''unstable'', ''testing'') potrebbero non funzionare, quindi si invita ad utilizzare il [[codename]] della release); | ||
; <code>--section=foo[,bar,..] -s foo</code>: specifica la sezione (o le sezioni) di Debian di cui effettuare il mirroring [Default: main,contrib,non-free,main/debian-installer]; | ; <code>--section=foo[,bar,..] -s foo</code>: specifica la sezione (o le sezioni) di Debian di cui effettuare il mirroring [Default: main,contrib,non-free,main/debian-installer]; | ||
; <code>--arch=foo[,bar,..] -a foo</code>: specifica la architettura (o le architetture) di cui effettuare il mirroring | ; <code>--arch=foo[,bar,..] -a foo</code>: specifica la architettura (o le architetture) di cui effettuare il mirroring [Default: i386]; | ||
; <code>-- | ; <code>--postcleanup</code>: esegue la pulizia del mirror locale solo quando il mirroring è terminato senza errori [Default]; | ||
; <code>--precleanup</code>: esegue una pulizia della directory in cui verrà creato il mirror, prima di cominciare l'operazione; Può essere utile se non si ha molto spazio libero, ma risulterà in uno stato inconsistente del mirror locale finché l'operazione non sarà completata; | |||
; <code>--nocleanup</code>: non esegue la pulizia del mirror al termine della creazione dello stesso; | ; <code>--nocleanup</code>: non esegue la pulizia del mirror al termine della creazione dello stesso; | ||
; <code>--ignore=regex</code>: non elimina i file che rispondono l'espressione regolare [regexp] (può essere usato più volte); | ; <code>--ignore=regex</code>: non elimina i file che rispondono l'espressione regolare [regexp] (può essere usato più volte); | ||
Riga 74: | Riga 69: | ||
; <code>--limit-priority=regex</code>: limita il download ai file che soddisfano l'espressione regolare per quanto riguarda la priorità del pacchetto (reguired, extra, optional) (può essere usato più volte); | ; <code>--limit-priority=regex</code>: limita il download ai file che soddisfano l'espressione regolare per quanto riguarda la priorità del pacchetto (reguired, extra, optional) (può essere usato più volte); | ||
; <code>--include=regex</code>: | ; <code>--include-field=fieldname=regex</code>: non escludere i pacchetti il cui campo soddisfa l'espressione regolare [regexp] (può essere usato più volte); | ||
; <code>--skippackages</code>: non scarica i file <code>Packages</code> e <code>Sources</code> (utile se questi file sono già aggiornati); | ; <code>--skippackages</code>: non scarica i file <code>Packages</code> e <code>Sources</code> (utile se questi file sono già aggiornati); | ||
Riga 86: | Riga 81: | ||
; <code>--dry-run</code>: esegue una simulazione, senza scaricare i file e pulire il mirror; | ; <code>--dry-run</code>: esegue una simulazione, senza scaricare i file e pulire il mirror; | ||
; <code>--rsync-options=options</code>: Specifica le opzioni da passare a rsync [Default: -aIL --partial] | ; <code>--rsync-options=options</code>: Specifica le opzioni da passare a rsync [Default: -aIL --partial]. Utile è anche l'opzione <code>--bwlimit=x</code> che consente di impostare la larghezza di banda massima da usare per il download; | ||
Utile è anche l'opzione <code>--bwlimit=x</code> che consente di impostare la larghezza di banda massima da usare per il download | |||
; <code>--ignore-small-errors</code>: Ignora degli errori 'piccoli' o 'poco significativi' come il non aver trovato un file al 'primo colpo' e il dover procedere ad un altro tentativo.Consigliato; | ; <code>--ignore-small-errors</code>: Ignora degli errori 'piccoli' o 'poco significativi' come il non aver trovato un file al 'primo colpo' e il dover procedere ad un altro tentativo.Consigliato; | ||
Riga 95: | Riga 88: | ||
==Utilizzo== | ==Utilizzo== | ||
L'utilizzo è semplice: basta indicare solo quello necessario e lui provvederà a scaricare tutti i file necessari.<br/> | |||
L'utilizzo è semplice: basta indicare solo quello necessario e lui provvederà a scaricare tutti i file necessari. | |||
Verrà creata una struttura uguale a quella di un mirror Debian ed eventualmente (se già presente) verranno controllati ed aggiornati i pacchetti vecchi. | Verrà creata una struttura uguale a quella di un mirror Debian ed eventualmente (se già presente) verranno controllati ed aggiornati i pacchetti vecchi. | ||
Ecco alcuni esempi di utilizzo: | Ecco alcuni esempi di utilizzo: | ||
* Mirror completo di | * Mirror completo di Debian 10 ([[Buster]]) dal redirector (http://deb.debian.org), che dovrebbe scegliere il [[mirror]] più veloce: | ||
<pre> | <pre> | ||
$ debmirror -p -d | $ debmirror -p --method=http -h deb.debian.org -d buster --ignore-small-errors --ignore-release-gpg /path/to/dir | ||
</pre> | </pre> | ||
(<code>'''--ignore-small-errors --ignore-release-gpg'''</code> le includo sempre, in quanto potrebbero dare dei problemi; eventualmente si può provare a lanciare il processo senza gli 'ignore' per controllare eventuali errori nel caso il processo non vada a buon fine.) | (<code>'''--ignore-small-errors --ignore-release-gpg'''</code> le includo sempre, in quanto potrebbero dare dei problemi; eventualmente si può provare a lanciare il processo senza gli 'ignore' per controllare eventuali errori nel caso il processo non vada a buon fine.) | ||
* Mirror dei file che non appartengono alla sezione 'games', escludendo anche i sorgenti sorgenti: | * Mirror dei file che non appartengono alla sezione 'games', escludendo anche i sorgenti sorgenti: | ||
<pre> | <pre> | ||
$ debmirror -p -d | $ debmirror -p --method=http -h deb.debian.org -d buster --ignore-small-errors --ignore-release-gpg --exclude="games" --nosource /path/to/dir | ||
</pre> | </pre> | ||
* Mirror di tutta | * Mirror di tutta Buster (sorgenti esclusi): | ||
<pre> | <pre> | ||
$ debmirror -p -d | $ debmirror -p --method=http -h deb.debian.org -d buster --ignore-small-errors --ignore-release-gpg --nosource /path/to/dir | ||
</pre> | </pre> | ||
Riga 122: | Riga 111: | ||
==Debmirror e Cron== | ==Debmirror e Cron== | ||
Può essere utile, per mantenere aggiornato il mirror, lanciare debmirror ad intervalli regolari (magari ogni giorno). Così, aggiungendo una semplice riga a <code>/etc/crontab</code> è possibile programmare l'esecuzione di debmirror. | |||
Ecco un esempio, che programma l'esecuzione del mirroring alle 00.00 di ogni giorno: | Ecco un esempio, che programma l'esecuzione del mirroring alle 00.00 di ogni giorno: | ||
<pre> | <pre> | ||
0 0 * * * maxer /usr/bin/debmirror -d | 0 0 * * * maxer /usr/bin/debmirror --method=http -h deb.debian.org -d buster --ignore-small-errors --ignore-release-gpg --arch=none --nosource /store3/deb/ | ||
</pre> | </pre> | ||
così il mirror verrà aggiornato di notte, evitando eventuali problemi di banda o di carico eccessivo del sistema! | così il mirror verrà aggiornato di notte, evitando eventuali problemi di banda o di carico eccessivo del sistema! | ||
== Considerazioni sull'Utilizzo == | == Considerazioni sull'Utilizzo == | ||
Riga 138: | Riga 125: | ||
Non dimentichiamoci che le risorse dei mirror sono 'donate' al progetto Debian, ed un aumento esponenziale o troppo sostenuto delle risorse richieste potrebbe compromettere la disponibilità dell'hoster. | Non dimentichiamoci che le risorse dei mirror sono 'donate' al progetto Debian, ed un aumento esponenziale o troppo sostenuto delle risorse richieste potrebbe compromettere la disponibilità dell'hoster. | ||
Inoltre debmirror non è designato propriamente per generare 'mirror di installazione', ma per creare mirror locali in LAN di medie dimensioni | Inoltre '''debmirror''' non è designato propriamente per generare 'mirror di installazione', ma per creare mirror locali in LAN di medie dimensioni. | ||
Dopo queste piccole considerazioni, happy Debian! | Dopo queste piccole considerazioni, happy Debian! | ||
Riga 144: | Riga 131: | ||
{{Autori | {{Autori | ||
|Autore=[[User:MaXeR|MaXeR]] | |Autore=[[User:MaXeR|MaXeR]] | ||
|Verificata_da= | |||
:[[Utente:HAL 9000|HAL 9000]] 16:25, 27 set 2019 (CEST) | |||
|Numero_revisori=1 | |||
}} | }} | ||
[[Categoria:Creare repository]] | [[Categoria:Creare repository]] |
contributi