Debmirror: creiamo un mirror Debian: differenze tra le versioni

m
nessun oggetto della modifica
mNessun oggetto della modifica
Riga 1: Riga 1:
Per poter firmare i nostri package necessitiamo di sue strumenti per poter firmare i nostri package necessitiamo di due strumenti '''gpg''' e '''dpkg-sig'''.
==Introduzione==


Il primo dovrebbe essere gi� installato di defaul primo dovrebbe essere gi� installato di default con la nostra debian , per il secondo:
In questo howto vedremo come sia possibile applicare una patch ad un pacchetto
ufficiale Debian.
Prima di proseguire, per�, vedremo quando non � possibile farlo:
* il pacchetto non � stato distribuito anche in forma di sorgenti (capita per
qualche repository non ufficiale e per alcuni pecchetti uff. (una volta mi era
successo...).


==Preparazione del sistema==
Per prima cosa bisogna assicurarsi di avere, in '''/etc/apt/sources.list''',
le sorgenti per scaricare i pacchetti di tipo deb-src:
<pre>
<pre>
# apt-get install dpkg-sig
#--CUT HERE--#
</pre>
#per stable
deb-src http://ftp2.it.debian.org/debian/ stable main non-free contrib
deb-src http://non-us.debian.org/debian-non-US stable/non-US main contrib
non-free


fatto questo generiamo una nuova coppia di chiavi , da usare solo per firmare i packages
#per testing
deb-src http://ftp2.it.debian.org/debian/ testing main non-free contrib
deb-src http://non-us.debian.org/debian-non-US testing/non-US main contrib
non-free


#per unstable
deb-src http://ftp2.it.debian.org/debian/ sid main non-free contrib
deb-src http://non-us.debian.org/debian-non-US sid/non-US main contrib non-free
#--CUT HERE--#
</pre>
ora aggiorniamo il contenuto del database dei pacchetti:
<pre>
<pre>
$gpg --gen-key
# apt-get update
</pre>
</pre>


rispondiamo 1 alla prima domanda ovvero DSA e ElGamal


diamo invio
==Procediamo==


come dimensione lasciamo pure 1024
===Metodo 1: `apt-get source && dpkg-buildpackage`===


diamo invio
Per scaricare i sorgenti, seguiamo questa procedura:
Per avere tutto in ordine, creiamo una cartella di lavoro
<pre>
$ mkdir nomepacchetto && cd nomepacchetto
</pre>


mettiamo 0 come scadenza
Ora possiamo scaricare i sorgenti:
<pre>
$ apt-get source nomepacchetto
</pre>


diamo invio
cos� facendo, scaricheremo 3 file, che verranno decompressi in una cartella
(nomepacchetto-ver.sio.ne)


rispondiamo s
Ora possiamo entrare in questa cartella, scaricare la patch e applicarla:
<pre>
$ cd nomepacchetto-ver.sio.ne
$ wget http://indirizzo/per/la/patch.patch
</pre>


diamo invio
supponendo che la patch non sia compressa...
 
<pre>
ora ci verr� chiesto Nome e Cognome
$ patch -p1 < patch.patch
</pre>


se compressa:
<pre>
<pre>
Nome e Cognome: denis pecci
$ zcat patch.patch | patch -p1
</pre>
</pre>


inseriamo i nostri dati e diamo invio
Una volta applicata la patch, se non riceviamo errori, siamo pronti a
 
compilare il pacchetto.
ora ci viene chiesto l'indirizzo email
Per fare questo utilizzeremo un altro tool Debian: dpkg-buildpackage
 
<pre>
<pre>
Indirizzo di Email: debian@nextdeb.net
# dpkg-buildpackage
</pre>
</pre>


inseriamolo e diamo invio
Il comando prover� a compilare il pacchetto, ed in caso di errori ci chieder�
 
di sistemare le dipendenze (se l'errore � dovuto alla mancanza di alcune
ed ora inseriamno il commento per la coppia di chiavi
librerie) elencando tutti i pacchetti necessari, installabili con un normale
 
<pre>
<pre>
Commento: NextDeb Team Packager
# apt-get buid-dep 'nomepacchetto_da_installare'
</pre>
</pre>


diamo invio
una volta giunta a termine la compilazione, troveremo (nella cartella
 
nomepacchetto da noi creata) una serie di file .deb!
ed ora premiamo o e invio
ora possiamo installarli:
 
ora ci verr� richiesta la password per le chiavi , inseriamola e invio
 
ecco fatto ora abbiamo la nostra coppia di chiavi per firmare i packages
 
esportiamole sul nostro keyserver preferito.
 
per firmare i nostri packages procediamo in questo modo
 
<pre>
<pre>
# dpkg-sig --sign nostronick nomepackages.deb
# dpkg -i nomepacchetto_ver.sio.ne.deb
</pre>
</pre>


{| border="1" cellpadding="5" cellspacing="0" align="center"
Bene, se non riceviamo errori...il pacchetto � installato.
|+'''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...


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


Signed deb cwcdr_2.0.1-4_all.deb
===Metodo 2: `apt-build`===
</tt>
|}


Ecco fatto ora abbiamo firmato in maniera inecquivocabile il nostro packages
Prima di iniziare, � d'obbligo una introduzione su apt-build.
per controllare la firma abbiamo due metodi o usando dpkg-sig oppure pgp
Questo tool � abbastanza giovane, e consente di compilare i pacchetti Debian
vediamoli entrambi
ottimizzandoli per la propria macchina. Durante l'installazione vengono poste
delle domande (tipo di processore, livello di ottimizzazione), e rispondendo
nel modo opportuno, sar� possibile compilare i pacchetti ottimizzandoli per la
propria macchina, cosa che, nel METODO 1 non avviene.


Apt-build ci mette a disposizione una opzione, '''--patch''', che consente di applicare delle patch al pacchetto da installare.
Vediamo, ora, come fare.
Scarichiamo la patch:
<pre>
<pre>
# gpg --verify nome package
$ wget http://indirizzo/per/la/patch.patch
</pre>
</pre>


{| border="1" cellpadding="5" cellspacing="0" align="center"
ora diamo il semplice comando:
|+'''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>
|}
 
mentre con dpkg-sig
 
<pre>
<pre>
# dpkg-sig -v -l nome package
# apt-build -p 0 --patch patch.patch install 'pacchetto'
</pre>
</pre>


{| border="1" cellpadding="5" cellspacing="0" align="center"
ora mettiamoci comodi, armati di tazzona di caff� (rigorosamente marchiata con un bel Tux) e controlliamo a video mentre:
|+'''Esempio'''
* vengono scaricate i pacchetti *-dev per la compilazione;
|-
* viene aggiornato l'elenco dei pacchetti dei vari repository (usare l'opzione '''--noupdate''' per evitarlo);
| style="background:#efefef;" |
* vengono scaricati i sorgenti del pacchetto;
<tt>
* viene applicata la patch;
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...
* inizia la compilazione del pacchetto:
debian
* viene/vengono installato/i il/i pacchetto/i generato/i.
</tt>
|}
 
come potete vedere quest'ultima maniera mostra solo il nick del firmante del package.


per dubbi chiarimenti insulti ecc ecc sono qu�
Bene, ora il pacchetto � installato nel vostro sistema!


ne il sottoscritto ne debianizzati.org si assumono responsabilit sull uso che farete di questa guida


---- [[User:MaXeR|MaXeR]]


Autore: debian
[[Categoria:Apt-Dev]]
1 760

contributi