View Full Version : Ricompilazione distro
digieffe
15-04-2008, 22:16
Ho provato swiftweasel 2.0.0.13 (firefox ricompilato per una specifica cpu) su ubuntu 7.10 ed ho notato una sostanziale ed indispensabile differenza di velocità con firefox 2.0.0.13 standard (su un p3 750)...
così vorrei provare a ricompilare l'intera distribuzione per verificare l'incremento di prestazioni (sto pensando a gimp, ecc),
c'è un modo per ricompilare i "soli" pacchetti installati senza diventare matto e potendo variare qualche parametro di configurazione (tipo cpu, ecc) ? (chiaramente scaricando i relativi sorgenti ecc ecc)
Grazie
Se proprio vuoi cimentarti in questa "pazza" impresa ti suggerisco Gentoo stage1: praticamente devi compilare tutto.
zephyr83
16-04-2008, 00:33
Ho provato swiftweasel 2.0.0.13 (firefox ricompilato per una specifica cpu) su ubuntu 7.10 ed ho notato una sostanziale ed indispensabile differenza di velocità con firefox 2.0.0.13 standard (su un p3 750)...
così vorrei provare a ricompilare l'intera distribuzione per verificare l'incremento di prestazioni (sto pensando a gimp, ecc),
c'è un modo per ricompilare i "soli" pacchetti installati senza diventare matto e potendo variare qualche parametro di configurazione (tipo cpu, ecc) ? (chiaramente scaricando i relativi sorgenti ecc ecc)
Grazie
la cosa migliore è gentoo sicuramente! Ma c'è se fai una installazione base con il tuo hardware ci vorranno ore e ore (una giornata intera sicuro). Se no puoi provare una distro come frugalware, fare una installazione base cn il solo kde, modificare il file makepkg.conf per impostare i vari parametri relativi al compilatore (credo si faccia un po' cn tutte le distro) e poi installare tutti i vari pacchetti ricompilandoli da te senza usare il package manager della distro.
digieffe
16-04-2008, 01:14
Anche se non l'ho specificato vorrei evitare distro che non siano debian based... sinceramente preferirei ubuntu... ma anche qualche altra debian-based va bene...
Per i tempi di compilazione non c'è problema questo pc ha un up time notevole (é sempre acceso) ...
Vi spiego, utilizzavo firefox 2.0.0.13 e facevo zoom con control + rotella mouse, 2-3 secondi ogni livello di zoom x 3-4 livelli di zoom = 6 -12 secondi -> risultato inutilizzabile... per puro caso ho installato swiftweasel (firefox compilato in modo ottimizzato per ogni cpu) 0.5 sec x livello di zoom x 3-4 livelli = 1.5 - 2 secondi -> utilizzabile...
Posto che durante l'utilizzo la cpu è spesso al 100% per diversi secondi (anche perchè ho processi batch ecc) mi sono chiesto se ricompilando tutto posso avere miglioramenti che almeno si avvicinano a queli del browser...
quindi il mio obbiettivo è ricompilare ciò che ho... e non installare altro... tra l'altro il sistema è molto personalizzato e non ho alcuna intenzione di perdere giorni per fare il porting su distro non debian based e non lsb (linux standard base)
quindi:
1 - esiste il modo di scaricare IN AUTOMATICO i sorgenti di tutti i pacchetti binari installati (senza selezionarli uno alla volta)?
2 - esiste il modo di agire su un solo file di make per le opzioni di compilazione di tutti i file scaricati?
3 - posso recuperare i/il file di make della distro originale (ubuntu) in modo da poter ricompilare con le stesse opzioni con le quali vengono forniti i binari "originali" (precompilati)
4 - esiste il modo di compilarli tutti assieme e rimpiazzare i binari precedenti o mi devo creare una fakeroot e dopo switchare?
Ho un vago ricordo di anni fa su un comando (era debian 3.0) che forse faceva tutto ciò "?????? build all" o probablemente ricordo male, comunque io ho cercato e non ho trovato nulla :(
ps: ho appena notato che il pc è quello in firma :) gli ho messo su ubuntu 7.10 pronto all'upgrade 8.04
Grazie.
Pps: con SuperPI ricompilato con ottimizzazioni il tempo è sceso a 1'48" +39% di prestazioni :D , capite perche voglio provare a ricompilare tutto :eek:
zephyr83
16-04-2008, 01:35
Anche se non l'ho specificato vorrei evitare distro che non siano debian based... sinceramente preferirei ubuntu... ma anche qualche altra debian-based va bene...
Per i tempi di compilazione non c'è problema questo pc ha un up time notevole (é sempre acceso) ...
Vi spiego, utilizzavo firefox 2.0.0.13 e facevo zoom con control + rotella mouse, 2-3 secondi ogni livello di zoom x 3-4 livelli di zoom = 6 -12 secondi -> risultato inutilizzabile... per puro caso ho installato swiftweasel (firefox compilato in modo ottimizzato per ogni cpu) 0.5 sec x livello di zoom x 3-4 livelli = 1.5 - 2 secondi -> utilizzabile...
Posto che durante l'utilizzo la cpu è spesso al 100% per diversi secondi (anche perchè ho processi batch ecc) mi sono chiesto se ricompilando tutto posso avere miglioramenti che almeno si avvicinano a queli del browser...
quindi il mio obbiettivo è ricompilare ciò che ho... e non installare altro... tra l'altro il sistema è molto personalizzato e non ho alcuna intenzione di perdere giorni per fare il porting su distro non debian based e non lsb (linux standard base)
quindi:
1 - esiste il modo di scaricare IN AUTOMATICO i sorgenti di tutti i pacchetti binari installati (senza selezionarli uno alla volta)?
2 - esiste il modo di agire su un solo file di make per le opzioni di compilazione di tutti i file scaricati?
3 - posso recuperare i/il file di make della distro originale (ubuntu) in modo da poter ricompilare con le stesse opzioni con le quali vengono forniti i binari "originali" (precompilati)
4 - esiste il modo di compilarli tutti assieme e rimpiazzare i binari precedenti o mi devo creare una fakeroot e dopo switchare?
Ho un vago ricordo di anni fa su un comando (era debian 3.0) che forse faceva tutto ciò "?????? build all" o probablemente ricordo male, comunque io ho cercato e non ho trovato nulla :(
ps: ho appena notato che il pc è quello in firma :) gli ho messo su ubuntu 7.10 pronto all'upgrade 8.04
Grazie.
Pps: con SuperPI ricompilato con ottimizzazioni il tempo è sceso a 1'48" +39% di prestazioni :D , capite perche voglio provare a ricompilare tutto :eek:
Bhe per me se usi una distro con pacchetti compilati per 686 anziche 486 (come debian) è meglio, ti consiglio di provare frugalware che è una scheggia. Ma se vuoi rimanere in casa debian la cosa migliore è fare una netinstall, installare il necessario e poi compilarti da i vari programmi. I sorgenti dei vari programmi li trovi facilmente su internet (ad esempio per firefox basta andare nel sito mozilla) ma credo si possano scaricare anche tramite apt-get senza doverli installare (credo....nn so se dal pacchetto deb si possano estrapolare i sorgenti ma credo di si). Puoi dare le varie opzioni per il tuo processore direttamente quando compili tu da shell oppure puoi usare alcuni tool utili come kompile. Dovrebbe esserci un file generele valido per tutte le compilazioni (credo ti convenga usare questo) su furgalware c'è e poso impostare CFLAGS e altri parametri ma nn saprei su debian.
Io fossi in te proverei anche una bella gentoo, su un sistema come il tuo forse noterai delle differenze di velocità ma configurarla per bene è un bel sbattimento e richiede davvero tanto tanto tempo (però le guide sn le migliori fra tutte le distro esistenti).
Cmq la differenza di velocità che hai notato può dipendere anche da altri fattori, magari una versione del programma compilato più recente di quella installata....oppure quella installata era stata pachata (a volte capita) e sul tuo sistema andava peggio.
Ho un vago ricordo di anni fa su un comando (era debian 3.0) che forse faceva tutto ciò "?????? build all" o probablemente ricordo male, comunque io ho cercato e non ho trovato nulla :(
Il programma si chiamava apt-build.
Una volta messi i repository con i sorgenti nel source.list si dava apt-build world. Si scaricava tutti i sorgenti di tutti i pacchetti installati e li compilava usando CFLAGS custom. Una volta finita la compilazione hai i tuoi .deb da installare con dpkg.
Dovrebbe funzionare ma non avendo mai provato non posso confermare :D
CARVASIN
16-04-2008, 05:48
Una volta finita la compilazione hai i tuoi .deb da installare con dpkg.
Non è automatico il processo? O forse bisogna usare apt-build install nomepacchetto...
Comunque nel man i comandi basilari sono di facile comprensione.
PS: con un minimo impegno in più ci si installa una arch linux compilata per 686. Imho è meglio (anche se, in generale, preferisco mille volte installare Debian :D)
Ciao!
al posto di gentoo potresti usare archlinux..non è poi molto difficile da usare
Non è automatico il processo? O forse bisogna usare apt-build install nomepacchetto...
Da quello che ricordo una volta finita la compilazione si avevano i file deb e si doveva procedere a mano. Ma sto parlando di qualcosa come 4 anni fa in cui ho provato a ricompilare qualche pacchetto quindi è possibilissimo che le cose siano migliorate nel frattempo.
Non so se restare in debian based per una richiesta del genere sia una buona cosa. Gentoo e' studiata appositamente per fare quello che richiedi. IMHO chi sceglie Debian vuole sfruttare le potenzialita' di apt e del sistema di aggiornamento dei binari e quindi la vedo come una forzatura ricompilare da 0 tutto. :)
Anche a me sembra di ricordare che apt-build generi i pacchetti DEB da installare a mano, cosi come fa Mock su Fedora, mi sembra anche preferibile che faccia cosi.
Normalmente, a meno di casi particolari, non è la semplice ricompilazione in se a dare tutto quel boost, ma piuttosto una diversa configurazione delle opzioni di compilazione, funzionalità abilitate/disabilitate, diversi backend utilizzati tra quelli disponibili, versione del compilatore e delle librerie, etc...
Piuttosto che ricompilare tutto in modo indiscriminato è piu conveniente piuttosto ricompilare in modo mirato solo quei pacchetti che ne trarrebbero vantaggio (media player, suite di office, programmi di calcolo...) e lasciare stare gli altri.
Non ti serve ricompialre anche cp, mv, ls... ;)
Se proprio vuoi farlo pero conviene passare a Gentoo.
zephyr83
16-04-2008, 17:36
Anche a me sembra di ricordare che apt-build generi i pacchetti DEB da installare a mano, cosi come fa Mock su Fedora, mi sembra anche preferibile che faccia cosi.
Normalmente, a meno di casi particolari, non è la semplice ricompilazione in se a dare tutto quel boost, ma piuttosto una diversa configurazione delle opzioni di compilazione, funzionalità abilitate/disabilitate, diversi backend utilizzati tra quelli disponibili, versione del compilatore e delle librerie, etc...
Piuttosto che ricompilare tutto in modo indiscriminato è piu conveniente piuttosto ricompilare in modo mirato solo quei pacchetti che ne trarrebbero vantaggio (media player, suite di office, programmi di calcolo...) e lasciare stare gli altri.
Non ti serve ricompialre anche cp, mv, ls... ;)
Se proprio vuoi farlo pero conviene passare a Gentoo.
già proprio quello che sta chiedendo digieffe....però per me nn resisterà e sarà troppo curioso di vedere la differenza cn un sistema totalmente ricompilato come gentoo! :D Io l'ho fatto ma sulle mie macchine (penitum 4 ht da 3.4 ghz e penitum dual core e2180 overcloccato) nn ho notato differenze rispetto a frugalware!!! rispetto ad altre distro qualcosina si ma di certo il lavoro da fare nn valeva la candale (userei gentoo più che altro per altre ragioni nn certo per questa). Magari cn un computer più datato la differenza si nota di più.
gentoo è molto didattica: è progettata per far fare al pc esclusivamente quel che vuoi e (visto che cmq devi ricompilare) secondariamente per migliorare secondo definizioni dell'utente per compilatore, linker ( :D :D :D) per l'intero sistema, per singolo pacchetto ecc ecc.
Ad installarla la prima volta ci perdi 2 settimane (tra compilazioni e configurazioni) ma non dovrai più fare formattoni perchè si aggiorna costantemente. (se decidi di fare aggiornamenti una volta per trimestre è meglio lasciarla perdere)
alla domanda che hai posto nel secondo post risponde più o meno tutto a SI.
E' quello che vuoi? dipende: finchè non ti ci abitui e la capisci è una palla al piede.
per ricompilare un sistema destkop più o meno completo (metti KDE 3.5.8 o 3.5.9) ci mette 1 giorno abbondante (solo di compilazione) - l'ho fatto la settimana scorsa. Se hai altri pc più potenti con linux puoi far compilare a loro :D
Se intendi ricompilarti a mano pochi pacchetti resta con debian/ubuntu, ma se intendi farlo per l'intero sistema penso che sia meglio cambiare distro. Motivo? la distro non è progettata per fare ciò - perchè cercare rogne?
Se vuoi un miglioramento mediamente buono vai di archlinux, frugal o in genere qualsiasi distro ottimizzata per i686 che fornisce pacchetti binari. Sbattimento medio e risultato garantito. Se vuoi ottimizzare di più, ma sopratutto imparare, vai di gentoo.
Per quanto riguarda la tua domanda su firefox: prova a cambiare browser, secondo me su linux non è reattivissimo.
Su Debian (almeno in Sid) esiste anche la versione 686 e non solo quella 486.
Comunque per compilare pacchetti .deb da sorgente esiste anche dh_make e debbuild che creano pacchetti da installare poi con dpkg (qui (http://www.palmix.org/pacchetti-deb.html) c'è una mina guida se ti interessa).
Inoltre dovresti assolutamente configurarti e compilarti a mano il kernel per ottimizzarlo sulla tua macchina (magari addirittura tutto in monolitico).
Per quanto io adori Debian secondo me la scelta per una ottimizzazione estrema del sistema sulla macchina resta Gentoo.
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.