The Funtoo Linux project has transitioned to "Hobby Mode" and this wiki is now read-only.
Difference between revisions of "Make.conf"
(Marked this version for translation) |
|||
Line 1: | Line 1: | ||
<languages/> | <languages/> | ||
<translate> | <translate> | ||
== What is the make.conf file? == | == What is the make.conf file? == <!--T:1--> | ||
Make.conf is portage's and Funtoo's main configuration file. It contains many variables that define how a package will be installed in a Funtoo system. You can customize portage internal variables, such as, portage tree location, sources tarball location, overlays, to name a few. You can customize hardware specs, such as TMPFS, disk limits, GCC compilation flags to achieve best performance, etc. A great deal of this customization is done through the make.conf file. This page will attempt to explain the uses of the make.conf file, different variables that can be added to it, and their uses. | Make.conf is portage's and Funtoo's main configuration file. It contains many variables that define how a package will be installed in a Funtoo system. You can customize portage internal variables, such as, portage tree location, sources tarball location, overlays, to name a few. You can customize hardware specs, such as TMPFS, disk limits, GCC compilation flags to achieve best performance, etc. A great deal of this customization is done through the make.conf file. This page will attempt to explain the uses of the make.conf file, different variables that can be added to it, and their uses. | ||
== Where is make.conf located? == | == Where is make.conf located? == <!--T:2--> | ||
{{f|make.conf}} is located in {{f|/etc}} and is a symbolic link to {{f|/etc/portage/make.conf}}, so these filenames are used interchangeably. | {{f|make.conf}} is located in {{f|/etc}} and is a symbolic link to {{f|/etc/portage/make.conf}}, so these filenames are used interchangeably. | ||
<!--T:3--> | |||
No special tool is required to edit {{f|/etc/portage/make.conf}}, besides your favorite text editor, of course: | No special tool is required to edit {{f|/etc/portage/make.conf}}, besides your favorite text editor, of course: | ||
{{console|body= | {{console|body= | ||
Line 12: | Line 13: | ||
}} | }} | ||
== Variables == | == Variables == <!--T:4--> | ||
Portage is very cutomizable. Because of this, many variables are available to configure {{f|/etc/portage/make.conf}}. Below is an example {{f|make.conf}} file showing some of the variables that can be used to customize portage. The format of a line of this file is usually <code>VARIABLENAME="variable arguments"</code>. | Portage is very cutomizable. Because of this, many variables are available to configure {{f|/etc/portage/make.conf}}. Below is an example {{f|make.conf}} file showing some of the variables that can be used to customize portage. The format of a line of this file is usually <code>VARIABLENAME="variable arguments"</code>. | ||
{{file|name=/etc/portage/make.conf|lang=|desc=example make.conf variables|body= | {{file|name=/etc/portage/make.conf|lang=|desc=example make.conf variables|body= | ||
Line 26: | Line 27: | ||
Below is a list of variables that can be used in {{f|make.conf}}, along with a description of what they do. For more information on these and other variables, read {{c|man make.conf}}. | Below is a list of variables that can be used in {{f|make.conf}}, along with a description of what they do. For more information on these and other variables, read {{c|man make.conf}}. | ||
=== Accept All Licenses === | === Accept All Licenses === <!--T:5--> | ||
{{file|name=/etc/portage/make.conf|lang=|desc=accept all licenses|body= | {{file|name=/etc/portage/make.conf|lang=|desc=accept all licenses|body= | ||
ACCEPT_LICENSE="*" | ACCEPT_LICENSE="*" | ||
}} | }} | ||
=== Relocate Source Compile Directory === | === Relocate Source Compile Directory === <!--T:6--> | ||
<!--T:7--> | |||
By default portage unpacks and compiles sources in {{f|/var/tmp/}} it appends {{f|portage/pkg-cat/pkg}} to compile a package elsewhere. For example, if portage compiles a package in {{f|/tmp}}, it will be built at: {{f|/tmp/portage/pkg-cat/pkg}}. If you have Funtoo installed on an SSD, it may be a wise decision to mount {{f|/tmp}} in RAM or on a HDD so that you can minimize the number of writes to your SSD and extend its lifetime. After {{f|/tmp}} has been mounted off of your SSD, you can tell portage to compile future packages in {{f|/tmp}}, instead of in {{f|/var/tmp}}. To do this, add the following line to your {{f|/etc/portage/make.conf}}: | By default portage unpacks and compiles sources in {{f|/var/tmp/}} it appends {{f|portage/pkg-cat/pkg}} to compile a package elsewhere. For example, if portage compiles a package in {{f|/tmp}}, it will be built at: {{f|/tmp/portage/pkg-cat/pkg}}. If you have Funtoo installed on an SSD, it may be a wise decision to mount {{f|/tmp}} in RAM or on a HDD so that you can minimize the number of writes to your SSD and extend its lifetime. After {{f|/tmp}} has been mounted off of your SSD, you can tell portage to compile future packages in {{f|/tmp}}, instead of in {{f|/var/tmp}}. To do this, add the following line to your {{f|/etc/portage/make.conf}}: | ||
<!--T:8--> | |||
{{file|name=/etc/portage/make.conf|lang=|desc= |body= | {{file|name=/etc/portage/make.conf|lang=|desc= |body= | ||
PORTAGE_TMPDIR="/tmp" | PORTAGE_TMPDIR="/tmp" | ||
}} | }} | ||
=== Video_Cards === | === Video_Cards === <!--T:9--> | ||
<!--T:10--> | |||
The {{c|VIDEO_CARDS}} variable tells portage which video drivers you wish to use on your system. To see the different options that exist for this variable, see [[Video]]. | The {{c|VIDEO_CARDS}} variable tells portage which video drivers you wish to use on your system. To see the different options that exist for this variable, see [[Video]]. | ||
=== Laptop Mice === | === Laptop Mice === <!--T:11--> | ||
See {{package|x11-drivers/xf86-input-synaptics}} for laptop mice & touch pads. | See {{package|x11-drivers/xf86-input-synaptics}} for laptop mice & touch pads. | ||
=== MAKEOPTS === | === MAKEOPTS === <!--T:12--> | ||
MAKEOPTS can be used to define how many parallel compilations should occur when you compile a package, which can speed up compilation ''significantly''. By default, this variable is set to the number of cores (or CPU threads) in your system plus one. If for example you have a dual core processor without [[wikipedia:Hyper-threading|hyper-threading]], then {{c|MAKEOPTS}} would be set to 3, which could be done manually as follows: | MAKEOPTS can be used to define how many parallel compilations should occur when you compile a package, which can speed up compilation ''significantly''. By default, this variable is set to the number of cores (or CPU threads) in your system plus one. If for example you have a dual core processor without [[wikipedia:Hyper-threading|hyper-threading]], then {{c|MAKEOPTS}} would be set to 3, which could be done manually as follows: | ||
<!--T:13--> | |||
{{file|name=/etc/portage/make.conf|lang=|desc=set portage to use 3 threads|body= | {{file|name=/etc/portage/make.conf|lang=|desc=set portage to use 3 threads|body= | ||
MAKEOPTS="-j3" | MAKEOPTS="-j3" | ||
}} | }} | ||
<!--T:14--> | |||
If you are unsure about how many processors/threads you have then use /proc/cpuinfo to help you. | If you are unsure about how many processors/threads you have then use /proc/cpuinfo to help you. | ||
{{console|body= | {{console|body= | ||
Line 59: | Line 65: | ||
}} | }} | ||
=== USE flags === | === USE flags === <!--T:15--> | ||
<!--T:16--> | |||
USE flags define what functionality is enabled when packages are built. It is not recommended to add a lot of them during installation; you should leverage [[Funtoo Profiles]] instead as much as possible and only set as needed. A USE flag prefixed with a minus (" - ") sign tells Portage not to use the flag when compiling. Through use flags we generate more secure stripped down binaries with reduced attack surface and better performance. A Funtoo guide to USE flags will be available in the future. For now, you can find out more information about USE flags in the [https://wiki.gentoo.org/wiki/Handbook:AMD64/Working/USE Gentoo Handbook]. | USE flags define what functionality is enabled when packages are built. It is not recommended to add a lot of them during installation; you should leverage [[Funtoo Profiles]] instead as much as possible and only set as needed. A USE flag prefixed with a minus (" - ") sign tells Portage not to use the flag when compiling. Through use flags we generate more secure stripped down binaries with reduced attack surface and better performance. A Funtoo guide to USE flags will be available in the future. For now, you can find out more information about USE flags in the [https://wiki.gentoo.org/wiki/Handbook:AMD64/Working/USE Gentoo Handbook]. | ||
=== Input === | === Input === <!--T:17--> | ||
Some devices need defined such as {{package|x11-drivers/xf86-input-synaptics}} for touch pads. | Some devices need defined such as {{package|x11-drivers/xf86-input-synaptics}} for touch pads. | ||
<!--T:18--> | |||
{{file|name=/etc/portage/make.conf|lang=|desc=synaptics example|body= | {{file|name=/etc/portage/make.conf|lang=|desc=synaptics example|body= | ||
INPUT_DEVICES="synaptics evdev" | INPUT_DEVICES="synaptics evdev" | ||
}} | }} | ||
=== Localization === | === Localization === <!--T:19--> | ||
Available options can be found on [[Funtoo_Linux_Localization#Portage_Settings|Funtoo Linux Localization]]. | Available options can be found on [[Funtoo_Linux_Localization#Portage_Settings|Funtoo Linux Localization]]. | ||
</translate> | </translate> | ||
[[Category:System]] | [[Category:System]] | ||
[[Category:Official Documentation]] | [[Category:Official Documentation]] |
Revision as of 04:55, April 14, 2019
What is the make.conf file?
Make.conf is portage's and Funtoo's main configuration file. It contains many variables that define how a package will be installed in a Funtoo system. You can customize portage internal variables, such as, portage tree location, sources tarball location, overlays, to name a few. You can customize hardware specs, such as TMPFS, disk limits, GCC compilation flags to achieve best performance, etc. A great deal of this customization is done through the make.conf file. This page will attempt to explain the uses of the make.conf file, different variables that can be added to it, and their uses.
Where is make.conf located?
make.conf
is located in /etc
and is a symbolic link to /etc/portage/make.conf
, so these filenames are used interchangeably.
No special tool is required to edit /etc/portage/make.conf
, besides your favorite text editor, of course:
root # nano /etc/portage/make.conf
Variables
Portage is very cutomizable. Because of this, many variables are available to configure /etc/portage/make.conf
. Below is an example make.conf
file showing some of the variables that can be used to customize portage. The format of a line of this file is usually VARIABLENAME="variable arguments"
.
/etc/portage/make.conf
- example make.conf variablesCFLAGS="-march=amdfam10 -O2 -pipe" CXXFLAGS="-march=amdfam10 -O2 -pipe" INPUT_DEVICES="evdev" VIDEO_CARDS="vesa nouveau" MAKEOPTS="-j2" USE="mmx sse" ACCEPT_LICENSE="*"
Portage has built-in check for CPU's cores and enables MAKEOPTS
automatically, if not set. In make.conf you may increase or decrease the value, when needed, otherwise it's set to -j(core number)
Below is a list of variables that can be used in make.conf
, along with a description of what they do. For more information on these and other variables, read man make.conf
.
Accept All Licenses
/etc/portage/make.conf
- accept all licensesACCEPT_LICENSE="*"
Relocate Source Compile Directory
By default portage unpacks and compiles sources in /var/tmp/
it appends portage/pkg-cat/pkg
to compile a package elsewhere. For example, if portage compiles a package in /tmp
, it will be built at: /tmp/portage/pkg-cat/pkg
. If you have Funtoo installed on an SSD, it may be a wise decision to mount /tmp
in RAM or on a HDD so that you can minimize the number of writes to your SSD and extend its lifetime. After /tmp
has been mounted off of your SSD, you can tell portage to compile future packages in /tmp
, instead of in /var/tmp
. To do this, add the following line to your /etc/portage/make.conf
:
/etc/portage/make.conf
PORTAGE_TMPDIR="/tmp"
Video_Cards
The VIDEO_CARDS
variable tells portage which video drivers you wish to use on your system. To see the different options that exist for this variable, see Video.
Laptop Mice
See x11-drivers/xf86-input-synaptics for laptop mice & touch pads.
MAKEOPTS
MAKEOPTS can be used to define how many parallel compilations should occur when you compile a package, which can speed up compilation significantly. By default, this variable is set to the number of cores (or CPU threads) in your system plus one. If for example you have a dual core processor without hyper-threading, then MAKEOPTS
would be set to 3, which could be done manually as follows:
/etc/portage/make.conf
- set portage to use 3 threadsMAKEOPTS="-j3"
If you are unsure about how many processors/threads you have then use /proc/cpuinfo to help you.
(chroot) # grep "processor" /proc/cpuinfo
USE flags
USE flags define what functionality is enabled when packages are built. It is not recommended to add a lot of them during installation; you should leverage Funtoo Profiles instead as much as possible and only set as needed. A USE flag prefixed with a minus (" - ") sign tells Portage not to use the flag when compiling. Through use flags we generate more secure stripped down binaries with reduced attack surface and better performance. A Funtoo guide to USE flags will be available in the future. For now, you can find out more information about USE flags in the Gentoo Handbook.
Input
Some devices need defined such as x11-drivers/xf86-input-synaptics for touch pads.
/etc/portage/make.conf
- synaptics exampleINPUT_DEVICES="synaptics evdev"
Localization
Available options can be found on Funtoo Linux Localization.