View previous topic :: View next topic |
Author |
Message |
GianX n00b
Joined: 13 Sep 2004 Posts: 67 Location: Ragusa
|
Posted: Mon Sep 20, 2004 2:50 pm Post subject: FG19: Come usare correttamente portage |
|
|
Navigazione: [ back FG18: Come vengono lette le USE flags? ] [ next FG20: Emerge fallisce dopo l'aggiornamento di gcc ] [ Fondamenti Gentoo ] [ Indice ]
Come usare correttamente portage
Questa è la versione tradotta in italiano da:
https://forums.gentoo.org/viewtopic.php?t=171464
di gaMMa
1. INTRODUZIONE:
Il sistema di portage di Gentoo è una risorsa eccellente se usata correttamente. L'uso errato può portare ad un sistema pieno di inconsistenze, con pacchetti non rintracciabili, e un file world corrotto. Seguendo questa guida si otterrà un sistema piu' pulito.
2. FARE EMERGE DEI PACCHETTI
Quando si vuole fare un emerge di un pacchetto instabile è raccomandato usare il comando
Non usate ACCEPT_KEYWORDS="~x86" perche' questo emergerà dipendenze con ~x86 indesiderate.
Si raccomanda di tentare di emergere l'ebuid prima, e se dovesse risultare instabile, procedere in modo opportuno. Una volta risolto, tentare di riemergere il pacchetto il quale potrebbe richiedere una dipendenza. Soddisfatta la dipendenza, provare ad emergere di nuovo il pacchetto. Continua a ripetere questa procedura fino ad emergere il pacchetto. Può sembrare una paranoia, ma almeno sai che cosa è installato nel tuo sistema e anche i pacchetti instabili. Al massimo si puo' scaricare lo script forcekeymask che fa questo lavoro automaticamente.
AVVERTIMENTO: Emergere direttamente un ebuild (emerge foo.ebuild) ha causato i problemi per alcuni utenti, per cui non si dovrebbe fare. In alcune situazioni emerge non aggiunge i pacchetti al profilo world. Inoltre così facendo all'utente non sararanno comunicate le nuove release instabili di questo pacchetto, sebbene contengano seri problemi di sicurezza.
3. MANTENIMENTO DEI PACCHETTI
A volte quando si lancia "emerge -u world" (l'opzione -U e' deprecata non utilizzatela) portage tenta un downgrade dei pacchetti. Per rendere "unmasked" i pacchetti in modo che portage non faccia il downgrade creare la directory /etc/portage se non lo si è già fatto.
Code: | # mkdir/etc/portage |
All'interno del file /etc/portage/package.keywords aggiungere il nome completo del pacchetto seguito da ~x86. Per esempio per fare accettare al portage ebuilds instabili di Gaim inseriamo la riga
Code: | # echo net-im/gaim ~x86 >> /etc/portage/package.keywords |
Ripetere questa procedura per tutti i pacchetti instabili per i quali non si vuole il downgrade.
Possiamo anche accettare le versioni instabili specifiche per un determinato pacchetto, in modo che quando esce la versione instabile successiva, il sistema non eseguirà laggiornamento automatico di quel pacchetto. Questo si realizza con il seguente comando:
Code: | # echo =app-misc/foo-version ~x86 >> /etc/portage/package.keywords |
La linea sopra indica che verrà emersa soltanto una versione specifica del pacchetto.
Tuttavia, le nuove versioni saranno ancora ~arch masked. Per permettere ad ulteriori versioni di essere marcate come stabili oltre alla versione specifica, usare la seguente riga:
Code: | # echo app-misc/foo ~x86 >> /etc/portage/package.keywords |
NOTA: E più facile tenere aggiornata la lista dei pacchetti se sono messi in ordine alfabetico.
AVVERTIMENTO: Usando "emerge -U world" si possono avere problemi nel sistema per cui non si dovrebbe usare. Earthwings ne parla qui:
https://forums.gentoo.org/viewtopic.php?t=167323
Tuttavia, a volte il portage tenta ancora di fare il downgrade di un pacchetto. Generalmente, se questo accade c è un motivo valido, per cui è meglio farlo. Ci sono comunque delle eccezioni; per esempio gli headers del kernel hanno tentato di tornare a 2.4.x quando ho compilato un kernel 2.6.x.
Gli headers del kernel sono l'unico caso in cui si dovrebbe usare questo metodo, gli altri dovrebbero usare il metodo precedente o fare il downgrade.
In /etc/portage/package.keywords aggiungiamo una linea oppure
Code: | # echo sys-kernel/linux-headers - * >> /etc/portage/package.keywords |
Dei pacchetti a volte cercano di reinstallarsi nel sistema sebbene non siano necessari. Gli utenti di xorg-x11 possono notare infatti che xfree prova a reinstallarsi (non piu' vero ora perche' xfree non esiste piu' nel portage-tree ma come esempio va bene). Per ovviare a questo, in /etc/portage/package.mask si aggiunga la riga:
Code: | # echo x11-base/xfree >> /etc/portage/package.mask |
Inoltre i pacchetti di tanto in tanto sono hard masked . Un esempio è realone. Il fatto che sia hard masked è dovuto al fatto che c è una falla di sicurezza, che potrebbe compromettere la stabilità del sistema.
Se per qualche motivo si desidera usare realone comunque, si usa il file package.unmask creando il file /etc/portage/package.unmask e dando questo comando:
Code: | # echo media-video/realone >> /etc/portage/package.unmask |
Inoltre se non si vuole che un pacchetto includa una particolare USE flag si usano i package.use. Creare /etc/portage/package.use e inserire una funzione come questa da terminale:
Code: | #echo net-p2p/bittorrent -X >> /etc/portage/package.use |
Questo dice al portage di non includere il supporto di X quando emerge bittorrent.
Ogni tanto si ha la necessita' di fare crede a portage che un pacchetto e' installato anche se realmente non lo e'. Questo una volta veniva fatto con l'opzione -i che e' deprecata ora. Se si vuole fare questo create il file /etc/portage/profile/package.provided (anche la cartella profile se non esiste ancora) e dante questo comando
Code: | # echo app-misc/foo-version >> /etc/portage/profile/package.provided |
Questo puo' risultare utile durante un aggiornamente e magari non si vuole scaricare il kernel nuovo.
NOTA: package.provided non funziona esattamente come -i. Se si mette un pacchetto li e poi si tenta di installarlo portage dira' che non e' installato, ha solo effetto sulle dipendenze.
4. MAINTAINIG DEL PROFILO WORLD
A volte i pacchetti non vengono aggiunti al profilo world per un motivo. Per [ tentare ] di riparare il profilo world ed aggiungere pacchetti digitare:
C è un altro thread che dà informazioni su come riparare il profilo world se regenworld non dovesse funzionare:
https://forums.gentoo.org/viewtopic.php?t=136627
5. CONCLUSIONE:
Usando questo metodo 'emerge -u world' si adatterà alla vostre necessità e si avrà un sistema integrato di pulizia.
Code: | #emerge -uDav world |
È il modo migliore per aggiornare lintero sistema. la 'u' sta per upgade, la 'D' sta deep , 'a' sta per ask e la 'v' sta per verbose, e dice alle USE flag che saranno usate in ogni pacchetto.
Si consiglia di provare lo script di ecatmur's cruft per mantenere il sistema accurato e pulito!
https://forums.gentoo.org/viewtopic.php?t=152618
oppure anche lo script di xchris
https://forums.gentoo.org/viewtopic.php?t=249828
APPENDICE: Come usare un ebuild esterno
Pre prima cosa editate il vostro make.conf e aggiungete la linea (se avete gia' questo potete saltare al prossimo punto)
Code: | PORTDIR_OVERLAY="/usr/local/portage" |
A questo punto creiamo le cartelle dove va messo il nostro ebuild esterno
Code: | # mkdir -p /usr/local/portage/<category>/<package name> |
NOTA: il nome della categoria DEVE esistere nel portage-tree ufficiale. <package name> deve avere lo stesso nome dell'ebuild ma senza versione
A questo punto copiate il vosto ebuild nella cartella appena creata con il nome del programma e versione (es: mypackage-1.0.ebuild). A questo punto date il comando
Code: | # ebuild /usr/local/portage/<category>/<package name>/mypackage-1.0.ebuild digest |
Ora siete pronti per mergiare il paccetto con
NOTA: Se il programma e' mascherato usate i vari package.* per smasherarlo come indicato nei punti precedenti
IMPORTANTE: Solitamente questa procedura funziona ma e' possibile che ebuild scrittti male causino problemi al vostro sistema, quindi fate questo a vostro rischio e pericolo
per ogni revisione o aggiunta contattatemi. Potrebbe sembrare stupido, ma sareste sorpresi se sapreste quante persone usano male il portage.
Ringrazio quanti hanno contribuito a questa guida e hanno trovato gli errori in questo procedimento le vostre email e i vostri messaggi hanno contribuito a rendere la guida quello che è.
ChangeLog
28/01/2005 Revisione e correzione del testo -- fedeliallalinea
26/02/2005 Agginta appendice "come usare un ebuild esterno" -- fedeliallalinea _________________ forum italiano su freeBSD
http://www.freebsd-it.org
Last edited by GianX on Mon Sep 20, 2004 3:34 pm; edited 5 times in total |
|
Back to top |
|
|
JacoMozzi l33t
Joined: 12 May 2003 Posts: 645 Location: Giubiasco world(EU(CH(TI)))
|
Posted: Mon Sep 20, 2004 2:58 pm Post subject: |
|
|
Bello
Solo un appunto visto che é scritto un po' di volte in modo errato: é echo e non eco
Ciao
Jaco |
|
Back to top |
|
|
randomaze Bodhisattva
Joined: 21 Oct 2003 Posts: 9985
|
Posted: Mon Sep 20, 2004 3:15 pm Post subject: Re: Come usare correttamente portage |
|
|
Ottimo.
Due critiche (piccoline... hai fatto un ottimo lavoro):
1. Se usi il BB Code per colorare/ingrandire i titoli dei paragrafi il post tende alla perfezione.
2. Che codifica dei caratteri stai usando? Perché io vedo tanti punti interrogativi quà e la.... _________________ Ciao da me! |
|
Back to top |
|
|
fedeliallalinea Administrator
Joined: 08 Mar 2003 Posts: 30838 Location: here
|
Posted: Mon Sep 20, 2004 3:26 pm Post subject: Re: Come usare correttamente portage |
|
|
randomaze wrote: | 1. Se usi il BB Code per colorare/ingrandire i titoli dei paragrafi il post tende alla perfezione. |
Fatto io
randomaze wrote: | 2. Che codifica dei caratteri stai usando? Perché io vedo tanti punti interrogativi quà e la.... |
Penso la iso normale (15) visto che io vedo
@GianX: Ottimo lavoro grandissimo _________________ Questions are guaranteed in life; Answers aren't. |
|
Back to top |
|
|
_sys/sid Guru
Joined: 27 Aug 2004 Posts: 346 Location: Asola (Mantova)
|
|
Back to top |
|
|
randomaze Bodhisattva
Joined: 21 Oct 2003 Posts: 9985
|
Posted: Mon Sep 20, 2004 3:28 pm Post subject: Re: Come usare correttamente portage |
|
|
fedeliallalinea wrote: | Penso la iso normale (15) visto che io vedo |
Mah io con il windze del lavoro li vedo _________________ Ciao da me! |
|
Back to top |
|
|
fedeliallalinea Administrator
Joined: 08 Mar 2003 Posts: 30838 Location: here
|
Posted: Mon Sep 20, 2004 3:32 pm Post subject: |
|
|
Come mai ha perso il codice phpbb messo da me? _________________ Questions are guaranteed in life; Answers aren't. |
|
Back to top |
|
|
emix Veteran
Joined: 30 Nov 2003 Posts: 1014
|
Posted: Mon Sep 20, 2004 3:35 pm Post subject: |
|
|
@fedeliallalinea: credo che GianX stia editando il post, quindi siete in concorrenza |
|
Back to top |
|
|
fedeliallalinea Administrator
Joined: 08 Mar 2003 Posts: 30838 Location: here
|
Posted: Fri Jan 28, 2005 9:03 pm Post subject: |
|
|
Riesumo questo post e lo metto come sticky perche' mia pare che molta gente non conosca ancora bene le nuove funzionalita' di portage relativa ai file package.*. Buona lettura _________________ Questions are guaranteed in life; Answers aren't. |
|
Back to top |
|
|
flocchini Veteran
Joined: 17 May 2003 Posts: 1124 Location: Milano, Italy
|
Posted: Fri Jan 28, 2005 11:59 pm Post subject: Re: Come usare correttamente portage |
|
|
GianX wrote: |
Quando si vuole fare un emerge di un pacchetto instabile è raccomandato usare il comando
Non usate ACCEPT_KEYWORDS="~x86" perche' questo emergerà dipendenze con ~x86 indesiderate.
Si raccomanda di tentare di emergere l'ebuid prima, e se dovesse risultare instabile, procedere in modo opportuno. Una volta risolto, tentare di riemergere il pacchetto il quale potrebbe richiedere una dipendenza. Soddisfatta la dipendenza, provare ad emergere di nuovo il pacchetto. Continua a ripetere questa procedura fino ad emergere il pacchetto. |
Signifca in pratica di usare dipendenze stabili finche' si puo' anche per emergiare un pacchetto stabile, evitando di mettere ACCEPT_KEYWORDS in prima battuta... Ho capito giusto? Secondo me non e' cosi' chiaro (o magari sono tonto io )
Poi un appuntino, alla fine (sn un rompiscatole, lo so )
GianX wrote: |
Potrebbe sembrare stupido, ma sareste sorpresi se sapreste quante persone usano male il portage. |
Ovviamente immagino sia un refuso, pero' mi viene il mal di pancia a leggerlo
Davvero utile comunque, anche se conoscevo gia' queste funzioni il post mi era sfuggito. _________________ ~~ Per amore della rosa si sopportano le spine... ~~ |
|
Back to top |
|
|
wildancer Guru
Joined: 02 Apr 2004 Posts: 472
|
Posted: Sat Jan 29, 2005 12:13 am Post subject: |
|
|
Una domanda stupida... ma
Code: | emerge --newuse world | Ricompila solo i programmi sensibili alle use cambiate? |
|
Back to top |
|
|
gutter Bodhisattva
Joined: 13 Mar 2004 Posts: 7162 Location: Aarau, Aargau, Switzerland
|
Posted: Sat Jan 29, 2005 12:15 am Post subject: |
|
|
Solo quelli nel world.
Per ricompilare pure le dipendenze usi:
Code: | emerge --newuse -Du world |
_________________ Registered as User #281564 and Machines #163761 |
|
Back to top |
|
|
fedeliallalinea Administrator
Joined: 08 Mar 2003 Posts: 30838 Location: here
|
Posted: Sat Jan 29, 2005 12:51 am Post subject: Re: Come usare correttamente portage |
|
|
flocchini wrote: | Signifca in pratica di usare dipendenze stabili finche' si puo' anche per emergiare un pacchetto stabile, evitando di mettere ACCEPT_KEYWORDS in prima battuta... Ho capito giusto? Secondo me non e' cosi' chiaro (o magari sono tonto io ) |
Si esatto ma altre a questo mi pare che ACCEPT_KEYWORDS possa creare casini nel world file _________________ Questions are guaranteed in life; Answers aren't. |
|
Back to top |
|
|
oRDeX Veteran
Joined: 19 Oct 2003 Posts: 1325 Location: Italy
|
Posted: Sat Jan 29, 2005 3:19 pm Post subject: |
|
|
Gran bel lavoro |
|
Back to top |
|
|
xoen Guru
Joined: 06 Sep 2003 Posts: 472 Location: /dev/null
|
Posted: Sun Jan 30, 2005 9:29 am Post subject: |
|
|
Ci voleva
Così forse ci saranno meno post *strani* sul'uso di portage _________________ xoen.Blog()
god@paradise # tar xfvjp big-bang.tar.bz2 -C universe |
|
Back to top |
|
|
mouser Veteran
Joined: 10 Aug 2004 Posts: 1419 Location: Milano
|
Posted: Sun Jan 30, 2005 9:39 am Post subject: |
|
|
xoen wrote: | Ci voleva
Così forse ci saranno meno post *strani* sul'uso di portage |
Quoto!
Anche se credo che un conto e' metterlo in rilievo, un conto e' leggerlo
Comunque ottimo lavoro!
Ciriciao
mouser |
|
Back to top |
|
|
ProT-0-TypE Veteran
Joined: 20 Dec 2003 Posts: 1624 Location: Cagliari
|
Posted: Sun Jan 30, 2005 10:40 am Post subject: |
|
|
ottima guida! magari se qualcuno ne ha voglia può aggiungere la spiegazione alle altre funzioni di emerge per far diventare questo post la bibbia del portage |
|
Back to top |
|
|
fedeliallalinea Administrator
Joined: 08 Mar 2003 Posts: 30838 Location: here
|
Posted: Sun Jan 30, 2005 10:43 am Post subject: |
|
|
ProT-0-TypE wrote: | ottima guida! magari se qualcuno ne ha voglia può aggiungere la spiegazione alle altre funzioni di emerge per far diventare questo post la bibbia del portage |
Beh man portage e man emerge . Comunque le funzioni assolutamente da sapere sono quelle, meglio che gli utenti imparino bene queste. Aggiungerne altre allungherebbe il post e rendendolo non molto leggibile a tutti _________________ Questions are guaranteed in life; Answers aren't. |
|
Back to top |
|
|
Lucacri Tux's lil' helper
Joined: 27 Jan 2005 Posts: 147 Location: 2a Curva di Lesmo!
|
Posted: Mon Jan 31, 2005 12:29 am Post subject: |
|
|
Bellissima guida, davvero ottima! Una sola cosa: come faccio a far si che il mio sistema sia tutto "unstable", ovvero che mi faccia un emerge -Du world e mi agigorni il sistema senza dover dare ACCEPT_KEYWORDS nella riga di comando? |
|
Back to top |
|
|
luna80 Veteran
Joined: 01 Feb 2004 Posts: 1545 Location: switzerland
|
Posted: Mon Jan 31, 2005 5:12 am Post subject: |
|
|
Lucacri wrote: | Bellissima guida, davvero ottima! Una sola cosa: come faccio a far si che il mio sistema sia tutto "unstable", ovvero che mi faccia un emerge -Du world e mi agigorni il sistema senza dover dare ACCEPT_KEYWORDS nella riga di comando? |
mmmm non credo se sia una bella idea... |
|
Back to top |
|
|
lavish Bodhisattva
Joined: 13 Sep 2004 Posts: 4296
|
Posted: Mon Jan 31, 2005 5:55 am Post subject: |
|
|
Lucacri wrote: | Bellissima guida, davvero ottima! Una sola cosa: come faccio a far si che il mio sistema sia tutto "unstable", ovvero che mi faccia un emerge -Du world e mi agigorni il sistema senza dover dare ACCEPT_KEYWORDS nella riga di comando? |
Aggiungi in /etc/make.conf
Code: |
ACCEPT_KEYWORDS="~<tua_arch>"
|
_________________ minimalblue.com | secgroup.github.io/ |
|
Back to top |
|
|
randomaze Bodhisattva
Joined: 21 Oct 2003 Posts: 9985
|
Posted: Mon Jan 31, 2005 8:05 am Post subject: |
|
|
Segnalo che questo post é stato riportato anche nel gentoo italia wiki: qui.
Quindi chi vuole modificare e/o correggere qualcosa basta che faccia il login nel wiki e si metta ad editare _________________ Ciao da me! |
|
Back to top |
|
|
fedeliallalinea Administrator
Joined: 08 Mar 2003 Posts: 30838 Location: here
|
Posted: Mon Jan 31, 2005 8:48 am Post subject: |
|
|
Lucacri wrote: | Bellissima guida, davvero ottima! Una sola cosa: come faccio a far si che il mio sistema sia tutto "unstable", ovvero che mi faccia un emerge -Du world e mi agigorni il sistema senza dover dare ACCEPT_KEYWORDS nella riga di comando? |
Se te la senti fai come dice lavish ma attento perche' potresti avere molti problemi. Anche se non metti l'instabile sei aggiornatissimo comunque con i pacchetti, non e' come una debian _________________ Questions are guaranteed in life; Answers aren't. |
|
Back to top |
|
|
Lucacri Tux's lil' helper
Joined: 27 Jan 2005 Posts: 147 Location: 2a Curva di Lesmo!
|
Posted: Mon Jan 31, 2005 9:21 am Post subject: |
|
|
Ho visto pero che ci sono alcuni pacchetti (tipo XML_TV) che sono molto vecchi nel portage (es: la versione .34 che è di maggio 2004 mentre sono gia arrivati alla .38 di gennaio 2005)! Come posso fare ad aggiornarli maggiormente? |
|
Back to top |
|
|
shev Bodhisattva
Joined: 03 Feb 2003 Posts: 4084 Location: Italy
|
Posted: Mon Jan 31, 2005 9:33 am Post subject: |
|
|
Lucacri wrote: | Ho visto pero che ci sono alcuni pacchetti (tipo XML_TV) che sono molto vecchi nel portage (es: la versione .34 che è di maggio 2004 mentre sono gia arrivati alla .38 di gennaio 2005)! Come posso fare ad aggiornarli maggiormente? |
Semplicemente installi le versioni masked *solo* dei pacchetti che realmente ti servono aggiornati all'ultima versione. Per "come fare", basta che leggi il primo post. Avere l'intero sistema masked non è consigliato, a meno che si sappiano risolvere da soli i problemi o si voglia dare una mano ai developer. Per intenderci, se hai l'intero sistema masked non venire poi qui a chiedere perchè non va l'ebuild pippo o come mai non si riavvia più la tua macchina: fa parte del gioco e del concetto stesso di pacchetto masked _________________ Se per vivere ti dicono "siediti e stai zitto" tu alzati e muori combattendo |
|
Back to top |
|
|
|