Mam kilka skryptów, które wymagają narzędzia getent
. Ponadto przeczytałem kilka przydatnych porad dotyczących getent .
getent
to narzędzie sieciowe, które jest szeroko dostępne w systemach Unix, * BSD i Linux. To narzędzie jest powszechnie używane przez Sysadmins i zaawansowanych użytkowników do wyszukiwania informacji o sieci (adresy IP itp.). Jeśli chodzi o nazwy hostów, getent
jest to jedno z niewielu narzędzi, które używają zarówno /etc/hosts
DNS, jak i DNS.
Jak mówi Wikipedia :
getent to komenda unix, która pomaga użytkownikowi uzyskać wpisy w wielu ważnych plikach tekstowych zwanych bazami danych.
Ważne jest, getent
aby wyszukiwać te same usługi nazw w tej samej kolejności, jak większość aplikacji w systemie uniksowym. Dzięki temu jest nieoceniony podczas debugowania problemów z systemem lub aplikacją. Narzędzia, takie jak dig
i nslookup
konkretnie patrzeć tylko DNS, natomiast dscl
spodziewa się przeliterować usługi nazwę chcesz przeszukać.
Chciałbym użyć getent
dla dwóch przypadków testowych:
Analizuj
/etc/hosts
przed wysłaniem zapytania do DNS . Na przykład, jeśli dodamtesthost.example.org
do/etc/hosts
, togetent hosts testhost.example.org
powinienem użyć wpisu/etc/hosts
przed wysłaniem zapytania do DNS.
MacPorts nie wydaje się zapewniać pakietu getent
.
Czy getent
istnieje na Snow Leopard?
źródło
getent
? Co to robi? Na jakich systemach jest zazwyczaj dostępny?getent
systemie OS X nie ma mapowania 1: 1, ponieważ system OS X korzysta z DirectoryService w celu rozwiązywania problemów takich jak nazwy hostów. Czy możesz podać konkretnegetent
przykłady użycia? Ułatwiłoby to pokazanie odpowiedniego sposobu na uzyskanie tych informacji w systemie OS X.getent
jest zazwyczaj dostępny w systemach Unix, * BSD i Linux-podobnych. Zaktualizowałem swoje pytanie.getent
? Czy rozwiązać nazwy hostów/etc/hosts
przed użyciem DNS?/etc/hosts
sprzed DNS, co jest przydatne w przypadku serwera WWW i innych testów sieciowych. Ale ja (i inni administratorzy) używam getenta również do innych rzeczy, takich jak rozwiązywanie problemów z LDAP.Odpowiedzi:
dscacheutil
jest prawdopodobnie najlepszym sposobem na zrobienie tego. Nie emuluje zwykłego procesu wyszukiwania, używa go, więc faktycznie uzyskasz takie same wyniki jak standardowe wyszukiwanie (w tym buforowanie, / etc / hosts, rekordy komputera w usługach katalogowych, DNS, mDNS dla nazw lokalnych, itp).źródło
Zobacz, jak emulować getx dla Uniksa za pomocą dscl MacOSXa . Ponieważ masz skrypty, które z nich korzystają
getent
, możesz chcieć kontynuować skrypt jako opakowanie wokół dscl.źródło
Nie jest nauką rakietową przeglądanie źródła getent z OpenSolarisa (lub innego systemu operacyjnego, spróbowałbym jednego z BSD zamiast Linuksa) i portowanie go; Sprawiłem, że działało to głównie poprzez wyłączenie rzeczy, dla których macOS nie miał żadnego odpowiednika (maski sieciowe i projekt - specyficzne dla Solaris). Lub można dość łatwo napisać w perlu. Ktoś dawno zrobił limitowany, a ja zrobiłem bardziej kompletny; nie obsługuje eterów, ponieważ nie ma standardowego wyszukiwania dla Perla, ale reszta wydaje się działać poprawnie.
getent.pl
źródło