When configuring the Linux kernel, what are the advantages and disadvantages of enabling UTS namespaces? Would the new system be harmed if UTS namespaces were disabled?
UTS Namespaces are per-process namespaces allowing a process to have different namespaces for different resources. For example, a process could have a set of namespaces for the following:
- PID numbers
- network stack state
- IPC - inter process communications
NOTE: the use of namespaces was limited only to root up until version 3.8+ of the Linux Kernel.
You can use the command
unshare to disassociate a parent's namespace from a child process.
$ unshare --help Usage: unshare [options] <program> [args...] Run program with some namespaces unshared from parent -h, --help usage information (this) -m, --mount unshare mounts namespace -u, --uts unshare UTS namespace (hostname etc) -i, --ipc unshare System V IPC namespace -n, --net unshare network namespace For more information see unshare(1).
Support uts namespaces. This allows containers, i.e. vservers, to use uts namespaces to provide different uts info for different servers. If unsure, say N.
Currently, Linux implements six different types of namespaces. The purpose of each namespace is to wrap a particular global system resource in an abstraction that makes it appear to the processes within the namespace that they have their own isolated instance of the global resource. One of the overall goals of namespaces is to support the implementation of containers, a tool for lightweight virtualization (as well as other purposes) that provides a group of processes with the illusion that they are the only processes on the system
Referance -- http://lwn.net/Articles/531114/