Come posso ottenere l'FQDN (nome di dominio completo) della macchina su quale nodo è in esecuzione?
os.gethostname()
non è sufficiente, poiché di solito restituisce solo il DN non qualificato. Stessa cosa per dns.reverse(ip, callback)
- supponendo che l'ip sia quello associato al nome host, ad esempio ottenuto usando dns.lookup(os.gethostname()[, options], callback)
.
Anche fare una shell.exec("hostname -f", { silent: true }, cb)
non è un'opzione, poiché non è conforme a POSIX e quindi fallirà ad es. Su Solaris et. al., ed è un vero e proprio hack, dato che exec () è un call wrt molto, molto costoso . risorse come RAM e CPU (causa il cambio di contesto).
$(hostname).$(domainname)
funzionerà sia su Solaris che su Linux. Ma Solaris POSIX non è solo, è certificato POSIX! È più POSIX di Linux.