.\" Copyright (c) 1987, 1990, 1993
.\"	The Regents of the University of California.  All rights reserved.
.\"
.\" SPDX-License-Identifier: BSD-4-Clause-UC
.\"
.\"     @(#)hostname.7	8.2 (Berkeley) 12/30/93
.\" $FreeBSD: src/share/man/man7/hostname.7,v 1.7 2004/07/03 18:29:23 ru Exp $
.\"
.\" 2008-06-11, mtk, Taken from FreeBSD 6.2 and modified for Linux.
.\"
.TH hostname 7 2022-10-30 "Linux man-pages 6.04"
.SH NAME
hostname \- hostname resolution description
.SH DESCRIPTION
Hostnames are domains, where a domain is a hierarchical, dot-separated
list of subdomains; for example, the machine "monet", in the "example"
subdomain of the "com" domain would be represented as "monet.example.com".
.PP
Each element of the hostname must be from 1 to 63 characters long and the
entire hostname, including the dots, can be at most 253 characters long.
Valid characters for hostnames are
.BR ASCII (7)
letters from
.I a
to
.IR z ,
the digits from
.I 0
to
.IR 9 ,
and the hyphen (\-).
A hostname may not start with a hyphen.
.PP
Hostnames are often used with network client and server programs,
which must generally translate the name to an address for use.
(This task is generally performed by either
.BR getaddrinfo (3)
or the obsolete
.BR gethostbyname (3).)
.PP
Hostnames are resolved by the NSS framework in glibc according
to the
.B hosts
configuration in
.BR nsswitch.conf .
The DNS-based name resolver
(in the
.B dns
NSS service module) resolves them in the following fashion.
.PP
If the name consists of a single component, that is, contains no dot,
and if the environment variable
.B HOSTALIASES
is set to the name of a file,
that file is searched for any string matching the input hostname.
The file should consist of lines made up of two white-space separated strings,
the first of which is the hostname alias,
and the second of which is the complete hostname
to be substituted for that alias.
If a case-insensitive match is found between the hostname to be resolved
and the first field of a line in the file, the substituted name is looked
up with no further processing.
.PP
If the input name ends with a trailing dot,
the trailing dot is removed,
and the remaining name is looked up with no further processing.
.PP
If the input name does not end with a trailing dot, it is looked up
by searching through a list of domains until a match is found.
The default search list includes first the local domain,
then its parent domains with at least 2 name components (longest first).
For example,
in the domain cs.example.com, the name lithium.cchem will be checked first
as lithium.cchem.cs.example and then as lithium.cchem.example.com.
lithium.cchem.com will not be tried, as there is only one component
remaining from the local domain.
The search path can be changed from the default
by a system-wide configuration file (see
.BR resolver (5)).
.SH SEE ALSO
.BR getaddrinfo (3),
.BR gethostbyname (3),
.BR nsswitch.conf (5),
.BR resolver (5),
.BR mailaddr (7),
.BR named (8)
.PP
.UR http://www.ietf.org\:/rfc\:/rfc1123.txt
IETF RFC\ 1123
.UE
.PP
.UR http://www.ietf.org\:/rfc\:/rfc1178.txt
IETF RFC\ 1178
.UE
.\" .SH HISTORY
.\" Hostname appeared in
.\" 4.2BSD.
