Apt-build: ottimizzazione dei pacchetti: differenze tra le versioni

spostata sezione da guida "Applicare_una_patch_ad_un_pacchetto_Debian" relativa ad apt-build
Nessun oggetto della modifica
(spostata sezione da guida "Applicare_una_patch_ad_un_pacchetto_Debian" relativa ad apt-build)
 
(9 versioni intermedie di 5 utenti non mostrate)
Riga 1: Riga 1:
{{Versioni compatibili|Squeeze|Wheezy|Jessie}}
==Introduzione==
==Introduzione==


Riga 43: Riga 44:


Qui possiamo passare delle opzioni aggiuntive a gcc.Eccone alcune:
Qui possiamo passare delle opzioni aggiuntive a gcc.Eccone alcune:
-jX X indica il numero di compilazioni parallele consentite
;<code>-jX</code>: X indica il numero di compilazioni parallele consentite
-pipe Riduce l'accesso al disco (velocizzando l'operazione) utilizzando il pipe (|) invece dei file temporanei
;<code>-pipe</code>: Riduce l'accesso al disco (velocizzando l'operazione) utilizzando il pipe (|) invece dei file temporanei




'''What is your architecture?'''
'''What is your architecture?'''


Ora ci verrà mostrata una lista di famiglie di processori, relative alla 'marca' del nostro processore (nel mio caso tutte AMD): scegliamo quella adeguata prendendo spunto da questa lista: [http://gcc.gnu.org/onlinedocs/gcc/i386-and-x86_002d64-Options.html lista] (nel mio caso, su un Compaq Presario 2100, athlon-xp).
Ora ci verrà mostrata una lista di famiglie di processori, relative alla 'marca' del nostro processore (nel mio caso tutte AMD): scegliamo quella adeguata prendendo spunto da questa lista: [https://gcc.gnu.org/onlinedocs/gcc/x86-Options.html#x86-Options lista] (nel mio caso, su un Compaq Presario 2100, athlon-xp).




Riga 63: Riga 64:
deb http://ftp.it.debian.org/debian/ sid main
deb http://ftp.it.debian.org/debian/ sid main
</pre>
</pre>
diventerà
diventerà:
<pre>
<pre>
deb http://ftp.it.debian.org/debian/ sid main
deb http://ftp.it.debian.org/debian/ sid main
Riga 71: Riga 72:
'''NB:''' le due righe possono coesistere tranquillamente.
'''NB:''' le due righe possono coesistere tranquillamente.
Ora siamo pronti ad iniziare!
Ora siamo pronti ad iniziare!


==Opzioni==
==Opzioni==
Riga 81: Riga 81:
; <code>upgrade</code>: esegue un aggiornamento del sistema, scaricando i pacchetti e compilandoli;
; <code>upgrade</code>: esegue un aggiornamento del sistema, scaricando i pacchetti e compilandoli;
; <code>install</code>: scarica e compila il pacchetto indicato;
; <code>install</code>: scarica e compila il pacchetto indicato;
; <code>source</code>: scarica e decomprime il pacchetto nella directory di compilazione (di solito <code>/var/cache/apt-build/build<code>);
; <code>source</code>: scarica e decomprime il pacchetto nella directory di compilazione (di solito <code>/var/cache/apt-build/build</code>);
; <code>remove</code>: come <code>apt-get remove</code>;
; <code>remove</code>: come <code>apt-get remove</code>;
; <code>clean-sources</code>: esegue un debian/rules clean, che rimuove solamente i prodotti della compilazione;
; <code>clean-sources</code>: esegue un debian/rules clean, che rimuove solamente i prodotti della compilazione;
Riga 136: Riga 136:
che permette la ricompilazione di tutti i pacchetti correntemente installati sul computer!
che permette la ricompilazione di tutti i pacchetti correntemente installati sul computer!


Allo stesso modo è possibile aggiornare il sistema direttamente, tramite un semplice
Allo stesso modo è possibile aggiornare il sistema direttamente, tramite un semplice:
<pre>
<pre>
# apt-build upgrade
# apt-build upgrade
Riga 144: Riga 144:
Una precisazione è d'obbligo: non tutti i repository offrono i pacchetti contenenti i sorgenti, e per questo ci si può trovare di fronte ad alcuni errori.
Una precisazione è d'obbligo: non tutti i repository offrono i pacchetti contenenti i sorgenti, e per questo ci si può trovare di fronte ad alcuni errori.
Qui sta a voi risolverli, o installando il pacchetto binario o cercando un altro mirror.
Qui sta a voi risolverli, o installando il pacchetto binario o cercando un altro mirror.
=== Applicare una patch ===
Come abbiamo già visto '''apt-build''' ci mette a disposizione una opzione, <code>--patch</code>, che consente di applicare delle patch al pacchetto da installare.<br/>
Vediamo, ora, come fare.
Scarichiamo la patch:
<pre>
$ wget http://indirizzo/per/la/patch.patch
</pre>
e diamo il semplice comando:
<pre>
# apt-build -p 0 --patch patch.patch install 'pacchetto'
</pre>
ora mettiamoci comodi, armati di tazzona di caffè (rigorosamente marchiata con un bel Tux) e controlliamo a video mentre:
* vengono scaricate i pacchetti *-dev per la compilazione;
* viene aggiornato l'elenco dei pacchetti dei vari [[repository]] (usare l'opzione <code>--noupdate</code> per evitarlo);
* vengono scaricati i sorgenti del pacchetto;
* viene applicata la patch;
* inizia la compilazione del pacchetto:
* viene/vengono installato/i il/i pacchetto/i generato/i.
Bene, ora il pacchetto è installato nel vostro sistema con la patch desiderata!


==Conclusioni==
==Conclusioni==


Lo strumento è veramente potente, anche se non esente da bug.
Lo strumento è veramente potente, anche se non esente da bug.
Riga 157: Riga 178:


'''Q: Ho spostato la directory della cache di apt-build, ma ora apt mi dà degli errori.'''<br/>
'''Q: Ho spostato la directory della cache di apt-build, ma ora apt mi dà degli errori.'''<br/>
'''A:''' Beh...sarebbe stato utile, dopo lo spostamento, eseguire un
'''A:''' Beh...sarebbe stato utile, dopo lo spostamento, eseguire un:
<pre>
<pre>
# dpkg-reconfigure apt-build
# dpkg-reconfigure apt-build
Riga 170: Riga 191:


'''Q: Mi sono accorto di non aver configurato correttamente apt-build, come posso fare a modificare la configurazione??'''<br/>
'''Q: Mi sono accorto di non aver configurato correttamente apt-build, come posso fare a modificare la configurazione??'''<br/>
'''A:''' Certamente con il comando
'''A:''' Certamente con il comando:
<pre>
<pre>
# dpkg-reconfigure apt-build
# dpkg-reconfigure apt-build
Riga 187: Riga 208:
* [http://debian-i586.sourceforge.net/]: interessante progetto di ricompilazione di Debian. Ora sembrerebbe un po'...`smorto`...magari si potrebbe dargli una mano...
* [http://debian-i586.sourceforge.net/]: interessante progetto di ricompilazione di Debian. Ora sembrerebbe un po'...`smorto`...magari si potrebbe dargli una mano...


 
{{Autori
---- [[User:MaXeR|MaXeR]]
|Autore=[[User:MaXeR|MaXeR]]
}}


[[Categoria:Apt]]
[[Categoria:Apt]]
[[Categoria:Apt-Dev]]
[[Categoria:Creare e modificare pacchetti]]
3 581

contributi