On 03/07/2013 05:24 PM, Alan McKinnon wrote: > Anyone know if there's a way to get /etc/hosts to support the notion of > an include file? I did my homework and found nothing, maybe someone else > knows more. > > I really do need this, I have an app that discovers things on the > network and knows their address. This makes it's automated way into DNS > but takes a few days, and another app needs to use the fqdn right now. > So /etc/hosts is the way to go for the interim three days. > > I've worked around it by creating /etc/hosts.d/ containing a header and > a data file. cat the two and redirect to /etc/hosts.d/hosts and the real > hosts file is a symlink to that. It's a sub-directory as none of these > apps run as root and only root can modiy the real hosts file. > > This works well enough, but a supported include mechanism would make > life so much simpler, not to mention easier for my colleagues to > understand what the blazes I set up :-) No, there's not an "include" directive. There are, however, two other ways to get hostnames recognized. The first is /etc/resolv.conf . You can point your host at a local DNS server which is aware of the discovered hosts, and which forwards the rest of the queries. (This is how Samba 4's internal DNS server operates; anything it knows, it responds to. Everything else, it forwards.) Read the manpage for resolv.conf...there's a lot of stuff in there you'll want to know as you start coping with IPv6. (And some useful stuff if you want to favor a particular IP range...) The second is /etc/nsswitch.conf . nsswitch.conf is how you inject samba-discovered, NIS-offered -- or whatever provider you care to inject -- hostname databases into the system resolver. You could have it query your provided database first, moving on to other sources if your provided database doesn't have what you're looking for. (I'm actually kinda surprised avahi doesn't come with an nss plugin...)