Come usare correttamente portage
Questa è la versione tradotta in italiano da:
http://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
Code: Select all
# emerge fooSi 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: Select all
# mkdir/etc/portageCode: Select all
# echo net-im/gaim ~x86 >> /etc/portage/package.keywordsPossiamo 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: Select all
# echo =app-misc/foo-version ~x86 >> /etc/portage/package.keywordsTuttavia, 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: Select all
# echo app-misc/foo ~x86 >> /etc/portage/package.keywordsAVVERTIMENTO: Usando "emerge -U world" si possono avere problemi nel sistema per cui non si dovrebbe usare. Earthwings ne parla qui:
http://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: Select all
# echo sys-kernel/linux-headers - * >> /etc/portage/package.keywordsCode: Select all
# echo x11-base/xfree >> /etc/portage/package.maskSe 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: Select all
# echo media-video/realone >> /etc/portage/package.unmaskCode: Select all
#echo net-p2p/bittorrent -X >> /etc/portage/package.useOgni 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: Select all
# echo app-misc/foo-version >> /etc/portage/profile/package.providedNOTA: 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:
Code: Select all
# regenworldhttp://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: Select all
#emerge -uDav worldSi consiglia di provare lo script di ecatmur's cruft per mantenere il sistema accurato e pulito!
http://forums.gentoo.org/viewtopic.php?t=152618
oppure anche lo script di xchris
http://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: Select all
PORTDIR_OVERLAY="/usr/local/portage"Code: Select all
# mkdir -p /usr/local/portage/<category>/<package name>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: Select all
# ebuild /usr/local/portage/<category>/<package name>/mypackage-1.0.ebuild digestCode: Select all
# emerge mypackageIMPORTANTE: 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






