The Funtoo Linux project has transitioned to "Hobby Mode" and this wiki is now read-only.
Difference between revisions of "Hostname"
m (service should be rc-service) |
|||
(18 intermediate revisions by one other user not shown) | |||
Line 1: | Line 1: | ||
==Introduction== | ==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. | 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== | ==Configuration== | ||
In Funtoo Linux | 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> | <console> | ||
localhost ~ # ##i## Hello :) | localhost ~ # ##i## Hello :) | ||
</console> | </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 of my working test | 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> | <console> | ||
localhost ~ # ##i## nano /etc/conf.d/hostname | localhost ~ # ##i## nano /etc/conf.d/hostname | ||
Line 13: | Line 12: | ||
Let's set it to hostname="oleg-stable.host.funtoo.org". Save the file and restart a hostname service: | Let's set it to hostname="oleg-stable.host.funtoo.org". Save the file and restart a hostname service: | ||
<console> | <console> | ||
localhost ~ # ##i## service hostname restart | localhost ~ # ##i## rc-service hostname restart | ||
</console> | </console> | ||
Now, let's examine our changes, after a restarting a hostname | Now, let's examine our changes, after a restarting a hostname | ||
Line 19: | Line 18: | ||
oleg-stable ~ # ##i## Hello :) | oleg-stable ~ # ##i## Hello :) | ||
</console> | </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, follow 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> | |||
oleg-stable ~ # ##i## hostname -s | |||
oleg-stable | |||
</console> | |||
Good! Hostname offers more then just displaying a system host name but can also set one. Let's try: | |||
<console> | |||
oleg-stable ~ # ##i## hostname foo.bar.baz | |||
oleg-stable ~ # ##i## hostname | |||
foo.bar.baz | |||
</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.}} | |||
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 <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. | |||
What about custom hosts entries? This can be easily configured with '''aliases'''. For example you want to have a hosts for your remote router or a computer in home LAN. Let's try to modify <code>/etc/conf.d/hostname</code> with adding following - my remote computer oleg.distant.home has an IP 10.1.1.2: | |||
<console> | |||
oleg-stable ~ # ##i## echo 'aliases="10.1.1.2 oleg.distant.home"' >> /etc/conf.d/hostname | |||
oleg-stable ~ # ##i## rc-service hostname restart | |||
</console> | |||
Examine our changes: | |||
<console> | |||
oleg-stable ~ # ##i## cat /etc/hosts | |||
</console> | |||
{{file|name=/etc/hosts|body= | |||
# Auto-generated hostname. Please do not remove this comment. | |||
10.1.1.2 oleg.distant.home | |||
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 | |||
}} | |||
Please use the funtoo-dev mailing list and #funtoo irc channel for hostname and OpenRC support, questions as well as bug reports on bugs.funtoo.org. |
Latest revision as of 17:00, December 27, 2021
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 ~ # rc-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, follow 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.
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.
What about custom hosts entries? This can be easily configured with aliases. For example you want to have a hosts for your remote router or a computer in home LAN. Let's try to modify /etc/conf.d/hostname
with adding following - my remote computer oleg.distant.home has an IP 10.1.1.2:
oleg-stable ~ # echo 'aliases="10.1.1.2 oleg.distant.home"' >> /etc/conf.d/hostname oleg-stable ~ # rc-service hostname restart
Examine our changes:
oleg-stable ~ # cat /etc/hosts
/etc/hosts
# Auto-generated hostname. Please do not remove this comment.
10.1.1.2 oleg.distant.home
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
Please use the funtoo-dev mailing list and #funtoo irc channel for hostname and OpenRC support, questions as well as bug reports on bugs.funtoo.org.