Perché hanno fatto questo cambiamento, non lo so, ma mi ha fatto impazzire per un po '.
Non so sapere perché le cose funzionano per l'host, ma non per il ping, ma io penso che ha a che fare con la natura di queste due utilità. Ping è un'utilità di diagnostica semplice (anche se molto utile) per far cadere i pacchetti sul filo che dovrebbero essere restituiti a te. La funzionalità di ricerca del nome host è solo un effetto collaterale del lavoro e passata al risolutore ricorsivo del sistema (credo - non ho verificato controllando le librerie collegate o qualcosa del genere). Il compito principale dell'host è di fare la risoluzione dei nomi DNS, quindi implementa il proprio risolutore ricorsivo.
Il resolver ricorsivo di Apple è mDNSResponder. Per qualche ragione, la versione di mDNSResponder in Lion richiede l'opzione della riga di comando "-AlwaysAppendSearchDomains" per comportarsi come ha fatto in Snow Leopard (almeno).
Ecco un modo rapido per risolverlo:
sudo sed -i .orig '/ProgramArguments/,/<\/array>/ {
s/\(<string>-launchd<\/string>\)/\
<string>-AlwaysAppendSearchDomains<\/string>/
}' /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist
(Dovrebbero esserci due caratteri di tabulazione all'inizio della penultima riga sopra, ma non sono riuscito a capire come ottenere questo piccolo editor per inserire le tabulazioni, quindi ho aggiunto 16 spazi. ma le schede si adattano meglio alla spaziatura del file originale.)
Questo aggiungerà l'argomento "-AlwaysAppendSearchDomains" al file plist di avvio mDNSResponder (e salverà una copia di backup), ma poiché questo è controllato da launchd, quel sistema deve essere avvisato di riavviare mDNSResponder.
sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist
sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist
Ora, se controlli il tuo processo mDNSResponder in esecuzione, dovresti vederlo in esecuzione con il tuo nuovo argomento:
ps auxww | grep mDNSResponder
(Puntata su link e link , dove ho trovato le mie risposte a questo problema.)