| NSS-MYHOSTNAME(8) | nss-myhostname | NSS-MYHOSTNAME(8) |
.SH "NAME" nss-myhostname, libnss_myhostname.so.2 - Hostname
resolution for the locally configured system hostname
.SH "SYNOPSIS"
.PP libnss_myhostname.so.2
.SH "DESCRIPTION"
.PP nss-myhostname is a plug-in module for the GNU Name Service Switch
(NSS) functionality of the GNU C Library (glibc), primarily providing
hostname resolution for the locally configured system hostname as returned
by gethostname(2). The precise hostnames resolved by this module
are:
.PP Various software relies on an always-resolvable local hostname. When
using dynamic hostnames, this is traditionally achieved by patching
/etc/hosts at the same time as changing the hostname. This is problematic
since it requires a writable /etc/ file system and is fragile because the
file might be edited by the administrator at the same time. With
nss-myhostname enabled, changing /etc/hosts is unnecessary, and on
many systems, the file becomes entirely optional.
.PP To activate the NSS modules, add myhostname to the line starting with
hosts: in /etc/nsswitch.conf.
.PP It is recommended to place myhostname after files and before dns. This
resolves well-known hostnames like localhost and the machine hostnames
locally. It is consistent with the behaviour of nss-resolve, and
still allows overriding via /etc/hosts.
.PP Please keep in mind that nss-myhostname (and nss-resolve)
also resolve in the other direction — from locally attached IP
addresses to hostnames. If you rely on that lookup being provided by DNS,
you might want to order things differently.
.SH "EXAMPLE"
.PP Here is an example /etc/nsswitch.conf file that enables
nss-myhostname correctly:
passwd: files systemd group: files [SUCCESS=merge] systemd shadow: files systemd gshadow: files systemd hosts: mymachines resolve [!UNAVAIL=return] files myhostname dns networks: files protocols: db files services: db files ethers: db files rpc: db files netgroup: nis
.PP To test, use glibc's getent(1) tool:
$ getent ahosts `hostname` ::1 STREAM omega ::1 DGRAM ::1 RAW 127.0.0.2 STREAM 127.0.0.2 DGRAM 127.0.0.2 RAW
.PP In this case, the local hostname is omega.
.SH "SEE ALSO"
.PP systemd(1), nss-systemd(8), nss-resolve(8),
nss-mymachines(8), nsswitch.conf(5), getent(1)
| systemd 262.2 |