View previous topic :: View next topic |
Author |
Message |
luivm n00b
Joined: 06 Mar 2012 Posts: 4
|
Posted: Tue Mar 06, 2012 9:39 am Post subject: Gentoo primi passi |
|
|
Ciao a tutti, ho 2 domande per gli esperti di questo forum :
premesso che ho sempre avuto a che fare con distribuzioni con pacchetti precompilati (centos,redhat,debian,ubuntu,etc). mi sono trovato a dover installare un modulo per Apache per un server Gentoo.
Ho modificato le flags, ricompilato php e tutto ok, ma mi sono chiesto : perchè su gentoo mi devo ricompilare tutto il php per aggiungere un modulo che con altre distribuzioni installi facilmente con un comando ? Ci deve essere qualche differenza sicuramente, e se c'è c'è una differenza di prestazioni ?
Poi volevo sapere, come faccio a fare un pin di una ebuild, esempio vorrei lasciare la mia versione di php invariata.
Grazie a tutti _________________ Make he complex more complex |
|
Back to top |
|
|
Onip Advocate
Joined: 02 Sep 2004 Posts: 2912 Location: Parma (Italy)
|
Posted: Tue Mar 06, 2012 10:11 am Post subject: Re: Gentoo primi passi |
|
|
luivm wrote: | ma mi sono chiesto : perchè su gentoo mi devo ricompilare tutto il php per aggiungere un modulo che con altre distribuzioni installi facilmente con un comando ? Ci deve essere qualche differenza sicuramente, e se c'è c'è una differenza di prestazioni ?
|
la differenza sta nel fatto che la compilazione negli altri casi se la smazza il developer che poi spezza "il compilato" in uno o più pacchetti a seconda dei casi. Il pacchetto che installi con un comando (semplicisticamente) ti fa scaricare e installare alcuni dei file (in questo caso librerie .so dei moduli) che sono il risultato della compilazione dell'intero pacchetto.
Per le differenze di prestazioni... queste dipendono da una miriade di fattori, ad esempio flags e versione del compilatore, ma non solo quindi non è per niente facile darti una risposta. Diciamo che in generale, a parità di tutto il resto (compilatore, impostazioni, sistema, ...), installare da un pacchetto precompilato o compilare sul sistema non cambia assolutamente niente.
luivm wrote: |
Poi volevo sapere, come faccio a fare un pin di una ebuild, esempio vorrei lasciare la mia versione di php invariata.
|
semplicemente mascheri tutte le versioni superiori aggiungendo una linea opportuna in /etc/portage/package.mask in questo modo portage non ti chiederà mai un aggiornamento a meno che non sia richiesto come dipendenza di qualche altro pacchetto. È consigliabile, però, eseguire gli upgrade di revision, quelli identificati dalla stessa versione di pacchetto, ma da una maggiore revision (-r3) in quanto indicano una versione nuova dell'ebuild che, probabilmente, risolve qualche problema. I dettagli li trovi nel Changelog disponibile nella directory corrispondente al pacchetto nell'albero di portage. _________________ Linux Registered User n. 373835
Titus Lucretius Carus, De Rerum Natura - Tantum religio potuit suadere malorum |
|
Back to top |
|
|
luivm n00b
Joined: 06 Mar 2012 Posts: 4
|
Posted: Tue Mar 06, 2012 10:21 am Post subject: |
|
|
Rimango sempre piacevolmente sorpreso dalle competenze e dalle conoscenze in generale di chi usa gentoo.
Questa cosa mi sta facendo riflettere e mi si sta aprendo un mondo.
Grazie per la risposta _________________ Make he complex more complex |
|
Back to top |
|
|
djinnZ Advocate
Joined: 02 Nov 2006 Posts: 4831 Location: somewhere in L.O.S.
|
Posted: Tue Mar 06, 2012 10:30 am Post subject: Re: Gentoo primi passi |
|
|
luivm wrote: | centos,redhat | non è che siano dei buoni esempi. Mi correggo sono ottimi esempi ... di monnezza luivm wrote: | perchè su gentoo mi devo ricompilare tutto il php per aggiungere un modulo che con altre distribuzioni installi facilmente con un comando ? | Emerge non fa altro che scaricare i sorgenti, lanciare il make configure od il ./configure o quel che è con determinati parametri in base alle use flag e gli altri make qualcosa e make install.
In realtà si era parlato di salvare la dir di compilazione per riutilizzarla ma non se ne è fatto niente perché comunque quando chiami il ./configure od altro viene sempre ricompilato tutto, è un limite dei pacchetti (ed in particolare dei make) difficilmente risolvibile.
Nelle binarie invece si compilano tutti i moduli e vengono salvati su pacchetti separati, poi li installi.
Verificare che non vi siano dipendenze incomplete è un lavoraccio che fanno solo le distribuzioni binarie.
Il principale beneficio di gentoo rispetto a debian (parliamo di distribuzioni serie, non serve sparare sulla croce rossa) è che, se ti serve un pacchetto instabile, non devi per forza passare alla versione instabile dell'intero sistema o dell'intero albero delle dipendenze (come generalmente e giustamente raccomandato su debian e sconsigliato su gentoo, da chi ne capisce, non dai bimbiminkia).
Devi smascherare solo lo stretto indispensabile, il minimo.
Di contro ti ritrovi con un mutuo a tasso variabile sulle spalle per pagare la bolletta dell'enel.
luivm wrote: | fare un pin di una ebuild, esempio vorrei lasciare la mia versione di php invariata | Non capisco che vuoi dire, per prevenire l'installazione di nuove versioni stabili di un pacchetto si usa /etc/portage/package.mask ma è una pratica da prender con "le molle". Se ti tiferisci agli aggiornamenti alle versioni -rqualcosa è sempre la stessa versione di php ma è stato corretto qualcosa nell'ebuild o è stata aggiunta una patch specifica per prevenire incompatibilità (è una correzione "interna" a gentoo) o crash (quindi è il caso di farla).
Ovviamente devi mantenere d'occhio lo sviluppo per non trovarti con pacchetti rimossi dal portage tra i piedi da un giorno all'altro.
PHP è un pacchetto "slotted" ovvero è stato modificato per consentire a versioni diverse di rimanere installate.
Se invece il tuo problema e voler mantenere il 5.3 installato il più a lungo possibile e sempre presente anche quando il 5.4 sarà stabile, senza rischio che un emerge --depclean te lo pialli devi aggiungere lo "slot" a world Code: | emerge -n dev-lang/php:5.3 | come si dovrebbe fare per i kernel, normalmente.
edit:non avevo visto che onip aveva già risposto. _________________ scita et risus abundant in ore stultorum sed etiam semper severi insani sunt
mala tempora currunt...mater stultorum semper pregna est
Murpy'sLaw:If anything can go wrong, it will - O'Toole's Corollary:Murphy was an optimist |
|
Back to top |
|
|
bi-andrea Apprentice
Joined: 09 Mar 2010 Posts: 171 Location: cesenatico
|
Posted: Tue Mar 06, 2012 12:47 pm Post subject: |
|
|
luivm questo me lo sono chiesto pure io in RedHat/Fc e ho notato che se parti dai rpm sorgenti (*.SRPM), se li compili noterai che è il sorgente con un'istruzione sotto forma di scipt e rpm ti crea spesso più pacchetti rpm, porpio perchè il progetto viene troncato in più parti e se usando yum fai degli aggiornamenti, ti sarai accorto, che non tutti i pachetti del progetto vengono aggiornate.
In Gentoo è diverso perchè il progetto viene compilato per intero e a secondo di come viene impostato configure, installa una parte o completo e purtroppo come ogni cosa compilata va ripresa per intero, usando la tripletta ./configure-make-make install prima di usare Gentoo...comunque penso che a livello di moduli non viene preso tutto il World, ma solo dipendenze che chiede world _________________ Quando arrivi a Linux è un trauma, abituati a Windows, quando arrivi a Gentoo è uno spavento col brivido , però quando lo capisci sei uscito dall'università "GNU/Linux" |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|