J'ai plusieurs scripts qui nécessitent l'utilitaire getent
. De plus, j'ai lu plusieurs conseils pratiques qui utilisent getent .
getent
est un utilitaire de mise en réseau largement disponible sur les systèmes Unix, * BSD et Linux. Cet outil est couramment utilisé par les administrateurs système et les utilisateurs expérimentés pour rechercher des informations sur le réseau (adresses IP, etc.). En ce qui concerne les noms d'hôte, getent
c'est l'un des rares outils qui utilisent à la fois /etc/hosts
et DNS.
Comme le dit Wikipedia :
getent est une commande unix qui aide un utilisateur à obtenir des entrées dans un certain nombre de fichiers texte importants appelés bases de données.
L'important ici est de getent
rechercher les mêmes services de noms dans le même ordre que la plupart des applications sur un système de type Unix. Cela le rend inestimable lors du débogage du système ou des problèmes d'application. Des outils comme dig
et nslookup
spécifiquement ne regardent que le DNS, tandis dscl
que vous attendez que vous précisiez les services de noms que vous souhaitez rechercher.
Je voudrais utiliser getent
pour deux tests:
Analyser
/etc/hosts
avant d'interroger DNS . Par exemple, si j'ajoutetesthost.example.org
à/etc/hosts
, jegetent hosts testhost.example.org
dois utiliser l'entrée/etc/hosts
avant d'interroger DNS.
MacPorts ne semble pas fournir un package fournissant getent
.
getent
Existe- t- il sur Snow Leopard?
la source
getent
? Qu'est ce que ça fait? Sur quels systèmes est-il généralement disponible?getent
sur OS X car OS X utilise DirectoryService pour résoudre des choses comme les noms d'hôte. Pouvez-vous donner desgetent
exemples d'utilisation spécifiques ? Cela vous montrerait la manière correspondante d'obtenir plus facilement ces informations sur OS X.getent
est généralement disponible sur les systèmes Unix, * BSD et Linux. J'ai mis à jour ma question.getent
? Résoudre les noms d'hôte d'/etc/hosts
avant d'utiliser DNS?/etc/hosts
antérieurs au DNS, ce qui est utile pour le serveur Web et d'autres tests de réseau. Mais moi (et d'autres administrateurs système) j'utilise aussi getent pour d'autres choses, comme le dépannage de LDAP.Réponses:
dscacheutil
est probablement la meilleure façon de procéder. Il n'émule pas le processus de recherche habituel, il l' utilise , vous obtiendrez donc les mêmes résultats qu'une recherche standard (y compris la mise en cache, / etc / hosts, les enregistrements informatiques dans les services d'annuaire, DNS, mDNS pour les noms .local, etc).la source
Jetez un œil à Comment émuler le getent d'Unix avec le dscl de MacOSX . Puisque vous avez des scripts qui utilisent
getent
, vous souhaiterez peut-être poursuivre un script comme un wrapper autour de dscl.la source
Ce n'est pas sorcier de chercher la source actuelle d'OpenSolaris (ou d'un autre système d'exploitation, j'essaierais l'un des BSD plutôt que Linux) et le porterais; Je l'ai fait fonctionner principalement en désactivant simplement les choses pour lesquelles macOS n'avait pas d'équivalent (netmasks et projet - spécifiques à Solaris). Ou on peut l'écrire en perl assez facilement. Il y a longtemps que quelqu'un en a fait une limitée, et j'en ai fait une plus complète; il ne prend pas en charge les éthers car il n'y a pas de recherche standard pour cela depuis perl, mais le reste semble fonctionner correctement.
getent.pl
la source