O programa hostname
executa um syscall uname, como pode ser visto na execução:
strace hostname
...
uname({sysname="Linux", nodename="my.hostname.com", ...}) = 0
...
Na página man do syscall do uname , ele diz que o syscall recupera a seguinte estrutura do kernel:
struct utsname {
char sysname[]; /* Operating system name (e.g., "Linux") */
char nodename[]; /* Name within "some implementation-defined
network" */
char release[]; /* Operating system release (e.g., "2.6.28") */
char version[]; /* Operating system version */
char machine[]; /* Hardware identifier */
#ifdef _GNU_SOURCE
char domainname[]; /* NIS or YP domain name */
#endif
};
Então o nome do domínio vem do sistema NIS / YP, se acreditarmos no comentário. Então, mais do que provável, pode haver um serviço NIS / YP em sua rede que está trotando de volta o nome para você que é definido pelo sistema operacional do Ubuntu.