From b311d32ff4fac5335aa8eea479bda49131ecae75 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Wed, 7 Jan 2015 17:14:04 +0100 Subject: [PATCH] man: rework nss-myhostname man page Remove a number of incorrect links, and explain that "localhost" and "gateway" are now resolved by it, too. --- man/nss-myhostname.xml | 99 +++++++++++++++++++++++++++--------------- 1 file changed, 63 insertions(+), 36 deletions(-) diff --git a/man/nss-myhostname.xml b/man/nss-myhostname.xml index ba9297ec7..999d1afaf 100644 --- a/man/nss-myhostname.xml +++ b/man/nss-myhostname.xml @@ -50,49 +50,81 @@ - nss-myhostname.la + libnss_myhostname.so.2 Description - nss-myhostname is a plugin for the GNU Name Service Switch - (NSS) functionality of the GNU C Library (glibc) - providing hostname resolution for the locally configured system - hostname as returned by - gethostname2. - Various software relies on an always-resolvable local hostname. When - using dynamic hostnames, this is usually achieved by patching - /etc/hosts at the same time as changing the host - name. This however is not ideal since it requires a writable - /etc file system and is fragile because the file - might be edited by the administrator at the same time. nss-myhostname - simply returns all locally configured public IP addresses, or, if none - are configured, the IPv4 address 127.0.0.2 (which is on the local - loopback) and the IPv6 address ::1 (which is the local host) for - whatever system hostname is configured locally. Patching - /etc/hosts is thus no longer necessary. - - To activate the NSS modules, - has to be added to the line starting with "hosts:" in - /etc/nsswitch.conf - - It is recommended to put - last in the nsswitch.conf line to make - sure that this mapping is only used as fallback, and any DNS - or /etc/hosts based mapping takes precedence. + nss-myhostname is a plugin + 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 + gethostname2. The + precise hostnames resolved by this module are: + + + The local, configured hostname + is resolved to all locally configured public + IP addresses, or -- if none are configured -- + the IPv4 address 127.0.0.2 (which is on the + local loopback) and the IPv6 address ::1 + (which is the local host). + + The hostname + localhost is resolved to + the IP addresses 127.0.0.1 and + ::1. + + The hostname + gateway is resolved to all + current default routing gateway addresses, + ordered by their metric. This assigns a stable + hostname to the current gateway, useful for + referencing it independently of the current + network configuration state. + + + + 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 unncessary, and on + many systems the file becomes entirely optional. + + To activate the NSS modules, + myhostname has to be added to the + line starting with hosts: in + /etc/nsswitch.conf. + + It is recommended to place + myhostname last in the + nsswitch.conf line to make sure + that this mapping is only used as fallback, and any + DNS or /etc/hosts based mapping + takes precedence. Example -# /etc/nsswitch.conf + Here's an example + /etc/nsswitch.conf file, that + enables myhostname + correctly: -passwd: compat +passwd: compat group: compat shadow: compat -hosts: files dns myhostname +hosts: files dns myhostname networks: files protocols: db files @@ -120,13 +152,8 @@ netgroup: nis See Also systemd1, - systemd-logind.service8, - logind.conf5, - loginctl1, - pam.conf5, - pam.d5, - pam8, - pam_loginuid8 + nsswitch.conf5, + getent1 -- 2.30.2