Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Gentoo primi passi
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Forum italiano (Italian)
View previous topic :: View next topic  
Author Message
luivm
n00b
n00b


Joined: 06 Mar 2012
Posts: 4

PostPosted: Tue Mar 06, 2012 9:39 am    Post subject: Gentoo primi passi Reply with quote

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
View user's profile Send private message
Onip
Advocate
Advocate


Joined: 02 Sep 2004
Posts: 2912
Location: Parma (Italy)

PostPosted: Tue Mar 06, 2012 10:11 am    Post subject: Re: Gentoo primi passi Reply with quote

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
View user's profile Send private message
luivm
n00b
n00b


Joined: 06 Mar 2012
Posts: 4

PostPosted: Tue Mar 06, 2012 10:21 am    Post subject: Reply with quote

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
View user's profile Send private message
djinnZ
Advocate
Advocate


Joined: 02 Nov 2006
Posts: 4831
Location: somewhere in L.O.S.

PostPosted: Tue Mar 06, 2012 10:30 am    Post subject: Re: Gentoo primi passi Reply with quote

luivm wrote:
centos,redhat
:evil: 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 8O :?: 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:wink:
mala tempora currunt...mater stultorum semper pregna est :evil:
Murpy'sLaw:If anything can go wrong, it will - O'Toole's Corollary:Murphy was an optimist :wink:
Back to top
View user's profile Send private message
bi-andrea
Apprentice
Apprentice


Joined: 09 Mar 2010
Posts: 171
Location: cesenatico

PostPosted: Tue Mar 06, 2012 12:47 pm    Post subject: Reply with quote

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
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Forum italiano (Italian) All times are GMT
Page 1 of 1

 
Jump to:  
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