|
|
Riga 1: |
Riga 1: |
| ==Introduzione==
| | Per poter firmare i nostri package necessitiamo di sue strumenti per poter firmare i nostri package necessitiamo di due strumenti '''gpg''' e '''dpkg-sig'''. |
|
| |
|
| Molto spesso ci si trova nella necessità di avere un mirror completo di una distribuzione Debian per uno o più computer che non sono connessi ad internet (o lo sono tramite una connessione troppo lenta).
| | Il primo dovrebbe essere gi� installato di defaul primo dovrebbe essere gi� installato di default con la nostra debian , per il secondo: |
| Debmirror ci viene in aiuto, dando la possibilità di creare un mirror locale.
| |
|
| |
|
|
| |
| ==Installazione==
| |
|
| |
| Per installare debmirror è sufficiente un
| |
| <pre> | | <pre> |
| # apt-get install debmirror | | # apt-get install dpkg-sig |
| </pre> | | </pre> |
| Un consiglio, nel caso in cui venga creato un mirror per effettuare una installazione od un aggiornamento per un computer non connesso in rete: usate un disco fisso esterno (nel caso in cui il mirror debba essere trasportato su un altro computer) o di un DVD-RW (nel caso in cui il mirror sia parziale).
| |
|
| |
|
| |
| ==Configurazione==
| |
|
| |
| Il programma non richiede configurazione, in quanto tutti gli eventuali parametri devono essere passati tramite riga di comando.
| |
|
| |
|
| |
|
| ==Opzione e Parametri==
| | fatto questo generiamo una nuova coppia di chiavi , da usare solo per firmare i packages |
|
| |
|
| La 'sintassi' del comando è la seguente:
| |
| <pre> | | <pre> |
| $ debmirror [OPZIONI] mirrordir | | $gpg --gen-key |
| </pre> | | </pre> |
| con i seguenti parametri:
| |
|
| |
|
| ; mirrordir : Questo parametro obbligatorio indica dove deve essere creato il mirror. Attenzione alla directory indicata in quanto, come opzione di default, vengono rimosse quelle directory e file che non appaiono nel repository di cui si effettua il mirroring
| | rispondiamo 1 alla prima domanda ovvero DSA e ElGamal |
|
| |
|
| ; --debug : Abilita il Debug
| | diamo invio |
|
| |
|
| ; --progress -p : Visualizza una barra di avanzamento per monitorare lo stato del mirroring
| | come dimensione lasciamo pure 1024 |
|
| |
|
| ; --verbose -v : Visualizza una barra di avanzamento tra i download dei file
| | diamo invio |
|
| |
|
| ; --source : Include i pacchetti dei sorgenti nel mirror [Default]
| | mettiamo 0 come scadenza |
|
| |
|
| ; --nosource: Non include i sorgenti dei programmi nel mirror
| | diamo invio |
|
| |
|
| ; --md5sums -m: Utilizza l'md5 per verificare quali file nel mirror locale sono corretti ed aggiornati, è disabilitato di default in quanto lento e 'paranoico'
| | rispondiamo s |
|
| |
|
| ; --passive: Esegui il download in modalità 'passiva'
| | diamo invio |
|
| |
|
| ; --host=remotehost -h: Indica qualche host utilizzare, si invita a controllare il mirror più vicino a questo indirizzo: http://www.debian.org/mirror/list , consentendo così una migior ripartizione del traffico sui mirror presenti. (Default: ftp.debian.org)
| | ora ci verr� chiesto Nome e Cognome |
|
| |
|
| ; --user=remoteusername -u : Sperifica l'utente remoto per accedere all'host remoto (normalmente va benissimo il valore di default) [Default: anonymous]
| | <pre> |
| | Nome e Cognome: denis pecci |
| | </pre> |
|
| |
|
| ;--method=ftp|hftp|http|rsync -e : Specifica quale metodo utilizzare per effettuare il download dei file. Sono supportati: ftp, http, hftp (ftp over http) rsync (per questo protocollo bisogna preporre ':' alla root directory dell'host remoto, ad esempio ":debian")
| | inseriamo i nostri dati e diamo invio |
|
| |
|
| ; --proxy=http://user:pass@url:port/:
| | ora ci viene chiesto l'indirizzo email |
| Specifica i parametri per la connessione tramite proxy
| |
|
| |
|
| ; --timeout=seconds -t: Specifica l'intervallo prima che il download di un file vada in timeout [Default: 300 secondi]
| | <pre> |
| | Indirizzo di Email: debian@nextdeb.net |
| | </pre> |
|
| |
|
| ; --root=directory -r directory: Specifica la root directory dell'host remoto. Normalmente è "/debian". In questa directory è contenuta la directory "dists". [Default: /debian]
| | inseriamolo e diamo invio |
|
| |
|
| ; --dist=foo[,bar,..] -d foo: Specifica la distribuzione (woody, sarge, sid). Possono essere indicate tutte e tre (-dist=woody,sarge,sid oppure -d woody -d sarge -d sid); i link (stable, unstable, testing) potrebbero non funzionare, quindi si invita ad utilizzare il nome della release). [Default: sid]
| | ed ora inseriamno il commento per la coppia di chiavi |
|
| |
|
| ; --section=foo[,bar,..] -s foo: Specifica la sezione (o le sezioni) di Debian di cui effettuare il mirroring. [Default: main,contrib,non-free,main/debian-installer]
| | <pre> |
| | | Commento: NextDeb Team Packager |
| ;--arch=foo[,bar,..] -a foo: Specifica la architettura (o le architetture) di cui effettuare il mirroring. (Default: i386)
| | </pre> |
| | |
| ; --cleanup: Esegue una pulizia della directory in cui verrà creato il mirror. [Default: on]
| |
| | |
| ; --nocleanup: Non esegue la pulizia del mirror al termine della creazione dello stesso
| |
|
| |
|
| ; --postcleanup: Esegue la pulizia del mirror locale solo quando il mirroring è terminato senza errori
| | diamo invio |
|
| |
|
| ; --ignore=regex: Non elimina i file che rispondono l'espressione regolare [regexp] (può essere usato più volte)
| | ed ora premiamo o e invio |
|
| |
|
| ; --exclude=regex: Non esegue il download dei file che soddisfano l'espressione regolare (può essere usato più volte)
| | ora ci verr� richiesta la password per le chiavi , inseriamola e invio |
|
| |
|
| ;--exclude-deb-section=regex: Non esegue il download dei file contenuti nella sezione che soddisfa l'espressione regolare [regexp] (può essere usato più volte)
| | ecco fatto ora abbiamo la nostra coppia di chiavi per firmare i packages |
|
| |
|
| ; --limit-priority=regex: 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)
| | esportiamole sul nostro keyserver preferito. |
|
| |
|
| ; --include=regex: Vengono inclusi i file che soddisfano l'espressione regolare [regexp] (può essere usato più volte)
| | per firmare i nostri packages procediamo in questo modo |
| | |
| ; --skippackages: Non scarica i file Packages e Sources (utile se questi file sono già aggiornati)
| |
| | |
| ; --getcontents: Scarica il file Contents.arch.gz
| |
| | |
| ;--ignore-missing-release: Non lancia un errore se il file Release non è presente nel mirror
| |
| | |
| ;--ignore-release-gpg: Non lancia un errore se non è presente il file Release.gpg (consigliato)
| |
| | |
| ;--dry-run: Esegue una simulazione, senza scaricare i file e pulire il mirror.
| |
| | |
| ;--rsync-options=options: Specifica le opzioni da passare a rsync. [Default: -aIL --partial]
| |
| Utile è anche l'opzione "--bwlimit=x" che consente di impostare la larghezza di banda massima da usare per il download
| |
| | |
| ;--ignore-small-errors: Ignora degli errori 'piccoli' o 'poco sognificanti' come il non aver trovato un file al 'primo colpo' e il dover procedere ad un altro tentativo... Consigliato
| |
| | |
| ;--help: Visualizza un help.
| |
| | |
| | |
| ==Utilizzo==
| |
| | |
| 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.
| |
| | |
| Ecco alcuni esempi di utilizzo:
| |
| * Mirror completo di sarge:
| |
|
| |
|
| <pre> | | <pre> |
| $ debmirror -p -d sarge --ignore-small-errors --ignore-release-gpg /path/to/dir
| | # dpkg-sig --sign nostronick nomepackages.deb |
| </pre> | | </pre> |
|
| |
|
| | {| border="1" cellpadding="5" cellspacing="0" align="center" |
| | |+'''Esempio''' |
| | |- |
| | | style="background:#efefef;" | |
| | <tt> |
| | root@nextdeb:/home/nextdeb/uploaded/cwcdr# dpkg-sig --sign debian cwcdr_2.0.1-4_all.deb |
| | Processing cwcdr_2.0.1-4_all.deb... |
|
| |
|
| ('''--ignore-small-errors --ignore-release-gpg''' 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. | | Ti serve una passphrase per sbloccare la chiave segreta |
| | dell'utente: "denis pecci (NextDeb Team Packager) <debian@nextdeb.net>" |
| | chiave DSA di 1024 bit, ID 73E02514, creata il 2004-11-26 |
|
| |
|
| * Mirror dei file che non appartengono alla sezione 'games', escludendo anche i sorgenti sorgenti:
| | Signed deb cwcdr_2.0.1-4_all.deb |
| <pre> | | </tt> |
| $ debmirror -p -d sarge --ignore-small-errors --ignore-release-gpg --exclude="games" --nosources /path/to/dir
| | |} |
| </pre>
| | |
| | Ecco fatto ora abbiamo firmato in maniera inecquivocabile il nostro packages |
| | per controllare la firma abbiamo due metodi o usando dpkg-sig oppure pgp |
| | vediamoli entrambi |
|
| |
|
| * Mirror di tutta Sarge (Sorgenti esclusi):
| |
| <pre> | | <pre> |
| $ debmirror -p -d sarge --ignore-small-errors --ignore-release-gpg --nosources /path/to/dir
| | # gpg --verify nome package |
| </pre> | | </pre> |
|
| |
|
| Come potete vedere da questi 3 esempi, l'utilizzo è molto semplice ed immediato.
| | {| border="1" cellpadding="5" cellspacing="0" align="center" |
| | |+'''Esempio''' |
| | |- |
| | | style="background:#efefef;" | |
| | <tt> |
| | root@nextdeb:/home/nextdeb/uploaded/cwcdr# gpg --verify cwcdr_2.0.1-4_all.deb gpg: Firma fatta ven 26 nov 2004 11:23:33 CET usando DSA con ID 73E02514 |
| | gpg: Firma valida da "denis pecci (NextDeb Team Packager) <debian@nextdeb.net>" |
| | gpg: controllo il trustdb |
| | gpg: controllo al livello 0 firmato=0 ot(-/q/n/m/f/u)=0/0/0/0/0/2 |
| | </tt> |
| | |} |
|
| |
|
| ==Debmirror e Cron==
| | mentre con dpkg-sig |
|
| |
|
| Può essere utile, per manterene aggiornato il mirror, lanciare debmirror ad intervalli regolari (magari ogni giorno)...
| |
| Così, aggiungengo una semplice riga a /etc/crontab è possibile programmare l'esecuzione di debmirror.
| |
| Ecco un esempio, che programma l'esecuzione del mirroring alle 00.00 di ogni giorno:
| |
| <pre> | | <pre> |
| 0 0 * * * maxer /usr/bin/debmirror -d sarge --ignore-small-errors --ignore-release-gpg --arch=none --nosource /store3/deb/
| | # dpkg-sig -v -l nome package |
| </pre> | | </pre> |
| così il mirror verrà aggiornato di notte, evitando eventuali problemi di banda o di carico eccessivo del sistema!
| |
|
| |
|
| |
|
| ==Considerazioni sull'Utilizzo== | | {| border="1" cellpadding="5" cellspacing="0" align="center" |
| | |+'''Esempio''' |
| | |- |
| | | style="background:#efefef;" | |
| | <tt> |
| | root@nextdeb:/home/nextdeb/uploaded/cwcdr# dpkg-sig -v -l cwcdr_2.0.1-4_all.deb Processing wcdr_2.0.1-4_all.deb... |
| | debian |
| | </tt> |
| | |} |
|
| |
|
| Prima di utilizzare questo strumento per installare o aggiornare Debian su un computer sprovvisto di connessione ad internet e/o con una connessione lenta, vorrei porre in luce alcune questioni:
| | come potete vedere quest'ultima maniera mostra solo il nick del firmante del package. |
| * L'utilizzo smodato di questo strumento genera un aumento di banda utilizzata (da parte dei mirror) considerevole (nell'ordine di Gbyte), uno spreco per un solo computer.
| |
| * Spesso si scaricano più programmi di quelli necessari (anzi, spesso quelli non utilizzati sono più del doppio di quelli utilizzati); consiglio quindi il download della prima e della seconda ISO di Sarge, o il primo DVD, in quanto su questi è presente il 90% dei pacchetti più utilizzati in ambito 'domestico'.
| |
| * [http://guide.debianizzati.org/index.php/Apt-zip:_aggiornamenti_senza_una_connessione_veloce Apt-zip] è spesso molto più comodo da utilizzare, ed anche più veloce...
| |
| 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 (anche se oramai può venir tranquillamente sostituito da apt-cache o simili).
| | per dubbi chiarimenti insulti ecc ecc sono qu� |
|
| |
|
| Dopo queste piccole considerazioni, happy Debian!
| | ne il sottoscritto ne debianizzati.org si assumono responsabilit� sull uso che farete di questa guida |
|
| |
|
| Lettura Consigliata: [[Apt-Proxy: un proxy per i pacchetti Debian]]
| |
|
| |
|
| ---- [[User:MaXeR|MaXeR]]
| | Autore: debian |