/etc/portage/make.conf
emerge — configuration — ebuild repository — dispatch-conf
world file — USE flags — ebuilds — profiles
upgrades — using testing packages — binary packages
tools — gentoolkit — eselect
Portage FAQ — cheat sheet — FAQ
all articles
Die /etc/portage/make.conf Datei, (zuvor /etc/make.conf) ist die Hauptkonfigurationsdatei, die zur Anpassung der Portage-Umgebung auf globaler Ebene dient. Das /etc/portage Verzeichnis enthält auch die meisten anderen Portage-Konfigurationsdateien.
Einstellungen in make.conf werden auf alle Pakete angewendet die emerged werden. Sie kontrollieren viele Teile der Portage-Funktionalität wie etwa globale Use-Flags, Sprachoptionen (L10N), Portage-Mirrors, etc.
Eine sehr grundlegende Version wird beim Extrahieren vom stage tarball installiert, und eine Beispielkonfiguration kann unter /usr/share/portage/config/make.conf.example gefunden werden.
Wie viele Portage-Konfigurationsdateien kann make.conf ein Verzeichnis sein, dessen Inhalt dann zusammengefasst wird, als wäre es ein einzige Datei.
Das Handbuch behandelt die Verwendung von make.conf, insbesondere in den Abschnitten Use-Flags, Portage Funktionen und Variablen. Siehe man make.conf für eine umfassende Dokumentation.
Präzedenz
Die abschließende Portagekonfiguration basiert nicht nur auf make.conf. Globale Einstellungen, die in dieser Datei definiert wurden können auf Einzelpaketbasis in den /etc/portage/package.use/-Dateien sowohl auch durch Umgebungsvariablen verfeinert (oder neu definiert) werden. Standardeinstellungen, die von der Distribution verwaltet werden stehen auch zur Verfügung (teils durch die Standardeinstellungen von Portage, teils durch das derzeitig benutzte Gentoo-Profil).
Obwohl Portage immernoch den alten Speicherort in /etc/make.conf unterstützt, wird von dessen Nutzung zugunsten von /etc/portage/make.conf abgeraten. Wenn beide Dateien existieren, werden die Einstellungen in /etc/portage/make.conf über die in /etc/make.conf bevorzugt.
Variablen
Es gibt viele Variablen, die man in make.conf anpassen kann. Nur die meistverwendeten werden näher in diesem Artikel erklärt mitsamt Beispielen und einem (sofern zutreffend) Link zu deren detaillierteren Artikeln. Weiter Informationen und eine Liste mit allen Variablen können Sie in der make.conf Handbuchseite finden, indem sie den folgenden Befehl ausführen:
user $
man make.conf
Die meisten Variablen sind optional, können sich über mehrere Zeilen erstrecken, dürfen aber nicht mehr als einmal vorkommen.
Verschiedene Konfigurationen werden auch andere Variablen brauchen. Sehen Sie die folgenden Beispiele nicht als endgültig geltende Liste oder Mindestanforderungen an - setzen Sie nur die benötigten Variablen.
CHOST
Die CHOST-Variable wird durch den Konfigurationsschritt der ebuilds gereicht, um den build-host des Systems einzurichten. Beachte, dass das Gentooprofil den passenden CHOST-Wert bereits setzt, und dessen Änderung Einsicht und Erfahrung mit build chains benötigt.
Portage profiles already set the appropriate CHOST value, and updating it requires insight and experience in build chains.
Starting with profile version 23.0 it is recommended to not to list CHOST in the make.conf file.[1]
Sehen Sie sich den CHOST-Artikel für weitere Informationen an.
CFLAGS und CXXFLAGS
Die CFLAGS und CXXFLAGS-Variablen definieren die Build- und Kompilierungsflags die für alle Paketeinrichtungen verwendet werden (mit einzelnen Ausnahmen von Paketen, die Flags herausfiltern, welche bei diesen bekannterweise Probleme auslösen). Die CFLAGS-Variable ist für Programme die auf C basieren, während CXXFLAGS für Programme ist, die auf C++ basieren. Die meisten Anwender werden den Inhalt beider Variablen gleich lassen.
CFLAGS="-march=native -O2 -pipe"
CXXFLAGS="${CFLAGS}"
Für mehr Informationen siehe den GCC-Optimierungs-Artikel und CFLAGS und CXXFLAGS im Gentoo-Handbuch. Siehe auch die FAQ.
CONFIG_PROTECT
Die Variable CONFIG_PROTECT enthält eine Liste von Ordnern (mit Leerzeichen getrennt), bei denen Portage nicht blind vorhandene Dateien überschreibt, sondern diese als Konfigurationsdateien behandelt, welche vom Benutzer geändert wurden. Portage wird diese Dateien in diesen Ordnern nicht überschreiben, sondern dem Benutzer die Entscheidung überlassen, ob diese behalten oder verworfen werden.
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"
Unterverzeichnisse der aufgelisteten Verzeichnisse können durch die CONFIG_PROTECT_MASK-Variable ausgeschlossen werden.
Die Variable CONFIG_PROTECT hat einen von Portage verwalteten, vernünftigen Standardwert und enthält Einträge in Abhängigkeit vom gewählten Systemprofil Profil. Sie kann durch die Systemumgebung (welche oft von Anwendungen benutzt wird, die diese Variable mittels ihrer /etc/env.d-Datei verändern) und die Benutzereinstellungen in /etc/portage/make.conf erweitert werden.
CONFIG_PROTECT="/var/bind"
Siehe auch das Kapitel zu Umgebungsvariablen im Gentoo-Handbuch.
FEATURES
The FEATURES variable contains a list of Portage features that the user wants enabled on the system, effectively influencing Portage's behavior. It is set by default via /usr/share/portage/config/make.globals, but can be easily updated through /etc/portage/make.conf. Since this is an incremental variable, FEATURES values can be added without directly overriding the ones implemented through the Gentoo profile.
FEATURES="keepwork"
For more information, please see Portage features in the Gentoo Handbook and the FEATURES article. For a complete list of available features, see man 5 make.conf.
Siehe den FEATURES Artikel für mehr Informationen
GENTOO_MIRRORS
Siehe den Artikel GENTOO_MIRRORS.
MAKEOPTS
Die Variable MAKEOPTS wird verwendet, um bestimmte Argumente zu definieren, die beim Kompilieren von Paketen an make weitergereicht werden.
MAKEOPTS="-j4"
Siehe den Artikel MAKEOPTS für nähere Informationen.
Lesen Sie sich in /etc/portage/make.conf ein, da diese Variable auch das Build-Verhalten beeinflusst.
EMERGE_DEFAULT_OPTS
EMERGE_DEFAULT_OPTS is a variable for Portage that defines entries to be appended to the emerge command line.
EMERGE_DEFAULT_OPTS is often used to allow for concurrent emerge operations through the --jobs N
and --load-average X.Y
options, which tell Portage how many package builds can be ran simultaneously and up to what system load (load average) the parallelism can be used.
Um beispielsweise bis zu drei Build-Jobs gleichzeitig auszuführen:
EMERGE_DEFAULT_OPTS="--jobs 3"
For more information, see the EMERGE_DEFAULT_OPTS article.
PORTAGE_SCHEDULING_POLICY
Siehe den Portage Niceness Artikel.
PORTAGE_TMPDIR
Die PORTAGE_TMPDIR-Variable definiert den Speicherort der temporären Dateien für Portage. Dessen Standardwert ist /var/tmp, wodurch dementsprechend /var/tmp/portage der Build-Ort ist und /var/tmp/ccache für Portage's ccache-Unterstützung zuständig ist, und so weiter.
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.
Wenn genug Speicher zur Verfügung steht, kann das bauen von Paketen beschleunigt werden, indem PORTAGE_TMPDIR im RAM eingehängt wird. Siehe den Portage TMPDIR auf tmpfs Artikel für mehr Informationen.
DISTDIR
Die Variable DISTDIR noinclude>[[Article description::</noinclude>definiert den Ort im Dateisystem, an dem Portage die heruntergeladenen Quelltextarchive ablegt Der Standardwert auf neuen Installationen ist /var/cache/distfiles. Zuvor war der Standardwert ${PORTDIR}/distfiles, der standardmäßig in /usr/portage/distfiles aufgelöst wurde.
Benutzer können die Variable DISTDIR in /etc/portage/make.conf setzen:
DISTDIR=/var/gentoo/distfiles
Weitere Informationen finden Sie im DISTDIR Artikel.
PKGDIR
USE
Die Variable USE erlaubt die systemweite Einstellung oder Deaktivierung von USE-Flags in einer durch Leerzeichen getrennte Liste, die sich über mehrere Zeilen erstrecken kann.
USE="-kde -qt5 ldap"
Siehe den Artikel über USE-Flags für eine vollständige Erklärung. Siehe USE-Flags für einzelne Pakete und die /etc/portage/package.use Datei, um USE-Flags für individuelle Pakete zu setzen.
Überlegen Sie immer, ob es sich lohnt ein USE-Flag global zu setzen und welche Auswirkungen dies auf das System haben kann, oder ob es besser ist, ein Flag nur für ein oder mehrere Pakete zu setzen.
Ein USE-Flag kann über die Befehlszeile temporär gesetzt werden, um zu überprüfen, welche Auswirkungen es haben wird, bevor es in die World-File hinzugefügt wird: USE="[Zu überprüfende USE-Flag]" emerge --pretend --verbose --update --deep --newuse world
ACCEPT_LICENSE
Die Variable ACCEPT_LICENSE stellt für Portage ein, welche Softwarelizenzmodelle erlaubt sind. Pakete, welche über eine Lizenzart verfügen die nicht akzeptiert wurde, können auf dem System nicht installiert werden.
ACCEPT_LICENSE="*"
The preferred way to accept all licenses is to set -@EULA which allows users to check over the terms of proprietary software.
ACCEPT_LICENSE="* -@EULA"
ACCEPT_LICENSE="-* @FREE"
LINGUAS
Siehe LINGUAS in der Lokalisierungsanleitung.
LINGUAS="de pt_BR en en_US en_GB"
USE_EXPAND
Die Variable USE_EXPAND ist eine Liste, die seit Portage 2.0.51.20 in profiles/base/make.defaults gesetzt wird.
CPU_FLAGS_*
Siehe den Artikel CPU_FLAGS_* für weitere Informationen.
Die Variable CPU_FLAGS_* informiert Portage über die CPU Flags (Features) die von der CPU erlaubt werden. Diese Information wird verwendet, um Package-Builds spezifisch für deren Funktionen zu optimieren. Derzeit unterstützt CPU_FLAGS_X86 (für amd64- und x86-Architekturen), CPU_FLAGS_ARM (für arm- und arm64-Architekturen), und CPU_FLAGS_PPC (für ppc- und ppc64-Architekturen).
Das Programm cpuid2cpuflags (welches im Paket app-portage/cpuid2cpuflags enthalten ist) kann dafür verwendet werden, eine komplette Liste aller CPU Flags auszugeben, die der Prozessor des Systems unterstützt. Nach dem Emergen des Pakets können Sie folgendes ausführen:
user $
cpuid2cpuflags
CPU_FLAGS_X86: aes avx f16c mmx mmxext pclmul popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3
Diese Flags können dann in die Datei /etc/portage/make.conf oder unter /etc/portage/package.use/ hinzugefügt werden.
INPUT_DEVICES
Siehe den make.conf-Abschnitt des Artikels Xorg/Anleitung und deren möglichen Werte.
L10N
Siehe L10N in der Lokalisierungsanleitung
# Sprachen definieren
L10N="de pt-BR en en-US en-GB"
Während normale zweibuchstabige Sprach-Codes (wie etwa
de
oder fr
) identisch in LINGUAS und L10N sind, haben komplexere Einträge eine andere Syntax, da L10N IETF language tags (auch bekannt als BCP 47) verwendet. Zum Beispiel werden jeweils pt_BR
und sr@latin
in LINGUAS zu pt-BR
und sr-Latn
in L10N.VIDEO_CARDS
Die möglichen Einstellungen der USE_EXPAND-Variable können Sie unter VIDEO_CARDS einsehen.
Das Setzen von VIDEO_CARDS auf den/die entsprechenden Wert(e) zieht den/die richtigen Treiber ein:
VIDEO_CARDS="intel nvidia radeon vesa"
Geben Sie den Namen des/der Treiber(s) an, der/die verwendet werden soll(en). Übliche Auswahlmöglichkeiten sind nouveau
, nvidia
, radeon
, and intel
.
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
|
Nach dem Setzen oder Ändern von VIDEO_CARDS Werten müssen Sie das System mit dem folgenden Befehl aktualisieren, damit die Änderungen wirksam werden:
root #
emerge --ask --changed-use --deep @world
Für den durchschnittlichen Nutzer "sollte", falls eine grafische Desktopumgebung verwendet wird, diese Variable definiert werden. Für weitere Informationen können Sie sich den Xorg Guide make.conf Abschnitt ansehen.
Weitere Details können Sie in den Artikeln AMDGPU und NVIDIA nachlesen.
Siehe auch
- Portage-Variablen (AMD64 Handbuch)
- Portage-Features (AMD64 Handbuch)
- Umgebungsvariablen (AMD64 Handbuch)
- Erweiterte Portage-Features (AMD64 Handbuch)
- Probleme beim emergen mit
/.git/index.lock
im Wurzelverzeichnis
Externe Ressourcen
- make.conf - Benutzerdefinierte Einstellungen für Portage - make.conf Handbuchseite.
Referenzen
- ↑ Profile upgrade to version 23.0 available, gentoo.org, March 22, 2024. Retrieved on March 24, 2024.