Difference between pages "Make.conf" and "Hostname"

From Funtoo
(Difference between pages)
Jump to navigation Jump to search
m
 
 
Line 1: Line 1:
== What is the make.conf file? What is its purpose? ==
w.i.p
Make.conf is portage's and Funtoo's main configuration file. It contains many variables that define how a package will 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.  
==Introduction==
 
A hostname is a unique name created to identify a machine on a network. In computer networking, a hostname  is a label that is assigned to a device connected to a computer network and that is used to identify the device in various forms of electronic communication such as the World Wide Web, e-mail or Usenet. Hostnames may be simple names consisting of a single word or phrase, or they may be structured.
=== Where does this file reside? ===
==Configuration==
The <code>make.conf</code> file is found at <code>/etc/portage/make.conf</code> and <code>/etc/make.conf</code> though <code>/etc/make.conf</code> is its deprecated location.
In Funtoo Linux <code>/etc/conf.d/hostname</code> is the only configuration file for setting a hostname. In OpenRC framework <code>/etc/conf.d/foo</code> is the configuration file for a corresponding Init script <code>/etc/init.d/foo</code>. With the case of hostname, default value in <code>/etc/conf.d/hostname</code> is set to ''localhost'', means when system boots and OpenRC's <code>/etc/init.d/hostname</code> script started a hostname getting only ''localhost'' name.  How it looks?  In your shell promt this will look in following way, an example for root:
 
<console>
to edit:
localhost ~ # ##i## Hello :)
</console>
Let's play a bit with a configuration. Open <code>/etc/conf.d/hostname</code> with your favorite editor and set a hostname of your choice. Below, I will use a real examples  from one of my working test boxes.
<console>
localhost ~ # ##i## nano /etc/conf.d/hostname
</console>
Let's set it to hostname="oleg-stable.host.funtoo.org". Save the file and restart  a hostname service:
<console>
localhost ~ # ##i## service hostname restart
</console>
Now, let's examine our changes, after a restarting a hostname
<console>
oleg-stable ~ # ##i## Hello :)
</console>
== Diving deeper==
Notice, that in above output we seeing a shortened hostname and not a FQDN (Fully Qualified Domain Name). Don't be frustrated. This is  how  default bash promt <code>PS1</code> set. To get nice promts, please, consult http://www.funtoo.org/Prompt_Magic
Another way to test our settings is using a '''hostname''' command. Here we will show only  some of it's features. Let's try to execute '''hostname''' command:
<console>
oleg-stable ~ # ##i## hostname
oleg-stable.host.funtoo.org
</console>
Now we see our fully qualified domain name hostname just how we configured it in <code>/etc/conf.d/hostname</code> in above paragraph. To get a short hostname we need to set '''-s ''' (short) argument to hostname command.
<console>
<console>
###i## nano /etc/portage/make.conf
oleg-stable ~ # ##i## hostname -s
oleg-stable
</console>
</console>
 
Good! Hostname offers more then just displaying a system host name but can also set one. Let's try:
=== Variables ===
 
{{file|name=/etc/portage/make.conf|lang=|desc=example make.conf variables|body=
CFLAGS="-march=amdfam10 -O2 -pipe"
CXXFLAGS="-march=amdfam10 -O2 -pipe"
INPUT_DEVICES="evdev"
VIDEO_CARDS="vesa nouveau"
MAKEOPTS="-j 2"
USE="mmx sse"
PYTHON_ABIS="2.7 3.3"
PYTHON_TARGETS="2.7 3.3"
RUBY_TARGETS="ruby21"
ACCEPT_LICENSE="*"
}}
 
=== Accept All Licenses ===
{{file|name=/etc/portage/make.conf|lang=|desc=accept all licenses|body=
ACCEPT_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 such as /tmp/portage/pkg-cat/pkg
 
{{file|name=/etc/portage/make.conf|lang=|desc=unpack & compile sources in alternate location|body=
PORTAGE_TMPDIR="/tmp"
}}
 
=== Video_Cards ===
 
several options for the video cards variable exist.  see [[Video]]
 
=== Makeopts ===
MAKEOPTS can be used to define how many parallel compilations should occur when you compile a package, which can speed up compilation significantly. A rule of thumb is the number of CPUs (or CPU threads) in your system plus one. If for example you have a dual core processor without [[wikipedia:Hyper-threading|hyper-threading]], then you would set MAKEOPTS to 3:
 
{{file|name=/etc/portage/make.conf|lang=|desc=set portage to use 3 threads|body=
MAKEOPTS="-j3"
}}
 
If you are unsure about how many processors/threads you have then use /proc/cpuinfo to help you.
<console>
<console>
(chroot) # ##i##grep "processor" /proc/cpuinfo | wc -l
oleg-stable ~ # ##i## hostname foo.bar.baz
16
oleg-stable ~ # ##i## hostname
foo.bar.baz
</console>
</console>
As you can see, we changed a hostname on-the-fly. This is not recommended way.
{{fancywarning|Please, notice that using '''hostname''' command to configure will work temporary for a current session and will be reverted back to a value set in <code>/etc/conf.d/hostname</code> file with next system restart.}}


Set MAKEOPTS to this number plus one:
Now that we got a brief description of a hostname and basic configuration steps, its time to reflect another important case which is directly related to a Funtoo Linux hostname generation, a hosts.


{{file|name=/etc/portage/make.conf|lang=|desc=set portage to use 17 threads|body=
==Hosts case==
MAKEOPTS="-j17"
As per man page <code>hosts</code> stands for static table lookup for hostnames and it's configuration file is <code>/etc/hosts</code>. Here is how it looks
{{file|name=/etc/hosts|body=
# Auto-generated hostname. Please do not remove this comment.
127.0.0.1      oleg-stable.host.funtoo.org oleg-stable localhost localhost.localdomain
::1            oleg-stable.host.funtoo.org oleg-stable localhost localhost.localdomain
}}
}}
 
As you can see it has entries from our <code>/etc/conf.d/hostname</code>. As you may have guessed, in Funtoo Linux <code>/etc/hosts</code> file entries are auto-generated, when OpenRC hostname service starts. Previously, it is used to edit <code>/etc/hosts</code> manually. In Funtoo Linux there is no such need.
 
{{important|Use processors +1 if you use [https://en.wikipedia.org/wiki/CFQ Completely Fair Queuing] I/O scheduler. If you use [http://ck.kolivas.org/patches/bfs/bfs-faq.txt BFQ] use only as many jobs as you have CPUs. However chances are that you use CFQ.}}
 
 
=== 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 wait until you have a working, bootable system before changing your USE flags. A USE flag prefixed with a minus ("<code>-</code>") sign tells Portage not to use the flag when compiling. 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 [http://www.gentoo.org/doc/en/handbook/handbook-amd64.xml?part=2&chap=2 Gentoo Handbook].
 
Some hardware options should be turned on if they're not already.  To see what your hardware supports:
 
{{console|body=
cat /proc/cpuinfo
}}
 
{{file|name=/etc/portage/make.conf|lang=|desc=Example of Turning On Hardware Optimizations|body=
USE="mmx, sse, sse2, sse3, 3dnow, 3dnowext"}}
 
=== Input ===
some devices need defined such as synaptics for touch pads.
 
{{file|name=/etc/portage/make.conf|lang=|desc=synaptics example|body=
INPUT_DEVICES="synaptics evdev"
}}
 
=== Linguas ===
LINGUAS tells Portage which local language to compile the system and applications in (those who use LINGUAS variable like OpenOffice). It is not usually necessary to set this if you use English. If you want another language such as French (fr) or German (de), set LINGUAS appropriately:
 
{{file|name=/etc/portage/make.conf|lang=|desc=set system language to french|body=
LINGUAS="fr"
}}
 
[[Category:System]]

Revision as of 06:37, February 23, 2015

w.i.p

Introduction

A hostname is a unique name created to identify a machine on a network. In computer networking, a hostname is a label that is assigned to a device connected to a computer network and that is used to identify the device in various forms of electronic communication such as the World Wide Web, e-mail or Usenet. Hostnames may be simple names consisting of a single word or phrase, or they may be structured.

Configuration

In Funtoo Linux /etc/conf.d/hostname is the only configuration file for setting a hostname. In OpenRC framework /etc/conf.d/foo is the configuration file for a corresponding Init script /etc/init.d/foo. With the case of hostname, default value in /etc/conf.d/hostname is set to localhost, means when system boots and OpenRC's /etc/init.d/hostname script started a hostname getting only localhost name. How it looks? In your shell promt this will look in following way, an example for root:

localhost ~ #  Hello :)

Let's play a bit with a configuration. Open /etc/conf.d/hostname with your favorite editor and set a hostname of your choice. Below, I will use a real examples from one of my working test boxes.

localhost ~ #  nano /etc/conf.d/hostname

Let's set it to hostname="oleg-stable.host.funtoo.org". Save the file and restart a hostname service:

localhost ~ #  service hostname restart

Now, let's examine our changes, after a restarting a hostname

oleg-stable ~ #  Hello :)

Diving deeper

Notice, that in above output we seeing a shortened hostname and not a FQDN (Fully Qualified Domain Name). Don't be frustrated. This is how default bash promt PS1 set. To get nice promts, please, consult http://www.funtoo.org/Prompt_Magic Another way to test our settings is using a hostname command. Here we will show only some of it's features. Let's try to execute hostname command:

oleg-stable ~ #  hostname
oleg-stable.host.funtoo.org

Now we see our fully qualified domain name hostname just how we configured it in /etc/conf.d/hostname in above paragraph. To get a short hostname we need to set -s (short) argument to hostname command.

oleg-stable ~ #  hostname -s
oleg-stable

Good! Hostname offers more then just displaying a system host name but can also set one. Let's try:

oleg-stable ~ #  hostname foo.bar.baz
oleg-stable ~ #  hostname 
foo.bar.baz

As you can see, we changed a hostname on-the-fly. This is not recommended way.

   Warning

Please, notice that using hostname command to configure will work temporary for a current session and will be reverted back to a value set in /etc/conf.d/hostname file with next system restart.

Now that we got a brief description of a hostname and basic configuration steps, its time to reflect another important case which is directly related to a Funtoo Linux hostname generation, a hosts.

Hosts case

As per man page hosts stands for static table lookup for hostnames and it's configuration file is /etc/hosts. Here is how it looks

   /etc/hosts
# Auto-generated hostname. Please do not remove this comment.
127.0.0.1       oleg-stable.host.funtoo.org oleg-stable localhost localhost.localdomain
::1             oleg-stable.host.funtoo.org oleg-stable localhost localhost.localdomain

As you can see it has entries from our /etc/conf.d/hostname. As you may have guessed, in Funtoo Linux /etc/hosts file entries are auto-generated, when OpenRC hostname service starts. Previously, it is used to edit /etc/hosts manually. In Funtoo Linux there is no such need.