What is the difference between /etc/hosts and /etc/resolv.conf? Also, is there a good documentation that explain all these configuration files.

Thank you. Bala


resolv.conf specifies the nameservers for resolver lookups, where it will actual use the DNS protocol for resolving the hostnames. Typically the hosts file is used for administrative purposes such as backend and internal functions, which is substantially more isolated in scope, as only the local server will reference it it.

/etc/nsswitch.conf specifies the lookup order with the hosts entry.

If this does not answer your question, please clarify further.

Look at the following manpages:



resolv.conf specifies nameservers in order of search preference.

hosts overrides all nameservers by mapping urls/shortnames to IPs.

  • /etc/resolv.conf: Lists nameservers that are used by your host for DNS resolution. If you are using DHCP, this file is automatically populated with DNS record issued by DHCP server.
  • /etc/hosts/: It is just a static lookup method for resolution.
  • /etc/nsswitch.conf: It defined order of resolution. Who should it consult first for resolution, a DNS or a host file? For example, if the file has following configuration hosts: files dns then /etc/hosts file will be checked first for resolution, if domain is still un-resolvable, DNS will then be consulted.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.