Warum sie diese Änderung vorgenommen haben, weiß ich nicht, aber es hat mich für eine Weile verrückt gemacht.
Ich weiß nicht , warum die Dinge für Host funktionieren, aber nicht für Ping, aber ich denke , das hängt mit der Art dieser beiden Dienstprogramme zusammen. Ping ist ein einfaches (wenn auch sehr hilfreiches) Diagnosedienstprogramm zum Verwerfen von Paketen, die an Sie zurückgesendet werden sollen. Die Suchfunktion für Hostnamen ist nur ein Nebeneffekt des Jobs und wird an den rekursiven Resolver des Systems weitergeleitet (ich glaube - ich habe keine Überprüfung durch Überprüfen verknüpfter Bibliotheken oder ähnlicher Elemente durchgeführt). Die Hauptaufgabe des Hosts besteht in der DNS-Namensauflösung. Daher wird ein eigener rekursiver Resolver implementiert.
Apples rekursiver Resolver ist mDNSResponder. Aus irgendeinem Grund benötigt die Version von mDNSResponder in Lion die Befehlszeilenoption "-AlwaysAppendSearchDomains", um sich wie in Snow Leopard zu verhalten (mindestens).
Hier ist ein schneller Weg, um das Problem zu beheben:
sudo sed -i .orig '/ProgramArguments/,/<\/array>/ {
s/\(<string>-launchd<\/string>\)/\1\
<string>-AlwaysAppendSearchDomains<\/string>/
}' /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist
(Am Anfang der vorletzten Zeile sollten zwei Tabulatorzeichen stehen, aber ich konnte nicht herausfinden, wie dieser kleine Editor Tabulatoren einfügt. Deshalb habe ich 16 Leerzeichen hinzugefügt. Entweder sollte funktionieren, aber die Tabulatoren Passen Sie den Abstand der Originaldatei besser an.)
Dadurch wird das Argument "-AlwaysAppendSearchDomains" zur Start-Plist-Datei von mDNSResponder hinzugefügt (und eine Sicherungskopie gespeichert). Da dies jedoch von launchd gesteuert wird, muss das System angewiesen werden, mDNSResponder neu zu starten.
sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist
sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist
Wenn Sie nun überprüfen, ob der mDNSResponder-Prozess ausgeführt wird, sollte er mit Ihrem neuen Argument ausgeführt werden:
ps auxww | grep mDNSResponder
(Siehe http://www.makingitscale.com/2011/fix-for-broken-search-domain-resolution-in-osx-lion.html und http://kavassalis.com/2011/07/wtf-bug -in-os-x-10-7 / , wo ich meine Antworten auf dieses Problem gefunden habe.)