유틸리티가 필요한 몇 가지 스크립트가 getent
있습니다. 또한 getent 사용하는 몇 가지 유용한 팁 을 읽었습니다 .
getent
Unix, * BSD 및 Linux 기반 시스템에서 널리 사용 가능한 네트워킹 유틸리티입니다. 이 도구는 Sysadmins 및 고급 사용자가 일반적으로 네트워크 정보 (IP 주소 등)를 조회하는 데 사용합니다. 호스트 이름 getent
은 /etc/hosts
DNS와 DNS를 모두 사용하는 몇 안되는 도구 중 하나입니다 .
Wikipedia는 다음과 같이 말합니다 .
getent는 사용자가 데이터베이스라고하는 많은 중요한 텍스트 파일에서 항목을 가져 오는 데 도움이되는 unix 명령입니다.
여기서 중요한 것은 getent
유닉스 계열 시스템의 대부분의 응용 프로그램과 동일한 순서로 동일한 이름 서비스를 검색 한다는 것입니다. 따라서 시스템 또는 응용 프로그램 문제를 디버깅 할 때 매우 유용합니다. 도구 는 DNS 만 좋아 dig
하고 nslookup
구체적으로 살펴 보는 한편 dscl
검색하려는 이름 서비스를 철자해야합니다.
getent
두 가지 테스트 사례 에 사용 하고 싶습니다 .
-
/etc/hosts
DNS를 쿼리하기 전에 구문 분석하십시오 . 예를 들어, 내가 추가하는 경우testhost.example.org
에/etc/hosts
, 다음getent hosts testhost.example.org
의 항목을 사용해야/etc/hosts
DNS를 쿼리하기 전에합니다.
MacPorts는 패키지 제공을 제공하지 않는 것 같습니다 getent
.
getent
Snow Leopard에 존재 합니까 ?
답변
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
답변
MacOSX의 dscl로 Unix의 getent를 에뮬레이트하는 방법을 살펴보십시오 . 를 사용 getent
하는 스크립트가 있으므로 dscl을 래퍼로 스크립트를 사용하는 것이 좋습니다.
답변
OpenSolaris (또는 다른 OS의 경우 Linux 대신 BSD 중 하나를 시도)에서 getent 소스를 찾아 내서 포팅하는 것은 로켓 과학이 아닙니다. macOS가 가지고 있지 않은 것들 (넷 마스크 및 프로젝트-Solaris 특정)을 비활성화하여 주로 작동하도록했습니다. 또는 펄로 상당히 쉽게 쓸 수 있습니다. 누군가가 오래 전에 한 가지를 제한했고 더 완전한 것을 한 적이 있습니다. 펄에서 표준 조회가 없기 때문에 에테르를 지원하지 않지만 나머지는 정상적으로 작동하는 것 같습니다.