Snow Leopard에 getent를 어떻게 설치합니까?


9

유틸리티가 필요한 몇 가지 스크립트가 getent있습니다. 또한 getent 사용하는 몇 가지 유용한 팁 읽었습니다 .

getentUnix, * BSD 및 Linux 기반 시스템에서 널리 사용 가능한 네트워킹 유틸리티입니다. 이 도구는 Sysadmins 및 고급 사용자가 일반적으로 네트워크 정보 (IP 주소 등)를 조회하는 데 사용합니다. 호스트 이름 getent/etc/hostsDNS와 DNS를 모두 사용하는 몇 안되는 도구 중 하나입니다 .

Wikipedia는 다음과 같이 말합니다 .

getent는 사용자가 데이터베이스라고하는 많은 중요한 텍스트 파일에서 항목을 가져 오는 데 도움이되는 unix 명령입니다.

여기서 중요한 것은 getent유닉스 계열 시스템의 대부분의 응용 프로그램과 동일한 순서로 동일한 이름 서비스를 검색 한다는 것입니다. 따라서 시스템 또는 응용 프로그램 문제를 디버깅 할 때 매우 유용합니다. 도구 는 DNS 만 좋아 dig하고 nslookup구체적으로 살펴 보는 한편 dscl검색하려는 이름 서비스를 철자해야합니다.

getent두 가지 테스트 사례 에 사용 하고 싶습니다 .

  1. /etc/hostsDNS를 쿼리하기 전에 구문 분석하십시오 . 예를 들어, 내가 추가하는 경우 testhost.example.org/etc/hosts, 다음 getent hosts testhost.example.org의 항목을 사용해야 /etc/hostsDNS를 쿼리하기 전에합니다.

  2. getent를 사용하여 LDAP 쿼리

MacPorts는 패키지 제공을 제공하지 않는 것 같습니다 getent.

getentSnow Leopard에 존재 합니까 ?


무엇입니까 getent? 무엇을합니까? 일반적으로 어떤 시스템을 사용할 수 있습니까?
Cajunluke

3
getentOS X은 DirectoryService 를 사용 하여 호스트 이름과 같은 문제를 해결 하기 때문에 OS X 에는 1 : 1 매핑이 없습니다 . 특정 getent사용 예 를 제공 할 수 있습니까 ? OS X에 대한 정보를보다 쉽게 ​​얻을 수있는 적절한 방법을 보여줍니다.
Ian C.

@CajunLuke : getent일반적으로 Unix, * BSD 및 Linux 계열 시스템에서 사용 가능합니다. 내 질문을 업데이트했습니다.
Stefan Lasiewski

그래서 당신은 무엇을하려고 getent합니까? /etc/hostsDNS를 사용하기 전에 호스트 이름을 확인 하시겠습니까?
Ian C.

가장 일반적인 사용 사례는 /etc/hostsDNS 이전의 호스트 이름을 확인하는 것입니다. 이는 웹 서버 및 기타 네트워크 테스트에 유용합니다. 그러나 나 (및 다른 sysadmins)는 LDAP 문제 해결과 같은 다른 용도로 getent를 사용합니다.
Stefan Lasiewski

답변:


9

dscacheutil아마도 가장 좋은 방법 일 것입니다. 일반적인 검색 프로세스를 에뮬레이트하지 않고 사용 하므로 실제로 표준 조회 (캐싱, / etc / hosts, 디렉토리 서비스의 컴퓨터 레코드, DNS, .local 이름의 mDNS, 기타).

$ dscacheutil -q host -a name www.apple.com
name: e3191.c.akamaiedge.net
alias: www.apple.com www.isg-apple.com.akadns.net www.apple.com.edgekey.net 
ip_address: 69.192.45.15

$ dscacheutil -q host -a name gordons-mbp.local
name: gordons-mbp.local
ipv6_address: fe80:5::e6ce:8fff:fe50:136

name: gordons-mbp.local
ip_address: 192.168.10.249

$ dscacheutil -q host -a ip_address 127.0.0.1
name: localhost
alias: 1.0.0.127.in-addr.arpa 
ip_address: 127.0.0.1

$ dscacheutil -q user -a name gordon
name: gordon
password: ********
uid: 501
gid: 20
dir: /Users/gordon
shell: /bin/bash
gecos: Gordon Davisson


2

OpenSolaris (또는 다른 OS의 경우 Linux 대신 BSD 중 하나를 시도)에서 getent 소스를 찾아 내서 포팅하는 것은 로켓 과학이 아닙니다. macOS가 가지고 있지 않은 것들 (넷 마스크 및 프로젝트-Solaris 특정)을 비활성화하여 주로 작동하도록했습니다. 또는 펄로 상당히 쉽게 쓸 수 있습니다. 누군가가 오래 전에 한 가지를 제한했고 더 완전한 것을 한 적이 있습니다. 펄에서 표준 조회가 없기 때문에 에테르를 지원하지 않지만 나머지는 정상적으로 작동하는 것 같습니다.

getent.pl

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.