Handbook:Parts/Working/Features/it

Funzionalità di Portage
Portage possiede numerose funzionalità aggiuntive che rendono l'esperienza di Gentoo persino migliore. Molte di queste funzioni dipendono da certi strumenti software che migliorano prestazioni, affidabilità, sicurezza, ...

Per abilitare o disabilitare certe funzionalità di Portage, modificare ed aggiornare o impostare la variabile FEATURES che contiene le parole chiave associate alle varie funzionalità, separate da uno spazio bianco. In numerosi casi è anche necessario installare lo strumento aggiuntivo dal quale le funzionalità dipendono.

Non tutte le funzionalità che Portage supporta sono elencate qui. Per una panoramica completa, consultare la pagina manuale :

Per scoprire quali FEATURES (caratteristiche) sono impostate in via predefinita, eseguire e cercare la variabile FEATURES o ricavarla con :

Usare distcc
è un programma per distribuire le compilazioni attraverso molte, non necessariamente identiche, macchine su una rete. Il client (committente) distcc invia tutte le informazioni necessarie ai server (servitori) distcc disponibili (eseguendo distccd), così essi possono compilare parti di codice sorgente per il client. Il risultato con la rete consiste in un tempo di compilazione più veloce.

Più informazioni riguardo distcc (e come averlo in funzione su Gentoo) si trovano nell'articolo Distcc.

Installare distcc
Distcc viene fornito con un monitor grafico per monitorare le attività che il computer sta inviando per la compilazione. Questo strumento è automaticamente installato se sono impostati  o.

Attivare il supporto distcc su Portage
Aggiungere  alla variabile FEATURES dentro. Poi, modificare la variabile MAKEOPTS ed aumentare il numero di attività di compilazione parallele che il sistema permette. Una nota linea guida consiste nell'inserire  dove   è il numero dei processori (CPU) che eseguono distccd (incluso l'attuale host) più uno, ma è giusto un'indicazione di massima.

Ora eseguire ed inserire l'elenco dei server distcc disponibili. Per fare un semplice esempio, supponiamo che i server DistCC disponibili siano 192.168.1.102 (l'attuale host), 192.168.1.103 e 192.168.1.104 (due host "remoti"):

Non dimenticare di eseguire anche il servizio distccd (daemon):

Riguardo ccache
è una cache di compilazione veloce. Ogni volta che un'applicazione viene compilata, memorizzerà i risultati intermedi nella cache in modo che, ogni volta che lo stesso programma viene ricompilato, il tempo di compilazione viene notevolmente ridotto. La prima volta che ccache viene eseguito, sarà molto più lento rispeto ad una normale compilazione. Le ricompilazioni successive tuttavia dovrebbero essere più veloci. ccache è utile solo se la stessa applicazione verrà ricompilata molte volte (o se gli aggiornamenti della stessa applicazione si verificano frequentemente); quindi è principalmente utile solo per gli sviluppatori di software.

Per maggiori informazioni su ccache, si visiti la sua homepage.

Installare ccache
Per installare ccache eseguire il seguente comando:

Attivare il supporto ccache su Portage
Aprire ed aggiungere   a qualsiasi valore definito nella variabile FEATURES. Se FEATURES non esiste, la si crei. Poi, aggiungere una nuova variabile chiamata CCACHE_SIZE (dimensione della cache) ed impostarla con :

Per verificare che ccache funzioni, chiedere a ccache di fornire le sue statistiche. Siccome Portage usa una diversa cartella home per ccache, è necessario impostare temporaneamente la variabile CCACHE_DIR :

La posizione è la cartella home di ccache predefinita di Portage; si può cambiare impostando la variabile CCACHE_DIR su.

Eseguendo in modo a sé stante (standalone), verrebbe usato il percorso predefinito, motivo per cui è necessario impostare la variabile CCACHE_DIR quando si richiedono le statistiche ccache (di Portage).

Usare ccache fuori da Portage
Per usare ccache nelle compilazioni non-Portage, aggiungere all'inizio della variabile PATH (prima ). Ciò può esser fatto modificando nella cartella home dell'utente. Usare è un modo per definire le variabili PATH (percorso).

Creare pacchetti precompilati
Portage supporta l'installazione dei pacchetti precompilati. Anche se Gentoo non fornisce pacchetti precompilati da sé, Portage può essere pienamente consapevole dei pacchetti precompilati.

To create a prebuilt package use the command if the package is already installed on the system, or emerge with the   or   options.

To have Portage create prebuilt packages of every single package that gets installed, add  to the FEATURES variable.

More extended support for creating prebuilt package sets can be obtained with catalyst. For more information on catalyst please read the Catalyst FAQ.

Installing prebuilt packages
Although Gentoo doesn't provide one, it is possible to create a central repository where prebuilt packages are stored. In order to use this repository, it is necessary to make Portage aware of it by having the PORTAGE_BINHOST variable point to it. For instance, if the prebuilt packages are on ftp://buildhost/gentoo:

To install a prebuilt package, add the  option to the emerge command alongside of the   option. The former tells emerge to download the prebuilt package from the previously defined server while the latter asks emerge to try to install the prebuilt package first before fetching the sources and compiling it.

For instance, to install gnumeric with prebuilt packages:

More information about emerge's prebuilt package options can be found in the emerge man page:

Distributing prebuilt packages to others
If prebuilt packages are to be distributed to others, then make sure that this is permitted. Check the distribution terms of the upstream package for this. For example, for a package released under the GNU GPL, sources must be made available along with the binaries.

Ebuilds may define a  restriction in their RESTRICT variable if built binaries are not distributable. Sometimes this restriction is conditional on one or more USE flags.

By default, Portage will not mask any packages because of restrictions. This can be changed globally by setting the ACCEPT_RESTRICT variable in. For example, to mask packages that have a  restriction, add the following line to :

It is also possible to override the ACCEPT_RESTRICT variable by passing the  option to the  command. For example,  will temporarily mask packages with a   restriction.

Also consider setting the ACCEPT_LICENSE variable when distributing packages. See the Licenses section for this.

Userfetch
When Portage is run as root,  will allow Portage to drop root privileges while fetching package sources. This is a small security improvement.

Istantanee convalidate del repository di Gentoo
Administrators can opt to update the local Gentoo ebuild repository with a cryptographically validated snapshot as released by the Gentoo infrastructure. This ensures that no rogue rsync mirror is adding unwanted code or packages to the repositories the system will be downloading.

The Gentoo release media OpenPGP keys are now available as a binary keyring. These can be installed via the package:

This will install the keyring to the location.

Make sure that package is installed:

Use to verify that the keys in the keyring are the correct keys:

Verify the fingerprints of the key(s) against those listed on the official Gentoo release engineering project page.

Repeat the following command for each key you wish to trust. (Substitute the keyid '0x...' for the desired key you wish to trust.)

Should a GPG command-line menu appear, fully trust the key and quit the program by entering the following:

The system is now set-up to sync using only OpenPGP/gpg verified snapshots. Several command options are available to perform the sync.