Comment puis-je obtenir le nom de domaine complet (FQDN) de la machine sur laquelle le nœud s'exécute?
os.gethostname()
n'est pas suffisant, car il renvoie généralement le DN non qualifié uniquement. Même chose pour dns.reverse(ip, callback)
- en supposant que l'IP est celle associée au nom d'hôte, par exemple obtenue en utilisant dns.lookup(os.gethostname()[, options], callback)
.
Faire aussi un shell.exec("hostname -f", { silent: true }, cb)
n'est pas une option, car il n'est pas compatible POSIX et échouera donc par exemple sur Solaris et. al., et c'est un très mauvais hack, car exec () est un appel très, très cher wrt. des ressources comme la RAM et le CPU (provoque un changement de contexte).
$(hostname).$(domainname)
fonctionnera sur Solaris et Linux. Mais, non seulement Solaris POSIX, il est certifié POSIX! C'est plus POSIX que Linux.