What's a UTS namespace?
It means the process has a separate copy of the hostname and the (now mostly unused) NIS domain name, so it can set it to something else without affecting the rest of the system.
The hostname is set via sethostname
and is the nodename
member of the struct returned by uname
. The NIS domain name is set by setdomainname
and is the domainname
member of the struct returned by uname
.
UTS stands for UNIX Timesharing System.
References:
- lwn.net - Namespaces in operation, part 1: namespaces overview
- uts namespaces: Introduction
- man uname(2)
- Meaning of UTS in UTS_RELEASE
In short, the UTS namespace is about isolating hostnames.
The UTS namespace is used to isolate two specific elements of the system that relate to the uname system call. The UTS(UNIX Time Sharing) namespace is named after the data structure used to store information returned by the uname system call. Specifically, the UTS namespace isolates the hostname and the NIS domain name. NIS, an abbreviation of Network Information Service, is an outdated directory service.
Reference https://windsock.io/uts-namespace/