Respuesta revisada:
El host en sí no maneja el FQDN real. Eso lo maneja el DNS . El FQDN (nombre de dominio completo) se maneja mediante la traducción de nombres DNS a direcciones IP. Al usar el /etc/hostsarchivo, esencialmente está anulando el servidor DNS. La computadora busca /etc/hostsprimero el archivo para ver si se define una entrada para un nombre de host a la dirección IP. Las entradas en el /etc/hostsaspecto son las siguientes:
127.0.0.1 localhost
127.0.1.1 terrance-ubuntu.local terrance-ubuntu
Estas entradas no son específicas de la distribución. Todos los sistemas operativos usan el mismo formato para estas líneas. Solo hostscambia la ubicación del archivo. Linux, por lo general, se encuentra en la /etc/carpeta, donde en Windows generalmente se encuentra en la C:\Windows\System32\drivers\etc\carpeta.
Al romper esa línea, puede ver que estoy asignando ambos terrance-ubuntu.local, que es mi FQDN para anular DNS para que las aplicaciones sepan que no deben salir de mi computadora, y terrance-ubuntu, que es el nombre de host, nuevamente para que las aplicaciones sepan que no deben abandonar mi computadora o 127.0.0.1 ( localhost ). Asignar mi nombre de host de mi sistema 127.0.1.1no tiene ningún efecto en el resto de las computadoras que encuentran mi host en la red. Si DNS funciona correctamente, verán mi nombre de host como 10.0.0.100. La razón para usar 127.0.1.1es que mis aplicaciones encuentren mi sistema más rápido, ya que sabrá que mi sistema no está en otro lugar de mi red. Mi nombre de host real con el .localser mi FQDN, el.local en realidad es mi dominio que configuré a través de mi enrutador, que también es otro servidor DNS en mi red.
Ahora, supongamos que los servicios DNS en la red local no asignan nombres de host o FQDN a direcciones IP, pero usted sabe cuál es la dirección IP del host en la red local. Luego asignaría ese host en su /etc/hostsarchivo para que no necesite escribir la dirección IP del host cada vez que desee acceder a él. El host puede ser un servidor de herramientas, una impresora o algún otro sistema conectado a la red. Agregue la entrada como lo haría normalmente al /etc/hostsarchivo.
Voy a usar mi impresora conectada a la red, por ejemplo. Tiene una IP estática de 10.0.0.253. Sin embargo, no sé su nombre. Por esto, quiero llamarlo hp_printer. Haré ping a la IP y el nombre de host para ello, luego agregaré a /etc/hosts.
terrance@terrance-ubuntu:~$ ping -c 2 10.0.0.253
PING 10.0.0.253 (10.0.0.253) 56(84) bytes of data.
64 bytes from 10.0.0.253: icmp_seq=1 ttl=255 time=0.326 ms
64 bytes from 10.0.0.253: icmp_seq=2 ttl=255 time=0.334 ms
terrance@terrance-ubuntu:~$ ping -c 2 hp_printer
ping: unknown host hp_printer
terrance@terrance-ubuntu:~$ sudo vi /etc/hosts
10.0.0.253 hp_printer.local hp_printer
terrance@terrance-ubuntu:~$ ping -c 2 hp_printer
PING hp_printer.local (10.0.0.253) 56(84) bytes of data.
64 bytes from hp_printer.local (10.0.0.253): icmp_seq=1 ttl=255 time=0.334 ms
64 bytes from hp_printer.local (10.0.0.253): icmp_seq=2 ttl=255 time=0.303 ms
Ahora, también puedo acceder a la página web para la configuración de mi impresora con el nombre que le di en lugar de la dirección IP que podría ser más fácil de recordar:

Su archivo /etc/resolv.conf también es utilizado por DNS para ayudar a encontrar nombres de host. Es el archivo de configuración para el solucionador. Proporciona el dominio de búsqueda para que no tenga que especificar su FQDN todo el tiempo cuando busca un host. También proporciona la dirección IP para el DNS o el servidor de nombres de su red local. La searchsiguiente línea muestra el nombre localque es mi nombre de dominio.
terrance@terrance-ubuntu:~$ cat /etc/resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 10.0.0.1
search local
Esperemos que esto ayude a comprender mejor cómo funcionan los DNS y los FQDN.