Handbook:Parts/Portage/Files/it

Direttive per la configurazione
Portage viene installato con una configurazione predefinita su. L'intera configurazione di Portage viene gestita tramite variabili. Tutte le variabili prese in esame da Portage verranno descritte più avanti.

Siccome molte direttive di configurazione differiscono tra le varie architetture, Portage possiede dei file di configurazione predefiniti che fanno parte del profilo di sistema. Il link simbolico punta a questo profilo; le configurazioni di Portage sono impostate nei file  del profilo e di tutti i profili padre. Forniremo maggiori spiegazioni sui profili e sulla cartella più avanti.

Quando si modifica una variabile di configurazione, non si modifichi o. Si usi invece che ha priorità sui file precedenti. Per ulteriori informazioni, leggere. Come suggerisce il nome, questo è semplicemente un file di esempio - Portage non legge questo file.

È possibile definire una variabile di configurazione di Portage anche come variabile d'ambiente, ma non è raccomandabile.

Informazioni specifiche sul profilo
Abbiamo già incontrato la cartella. Ebbene, questa non è esattamente una cartella ma un link simbolico ad un profilo, in via predefinita ad uno dentro sebbene sia possibile creare i propri profili altrove e puntare verso essi. Il profilo a cui punta questo link simbolico è il profilo a cui aderisce il sistema.

Un profilo contiene informazioni per Portage specifiche sull'architettura, per esempio un elenco di pacchetti facenti parte del sistema rispondenti a quel profilo, un elenco di pacchetti che non funzionano (o che sono mascherati) su quel profilo, ecc.

Configurazione specifica per l'utente
Quando serve modificare il comportamento di Portage riguardo l'installazione di software, è necessario modificare il giusto insieme di file dentro. Si consiglia vivamente di utilizzare i file dentro e si sconsiglia fortemente di sovrascrivere tale comportamento attraverso le variabili d'ambiente!

All'interno di gli utenti possono creare i seguenti file:
 * che elenca i pacchetti che Portage non dovrebbe mai provare ad installare
 * che elenca i pacchetti che Portage dovrebbe essere in grado di installare anche se gli sviluppatori di Gentoo scoraggiano molto gli utenti a farne uso
 * che elenca i pacchetti che Portage dovrebbe essere in grado di installare anche se il pacchetto non è stato (ancora) considerato adatto per il sistema o per l'architettura
 * che elenca le opzioni USE (flag) da utilizzare per determinati pacchetti senza che l'intero sistema debba usare tali opzioni USE

Questi non devono essere necessariamente dei file; possono anche essere cartelle che contengono un file per pacchetto. Ulteriori informazioni sulla cartella ed un elenco completo dei file che si possono creare si trovano nella pagina manuale di Portage:

Cambiare le posizioni di file e cartelle di Portage
I file di configurazione menzionati in precedenza non possono essere memorizzati altrove - Portage cercherà quei file di configurazione sempre in quelle esatte posizioni. Tuttavia, Portage utilizza molte altre posizioni per vari scopi: cartelle per la compilazione, deposito del codice sorgente, posizione del repositorio di Gentoo, ...

Per tutti questi scopi ci sono posizioni predefinite ben note, ma possono essere modificate in base ai gusti personali tramite. Il resto di questo capitolo spiega quali posizioni speciali utilizza Portage e come modificarne la posizione nel filesystem.

Comunque questo documento non è concepito per essere usato come riferimento. Per coprire il 100% degli argomenti, consultare le pagine manuale di Portage e make.conf:

Repositorio di Gentoo
Il percorso predefinito del repositorio di Gentoo è. Esso è definito dal file predefinito collocato su. Per modificare il valore predefinito, copiare questo file su e modificare l'impostazione di location. Quando si memorizza altrove il repositorio di Gentoo (modificando questa variabile), non si dimentichi di modificare coerentemente anche il collegamento simbolico.

Dopo aver modificato l'impostazione di location su, si consiglia di modificare le seguenti variabili su dato che non riceveranno avviso del cambiamento di location. Ciò dipende dal modo con cui Portage gestisce le variabili: PKGDIR, DISTDIR e RPMDIR.

Binari precompilati
Anche se Portage non usa i binari precompilati per impostazione predefinita, li supporta ampiamente. Quando si chiede a Portage di lavorare con i pacchetti precompilati, li cercherà in. Questa posizione è definita dalla variabile PKGDIR.

Codice sorgente
Il codice sorgente delle applicazioni è memorizzato in per impostazione predefinita. Questa posizione è definita dalla variabile DISTDIR.

Il database di Portage
Portage memorizza lo stato del sistema (quali pacchetti risultano installati, quali file appartengono a quale pacchetto, ... ) su.

Cache di Portage
La cache di Portage (con i tempi di modifica, i virtuali, le informazioni sull'albero delle dipendenze, ... ) è memorizzata in. Questa posizione è effettivamente una cache (memoria provvisoria di supporto): gli utenti possono cancellarla se non stanno eseguendo applicazioni relazionate con Portage in quel momento.

File di Portage temporanei
Portage's temporary files are stored in by default. This is defined by the PORTAGE_TMPDIR variable.

When altering the PORTAGE_TMPDIR variable, it is recommended to also change the following variables as well since they will not notice the PORTAGE_TMPDIR change. This is due to how Portage handles variables: BUILD_PREFIX.

Building directory
Portage creates specific build directories for each package it emerges inside. This location is defined by the BUILD_PREFIX variable.

Live filesystem location
By default Portage installs all files on the current filesystem, but this can be changed by setting the ROOT environment variable. This is useful when creating new build images.

Ebuild logging
Portage can create per-ebuild log files, but only when the PORT_LOGDIR variable is set to a location that is writable by Portage (through the Portage user). By default this variable is unset. If PORT_LOGDIR is not set, then there will not be any build logs with the current logging system, though users may receive some logs from the new support.

If PORT_LOGDIR is not defined and is used, then build logs and any other logs saved by elog will be made available, as explained below.

Portage offers fine-grained control over logging through the use of elog:


 * PORTAGE_ELOG_CLASSES : This is where users can define what kinds of messages to be logged. This can be any space-separated combination of info, warn, error, log, and qa.
 * info: Logs "einfo" messages printed by an ebuild
 * warn: Logs "ewarn" messages printed by an ebuild
 * error: Logs "eerror" messages printed by an ebuild
 * log: Logs the "elog" messages found in some ebuilds
 * qa: Logs the "QA Notice" messages printed by an ebuild


 * PORTAGE_ELOG_SYSTEM : This selects the module(s) to process the log messages. If left empty, logging is disabled. Any space-separated combination of save, custom, syslog, mail, save_summary, and mail_summary can be used. At least one module must be used in order to use elog.
 * save: This saves one log per package in, or if $PORT_LOGDIR is not defined.
 * custom: Passes all messages to a user-defined command in $PORTAGE_ELOG_COMMAND; this will be discussed later.
 * syslog: Sends all messages to the installed system logger.
 * mail: Passes all messages to a user-defined mailserver in $PORTAGE_ELOG_MAILURI; this will be discussed later. The mail features of elog require >=portage-2.1.1.
 * save_summary: Similar to save, but it merges all messages in, or if $PORT_LOGDIR is not defined.
 * mail_summary: Similar to mail, but it sends all messages in a single mail when emerge exits.


 * PORTAGE_ELOG_COMMAND : This is only used when the custom module is enabled. Users can specify a command to process log messages. Note that the command can make use of two variables: ${PACKAGE} is the package name and version, while ${LOGFILE} is the absolute path to the logfile. For instance:


 * PORTAGE_ELOG_MAILURI : This contains settings for the mail module such as address, user, password, mail server, and port number. The default setting is "root@localhost localhost". The following is an example for an SMTP server that requires username and password-based authentication on a particular port (the default is port 25):


 * PORTAGE_ELOG_MAILFROM : Allows the user to set the "from" address of log mails; defaults to "Portage" if unset.


 * PORTAGE_ELOG_MAILSUBJECT : Allows the user to create a subject line for log mails. Note that it can make use of two variables: ${PACKAGE} will display the package name and version, while ${HOST} is the fully qualified domain name of the host Portage is running on. For instance: