/etc/portage/make.conf

From Gentoo Wiki
< /etc‎ | portage
Jump to:navigation Jump to:search
This page is a translated version of the page /etc/portage/make.conf and the translation is 17% complete.
Outdated translations are marked like this.

Il file /etc/portage/make.conf (precedentemente /etc/make.conf) è usato per modificare l'ambiente di Portage a livello globale. Le impostazioni verranno applicate ad ogni pacchetto che sarà installato. Esse controllano molti elementi delle funzionalità di Portage ad esempio: le USE flags globali, le opzioni lingua (L10N), i mirror di Portage, ecc...

Settings in make.conf will apply to every package that is emerged. These settings control many elements of Portage functionality such as global USE flags, language (L10N) options, Portage mirrors, etc.

Una versione basica viene installata mentre si estrae la stage tarball e un setup di esempio può essere trovato nel file /usr/share/portage/config/make.conf.example.

Like many Portage configuration files, make.conf can be a directory, and its contents will get summed together as if it were a single file.

See also
The Handbook covers using make.conf, particularly in the USE flags, Portage features and Variables sections. See man make.conf for comprehensive documentation.

La configurazione finale di Portage non è solo basata su make.conf. Le impostazioni globali definite in questo file possono essere raffinate (o redefinite) in base al singolo pacchetto nei file in /etc/portage/package.use/ così come attraverso variabili d'ambiente. Sono disponibili anche le impostazioni predefinite gestite dalla distribuzione (in parte tramite le impostazioni predefinite del pacchetto Portage, in parte tramite il profilo Gentoo che è in uso).

Nota
Sebbene Portage supporti ancora il vecchio file /etc/make.conf, il suo utilizzo è sconsigliato a favore di /etc/portage/make.conf. Quando entrambi i file sono disponibili, le impostazioni in /etc/portage/make.conf hanno la precedenza in quelle di /etc/make.conf.

Variabili

Ci sono molte possibili variabili da personalizzare in make.conf. Solo quelle più comunemente usate sono spiegati ulteriormente all'interno di questo articolo, con un esempio e un collegamento a un articolo più dettagliato (se applicabile).

user $man make.conf

Most variables are optional, can span multiple lines, but must not appear more than once.

Nota
Configurazioni diverse richiedono l'impostazione di variabili diverse. Non trattare i seguenti esempi come un elenco definitivo o un insieme minimo di requisiti.

CHOST

La variabile CHOST viene passata attraverso la fase di configurazione degli ebuild per impostare l'host di compilazione del sistema. Nota che il profilo Gentoo imposta già il valore CHOST appropriato, e l'aggiornamento richiede conoscenza ed esperienza nelle catene di costruzione/compilazione.

Attenzione
Portage profiles already set the appropriate CHOST value, and updating it requires insight and experience in build chains.
Nota
Starting with profile version 23.0 it is recommended to not to list CHOST in the make.conf file.[1]

Consulta l'articolo CHOST per ulteriori informazioni.

CFLAGS e CXXFLAGS

Le variabili CFLAGS e CXXFLAGS definiscono i flag di costruzione (build) e compilazione (compile) che verranno utilizzati per tutte le distribuzioni di pacchetti (alcune eccezioni nonostante chi filtra i flag noti per causare problemi con il pacchetto). La variabile CFLAGS è per applicazioni basate su C, mentre CXXFLAGS è pensata per applicazioni basate su C++. La maggior parte degli utenti manterrà lo stesso contenuto di entrambe le variabili.

FILE /etc/portage/make.confImpostazioni comunemente usate per CFLAGS e CXXFLAGS
CFLAGS="-march=native -O2 -pipe"
CXXFLAGS="${CFLAGS}"

Per maggiori informazioni consultare l'articolo GCC optimization e CFLAGS e CXXFLAGS nel Gentoo Handbook

CONFIG_PROTECT



La variabile CONFIG_PROTECT contiene una lista (i cui elementi sono separati da spazi) di directory dove Portage non sovrascriverà nessun file "alla cieca", ma tratterà questi come configurazioni, permettendo all'utente di controllare manualmente se le modifiche siano necessarie e valide oppure no. Le sottodirectories delle directories elencate possono essere escluse tramite la variabile CONFIG_PROTECT_MASK.

A current list of presently protected locations can be displayed with portageq:

user $portageq envvar CONFIG_PROTECT
/etc /usr/share/config /usr/share/gnupg/qualified.txt

Using portageq is a short hand alternative to running a regular expression search on verbose, informational output from the emerge command:

user $emerge --verbose --info | grep -E '^CONFIG_PROTECT='
CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt"

Files or subdirectories defined within the CONFIG_PROTECT can be excluded from protection through the CONFIG_PROTECT_MASK variable. Masking is useful when a parent directory should be protected, but a certain child directory beneath it.

La variabile ha un'impostazione predefinita gestita dall'installazione di Portage e contiene entries dal profilo dell'utente. Può essere estesa dall'ambiente di sistema (il quale è spesso utilizzato dalle applicazioni che aggiornano la variabile attraverso il loro file /etc/env.d) e dalle impostazioni dell'utente /etc/portage/make.conf.

FILE /etc/portage/make.confExample CONFIG_PROTECT use in make.conf
CONFIG_PROTECT="/var/bind"

Per maggiori informazioni, vedere la sezione Environment variables nell'Handbook di Gentoo.


FEATURES


La variabile FEATURES contiene un elenco di funzionalità di Portage che l'utente vuole abilitate sul sistema, influenzando efficacemente il comportamento di Portage. È impostato di default tramite il profile di Gentoo, ma può essere facilmente aggiornato tramite /etc/portage/make.conf. Poiché questa è una variabile incrementale, i valori FEATURES possono essere aggiunti senza sovrascrivere direttamente quelli implementati tramite il profilo Gentoo.

FILE /etc/portage/make.confAggiunta di keepwork a FEATURES in Portage
FEATURES="keepwork"

Per ulteriori informazioni, vedere Portage features nel Manuale di Gentoo e nell'articolo FEATURES. Per un elenco completo delle funzionalità disponibili, vedere man 5 make.conf.

See also
See the FEATURES article for more information.

GENTOO_MIRRORS

Vedi l'articolo GENTOO_MIRRORS.

MAKEOPTS

La variabile MAKEOPTS è usato per specificare gli argomenti passati a make quando i pacchetti sono compilati dal sorgente. Un'impostazione comunemente usata è -jN che specifica il numero di processi make in parallelo che possono essere usati per costruire/compilare un singolo pacchetto. Una regola empirica ampiamente utilizzata per N è prendere il numero di core CPU logici disponibili. Un core della CPU fisica che utilizza una tecnica SMT X-way (es. Hyper-Threading o SMT2) conta come core logici X.

FILE /etc/portage/make.confImpostazione consigliata per un processore dual-core con Hyper-Threading abilitato
MAKEOPTS="-j4"

Consulta l'articolo MAKEOPTS per ulteriori informazioni.

Nota
Leggi su EMERGE_DEFAULT_OPTS poiché questa variabile influenza anche il comportamento di compilazione.

EMERGE_DEFAULT_OPTS

La voci della variabile EMERGE_DEFAULT_OPTS vengono aggiunte alla riga di comando di emerge. Viene spesso utilizzata per consentire operazioni di emerge simultanee tramite le opzioni --jobs N e --load-average X.Y, che indicano a Portage quante costruzioni/compilazioni di pacchetti paralleli possono essere utilizzate e fino a quale carico di sistema (carico medio) può essere utilizzato il parallelismo.

EMERGE_DEFAULT_OPTS allows for parallel emerge operations through the --jobs N and --load-average X.Y options. EMERGE_DEFAULT_OPTS is used by Portage to reference system load, or load average, and limit how many packages are built at a time.

Ad esempio, per eseguire fino a tre processi in parallelo:

FILE /etc/portage/make.confAbilitare 3 compilazioni in parallelo di un pacchetto
EMERGE_DEFAULT_OPTS="--jobs 3"

Per ulteriori informazioni, vedere l'articolo EMERGE_DEFAULT_OPTS.

PORTAGE_SCHEDULING_POLICY

See also
See the Portage niceness article.

PORTAGE_TMPDIR

La variabile PORTAGE_TMPDIR definisce la posizione dei file temporanei per Portage. Il valore predefinito è /var/tmp, con il risultato di /var/tmp/portage per la locazione di costruzione/compilazione, /var/tmp/ccache per il supporto ccache di Portage e così via

FILE /etc/portage/make.confImpostazioni PORTAGE_TMPDIR predefinite
PORTAGE_TMPDIR="/var/tmp"

On some systems, /var/tmp/ may be mounted with the noexec option. The following error would be displayed by emerge when building packages:

user $emerge --ask package
Can not execute files in /var/tmp/portage
Likely cause is that you've mounted it with one of the
following mount options: 'noexec', 'user', 'users'
 
Please make sure that portage can execute files in this directory.

In this case, if removing the offending option from /etc/fstab isn't possible, PORTAGE_TMPDIR should be set to a different directory.

If enough memory is available, building packages can be accelerated by mounting PORTAGE_TMPDIR in RAM. See the article on Portage TMPDIR on tmpfs for more details.

DISTDIR

La variabile DISTDIR definisce la locazione dove Portage salverà il download dell'archivio codice sorgente. Il suo valore predefinito è /var/cache/distfiles.

Gli utenti possono impostare la variabile DISTDIR in /etc/portage/make.conf:

Attenzione
Beware where you place your DISTDIR! Only trusted users should be granted write access to this location.


File integrity check and unpacking is a non-atomic operation, allowing for an attack where a file is swapped in between, possibly leading to compromise the system.
FILE /etc/portage/make.confUsare una DISTDIR differente
DISTDIR=/var/gentoo/distfiles

Per ulteriori informazioni, fare riferimento all'articolo DISTDIR.

PKGDIR

USE

La variabile USE consente l'impostazione o la disattivazione a livello di sistema di USE flag in un elenco separato da spazi.

Per un controllo a pacchetto di USE flags, il file /etc/portage/package.use dovrebbe essere usato.

Nota
Always consider whether it is worth setting a USE flag globally and what implications this will have on the system, or if it is preferable to just set a flag for one or several packages individually.
Suggerimento
A USE flag may be temporarily set on the command line to check what effect it will have, before writing it to the world file: USE="[USE flag to test]" emerge --pretend --verbose --update --deep --newuse world

ACCEPT_LICENSE

La varabile ACCEPT_LICENSE dice a Portage quali licenze software sono consentite. I pacchetti con una licenza non accettata non possono essere installati nel sistema.

FILE /etc/portage/make.confPer accettare tutte le licenze in tutti i pacchetti (non una buona idea)
ACCEPT_LICENSE="*"

The preferred way to accept all licenses is to set -@EULA which allows users to check over the terms of proprietary software.

FILE /etc/portage/make.confTo accept all licenses on all packages expect proprietary
ACCEPT_LICENSE="* -@EULA"
FILE /etc/portage/make.confPer accettare solo i software "free"
ACCEPT_LICENSE="-* @FREE"

LINGUAS

Vedi LINGUAS nella guida alla localizzazione.

FILE /etc/portage/make.conf
LINGUAS="de pt_BR en en_US en_GB"

USE_EXPAND

La variabile USE_EXPAND è una lista impostata in profiles/base/make.defaults a partire da Portage 2.0.51.20. [2]

CPU_FLAGS_X86

Vedere l'articolo CPU_FLAGS_X86 per ulteriori informazioni.

La variabile CPU_FLAGS_X86 informa Portage sui flag (funzionalità) della CPU consentiti dalla CPU. Queste informazioni vengono utilizzate per ottimizzare le build del pacchetto in modo specifico per le funzionalità di destinazione.

L'utilità cpuid2cpuflags (trovato nel pacchetto app-portage/cpuid2cpuflags) può essere utilizzato per ottenere un elenco completo dei flag della CPU supportati dal processore del sistema. Dopo aver installato il pacchetto, emettere:

user $cpuid2cpuflags
CPU_FLAGS_X86: aes avx f16c mmx mmxext pclmul popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3

Queste flags possono quindi essere aggiunte in /etc/portage/make.conf o /etc/portage/package.use/. Nota che questo è efficace solo sulle architetture x86 e amd64.

INPUT_DEVICES

Vedere la sezione make.conf dell'articolo Xorg/Guide e i possibili valori.

L10N

Vedi L10N nella guida alla localizzazione e questo Repository News Item.

FILE /etc/portage/make.conf
L10N="de pt-BR en en-US en-GB"
FILE /etc/portage/make.conf
# Defining localization values
L10N="de pt-BR en en-US en-GB"
Nota
Mentre i comuni codici di lingua a due lettere (come de o fr) sono identici in LINGUAS e L10N, voci più complesse hanno una sintassi diversa perché L10N usa tag di lingua IETF (alias BCP 47). Ad esempio, pt_BR e sr@latin in LINGUAS diventano pt-BR e sr-Latn< /code> in L10N, rispettivamente.

VIDEO_CARDS

Per i possibili valori di questa variabile USE_EXPAND vedi VIDEO_CARDS.

Machine Discrete video card VIDEO_CARDS
Intel x86 None See Intel#Feature support
x86/ARM Nvidia nvidia
Any Nvidia except Maxwell, Pascal and Volta nouveau
Any AMD since Sea Islands amdgpu radeonsi
Any ATI and older AMD See radeon#Feature support
Any Intel intel
Raspberry Pi N/A vc4
QEMU/KVM Any virgl
WSL Any d3d12

From the common combinations of machines and video cards, substitute the name of the driver(s) to be used.

Portage uses the USE_EXPAND variable called VIDEO_CARDS to enable support for various graphics cards in packages. Setting VIDEO_CARDS to appropriate value(s) will pull in the correct driver(s):

FILE /etc/portage/make.confSet VIDEO_CARDS to intel nvidia radeon vesa
VIDEO_CARDS="intel nvidia radeon vesa"

Substitute the name of the driver(s) to be used. Common choices include nouveau, nvidia, radeon, and intel. </translate> <translate> After setting or altering VIDEO_CARDS values remember to update the system using the following command so the changes take effect:

root #emerge --ask --changed-use --deep @world

After changing VIDEO_CARDS values remember to update the system using the following command so the changes take effect:

FILE /etc/portage/make.conf
VIDEO_CARDS="intel nouveau radeon radeonsi"
root #emerge --getbinpkg --ask --changed-use --deep @world

Omit --getbinpkg to not use the configured binary package host.

Per l'utente medio, se deve essere utilizzato un ambiente desktop grafico, questa variabile dovrebbe essere definita esplicitamente. Per ulteriori informazioni vedere Xorg/Guide#make.conf.

Per maggiori dettagli, vedere gli articoli AMDGPU o NVIDIA.

Vedere anche

Risorse esterne

Riferimenti