그들이 왜 이런 변화를했는지 모르겠지만, 한동안 나를 미치게했습니다.
왜 호스트가 작동하지만 핑은 작동 하지 않는지 모르겠지만 이 두 유틸리티의 특성과 관련이 있다고 생각 합니다. 핑 (Ping)은 패킷을 다시 전송 해 줄 수있는 간단하고 매우 유용한 진단 유틸리티입니다. 호스트 이름 조회 기능은 작업의 부작용 일 뿐이며 시스템의 재귀 적 리졸버에게 전달됩니다 (링크 된 라이브러리 나 그런 종류의 항목을 확인하여 확인하지 않은 것 같습니다). 호스트의 주요 임무는 DNS 이름 확인을 수행하는 것이므로 자체 재귀 해결 프로그램을 구현합니다.
애플의 재귀 해결자는 mDNSResponder입니다. 어떤 이유로 Lion의 mDNSResponder 버전은 Snow Leopard에서와 같이 동작하려면 "-AlwaysAppendSearchDomains"명령 줄 옵션이 필요합니다.
이를 해결하는 빠른 방법은 다음과 같습니다.
sudo sed -i .orig '/ProgramArguments/,/<\/array>/ {
s/\(<string>-launchd<\/string>\)/\1\
<string>-AlwaysAppendSearchDomains<\/string>/
}' /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist
(위의 마지막 두 줄부터 시작하여 두 개의 탭 문자가 있어야하지만이 작은 편집기로 탭을 삽입하는 방법을 알 수 없으므로 16 개의 공백을 추가했습니다. 작동하지만 탭은 작동합니다. 원본 파일의 간격을 더 잘 맞 춥니 다.)
이렇게하면 "-AlwaysAppendSearchDomains"인수가 mDNSResponder 시작 plist 파일에 추가되고 백업 사본을 저장하지만 실행에 의해 제어되므로 mDNSResponder를 다시 시작하도록 시스템에 지시해야합니다.
sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist
sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist
이제 실행중인 mDNSResponder 프로세스를 확인하면 새 인수로 실행중인 것을 볼 수 있습니다.
ps auxww | grep mDNSResponder
( http://www.makingitscale.com/2011/fix-for-broken-search-domain-resolution-in-osx-lion.html 및 http://kavassalis.com/2011/07/wtf-bug로 진행합니다. -in-os-x-10-7 / 에서이 문제에 대한 답변을 찾았습니다.)