Почему они сделали это изменение, я не знаю, но какое-то время это сводило меня с ума.
Я не знаю, почему все работает для хоста, но не для ping, но я думаю, что это связано с природой этих двух утилит. Ping - простая (хотя и очень полезная) диагностическая утилита для отбрасывания пакетов по проводам, которые должны быть возвращены вам. Функциональность поиска имени хоста является лишь побочным эффектом задания и передается рекурсивному распознавателю системы (я полагаю - я не проверял, проверяя связанные библиотеки или что-то в этом роде). Основная задача хоста - выполнять разрешение имен DNS, поэтому он реализует собственный рекурсивный распознаватель.
Рекурсивный распознаватель Apple - это mDNSResponder. По какой-то причине версии mDNSResponder в Lion требуется параметр командной строки -AlwaysAppendSearchDomains, который будет вести себя так же, как в Snow Leopard (по крайней мере).
Вот быстрый способ это исправить:
sudo sed -i .orig '/ProgramArguments/,/<\/array>/ {
s/\(<string>-launchd<\/string>\)/\1\
<string>-AlwaysAppendSearchDomains<\/string>/
}' /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist
(В начале последней строки должно быть два символа табуляции, но я не мог понять, как заставить этот маленький редактор вставлять вкладки, поэтому я добавил 16 пробелов. Любой из них должен работать, но вкладки лучше подгонять интервал исходного файла.)
Это добавит аргумент «-AlwaysAppendSearchDomains» в файл plist для запуска mDNSResponder (и сохранит резервную копию), но, поскольку это управляется launchd, этой системе необходимо указать перезапустить 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 / , где я нашел свои ответы на эту проблему.)